零初始化
将参数全部初始化为 0
- 常见于传统 ML(比如 SVM 或逻辑回归),一般不适用于神经网络的训练
- 神经网络需要一定的随机性来打破对称性(Symmetry breaking)
随机初始化
从均值为 $\mu$ (通常为 0)和方差为 $\sigma^2$ 的分布中随机采样
- 如果方差过小,会导致神经元的输出过小,经过多层之后信号慢慢消失了;还会使 Sigmoid 型激活函数丢失非线性能力;
- 如果方差过大,会导致神经元的输出过大,还会使 Sigmoid 型激活函数进入饱和区,产生 vanishing gradient
- 随机初始化一般考虑正态分布 $N(0,\sigma^2)$ 或均匀分布 $U(\mu-\sqrt{x}\sigma,\mu+\sqrt{x}\sigma)$
稀疏初始化
将权重矩阵中的大部分元素置为 0,从而实现稀疏性
Xavier 初始化
Xavier 初始化是由 Xavier Glorot 提出的,因此也称为 Glorot 初始化。该初始化方法假设参数的初始化均值为 0,根据每层的神经元数量来自动计算初始化参数的方差。
- Xavier+正态分布:$N(0,\sqrt{2/(n_{t-1},n_t)})$
- Xavier+均匀分布:$U(-\sqrt{6/(n_{t-1},n_t)},\sqrt{6/(n_{t-1},n_t)})$
Paper:Understanding the difficulty of training deep feedforward neural networks
也可以参阅《动手学深度学习》中的解释: 8.2 提高模型稳定性
Kaiming 初始化
#待补充
正交初始化
恒等初始化
ZerO 初始化
模仿初始化
参考: https://0809zheng.github.io/2020/03/05/initialization.html