解释神经网络中的初始化方法,如 Xavier 初始化、He 初始化
在训练神经网络时,权重的初始化是一个至关重要但又常常被忽视的步骤。不恰当的初始化方法可能导致训练过程非常缓慢,甚至完全失败(例如梯度消失或梯度爆炸)。理想的初始化方法旨在帮助模型更快、更稳定地收敛。本文将重点解释两种广泛应用且效果显著的初始化方法:Xavier (Glorot) 初始化和 He (Kaiming) 初始化。
为什么权重初始化如此重要?
-
打破对称性 (Breaking Symmetry): 如果所有权重都初始化为相同的值(例如全零),那么网络中同一层的所有神经元在每次迭代中都会学习到相同的特征,因为它们接收相同的输入并进行相同的计算,梯度也相同。这使得多个神经元变得冗余,大大降低了模型的学习能力。随机初始化可以打破这种对称性。
-
避免梯度消失与梯度爆炸 (Avoiding Vanishing/Exploding Gradients):
- 梯度消失: 在深层网络中,如果权重过小,梯度在通过多层反向传播时会逐层指数级衰减,导致靠近输入层的权重几乎不更新,模型难以学习。这在 Sigmoid 或 Tanh 等饱和激活函数中尤为常见。
- 梯度爆炸: 相反,如果权重过大,梯度在反向传播时会逐层指数级增大,导致权重更新过大,训练过程不稳定,甚至出现 NaN 值。