type
status
date
slug
summary
tags
category
icon
password
始化方案的选择在神经网络学习中起着举足轻重的作用, 它对保持数值稳定性至关重要。

4.8.1 梯度消失和梯度爆炸

梯度的计算量很大,很因为数值带来很多不确定性,影响到算法的稳定性
  • 梯度爆炸:参数更新过大,破坏了模型的稳定收敛
  • 梯度消失:参数更新过小,每次更新几乎不移动,导致无法学习

4.8.1.1 梯度消失

sigmoid 函数是仿照神经元设计:要么完全激活、要么完全不激活
但是,它会导致梯度消失
notion image
当 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初始化表明,对于每一层,输出的方差不受输入数量的影响,任何梯度的方差不受输出数量的影响。
 
4.9 环境和分布偏移4.7 前向传播、反向传播和计算图
Loading...
昊卿
昊卿
一个普通的干饭人🍚
最新发布
5.2 参数管理
2025-3-11
5.1 层和块
2025-3-11
4.9 环境和分布偏移
2025-3-11
4.8 数值稳定性和模型初始化
2025-3-11
4.7 前向传播、反向传播和计算图
2025-3-11
4.6 暂退法 (Dropout)
2025-3-11