概念界定
参数初始化是训练开始前为模型权重设置初始值的方法。初始化会影响激活尺度、梯度传播和训练稳定性,尤其在深层网络和大模型中非常重要。
背景与问题
如果初始化尺度过大,激活和梯度可能爆炸;如果尺度过小,信号可能迅速衰减。深层 Transformer 需要合理初始化,才能在训练初期保持数值稳定。
结构与机制
常见初始化会根据输入输出维度控制权重方差,例如:
Var(W) 与 fan_in / fan_out 相关目标是让前向激活和反向梯度在层间保持合适尺度。
直观解释
初始化像是给训练选一个起点。好的起点不会直接给出好模型,但能让优化过程一开始不至于数值失控。
基本性质
- 初始化影响早期训练稳定性。
- 初始化需要与激活函数、归一化和残差结构配合。
- 大模型常使用特定初始化缩放策略来适应深层结构。
- 初始化不是越大或越随机越好。
常见误解
- 误解:有了 Adam,初始化就不重要。
- 正确理解:优化器不能完全修复不合理初始化导致的尺度问题。
- 误解:所有层都应该用同样尺度初始化。
- 正确理解:不同层、残差路径和输出层可能需要不同初始化策略。