参数初始化

零初始化

将参数全部初始化为 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

往年同期文章