type
status
date
slug
summary
tags
category
icon
password
始化方案的选择在神经网络学习中起着举足轻重的作用, 它对保持数值稳定性至关重要。
4.8.1 梯度消失和梯度爆炸
梯度的计算量很大,很因为数值带来很多不确定性,影响到算法的稳定性
- 梯度爆炸:参数更新过大,破坏了模型的稳定收敛
- 梯度消失:参数更新过小,每次更新几乎不移动,导致无法学习
4.8.1.1 梯度消失
sigmoid 函数是仿照神经元设计:要么完全激活、要么完全不激活
但是,它会导致梯度消失

当 sigmoid 的输入很大或者很小时,梯度都会消失
此外,在反向传播通过许多层时,梯度可能会消失
因此,更稳定的 ReLU 成为更优解
4.8.1.2 梯度爆炸
就是相乘后太大了
当这种情况是由于深度网络的初始化所导致时,我们没有机会让梯度下降优化器收敛。
4.8.1.3 打破对称性
假设我们有一个简单的两层神经网络:
• 输入层 → 隐藏层(2个神经元) → 输出层(1个神经元)。
• 记第一层的权重矩阵为 W^{(1)},它决定输入如何传递到隐藏层。
如果隐藏层的两个神经元完全对称(即具有相同的初始参数),那么它们会:
1. 接收相同的输入。
2. 应用相同的权重进行计算(因为权重矩阵的所有值都一样)。
3. 得到相同的激活值。
4. 反向传播计算出的梯度也完全一样。
由于梯度计算是对称的,每次迭代时两个隐藏单元的更新量完全相同,即:
因此,它们的参数永远保持相同,网络就像只有一个隐藏单元一样,失去了学习复杂表示的能力。
虽然小批量随机梯度下降不会打破这种对称性,但暂退法正则化可以
4.8.2 参数初始化
可以借助参数初始化减轻上述问题
4.8.2.1 默认初始化
先前我们指定的是使用正态分布进行初始化,若不指定的话,会采用默认的初始化方法
4.8.2.2 Xavier 初始化
这里我没太看懂,缺一些数理统计、概率论的知识
1. 目的
• 让神经网络的 前向传播 和 反向传播 过程中 保持方差稳定,避免梯度消失或爆炸。
2. 公式
• Xavier 初始化的权重服从:
或
其中:
• 是该层的输入神经元数
• 是该层的输出神经元数
3. 直观理解
• 如果输入神经元多 → 权重要小,避免输出过大(数值爆炸)。
• 如果输入神经元少 → 权重可以大一些,避免输出趋近于 0(梯度消失)。
4. 适用范围
• 适用于 Sigmoid / Tanh 激活函数,能有效保持梯度稳定。
• ReLU 更推荐使用 Kaiming(He)初始化。
5. 关键点
• 既保证 前向传播 的方差不变,又保证 反向传播 的梯度稳定。
• 让神经网络的信息流动更加平稳,提高训练效果。
4.8.3 小结
- 梯度消失和梯度爆炸是深度网络中常见的问题。在参数初始化时需要非常小心,以确保梯度和参数可以得到很好的控制。
- 需要用启发式的初始化方法来确保初始梯度既不太大也不太小。
“启发式”初始化方法(heuristic initialization)指的是基于经验和实验得出的规则,而非严格的数学推导
- ReLU激活函数缓解了梯度消失问题,这样可以加速收敛。
- 随机初始化是保证在进行优化前打破对称性的关键。
- Xavier初始化表明,对于每一层,输出的方差不受输入数量的影响,任何梯度的方差不受输出数量的影响。
- 作者:昊卿
- 链接:hqhq1025.tech/article/1b3a897c-9da0-804a-9930-d96c58d1d1bf
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。