Xavier初始化由Xavier Glorot和Yoshua Bengio提出,旨在解决深度神经网络中前向和反向传播的梯度消失/爆炸问题。其核心思想是通过调整权重初始化的方差,使各层激活值和梯度的方差在传播过程中保持稳定,适用于Sigmoid、Tanh等近似线性的激活函数。
1. 核心假设
-
线性激活假设:激活函数在原点附近近似线性(如Sigmoid在0点附近、Tanh在0点附近),。
-
独立同分布:权重和输入数据独立且均值为0。
因为和独立且均值为,因此,因此:
&= E(X^2)E(Y^2) - E(X)^2E(Y)^2 \ &= E(X^2)E(Y^2) \end{aligned}$$
&= E(X^2)E(Y^2)-E(X)^2E(Y^2)-E(X^2)E(Y)^2+E(X)^2E(Y)^2 \ &= E(X^2)E(Y^2) \end{aligned}$$
所以。
- 对称性假设:激活前的输入分布对称(如高斯分布)。
2. 前向传播的方差分析
设全连接层的输入为 ,权重矩阵 ,输出为 ,激活后为 。
-
线性变换的方差:
若权重 的方差为 ,则输出的方差为:
输出的分布比输入的分布缩放了,我们希望输入和输出的分布差不多。
-
保持方差稳定:
为使 ,需满足:
3. 反向传播的方差分析
设损失函数对激活值的梯度为,反向传播的梯度为:
-
反向传播的方差:
若梯度 的方差为 ,则输入的梯度方差为:
-
保持梯度方差稳定:
为使 ,需满足:
4. 方差约束的调和平均
前向传播要求 ,反向传播要求 。Xavier采用两者的调和平均:
5. 初始化公式
-
正态分布:
权重从 采样。 -
均匀分布:
权重在 内均匀采样。
6. 针对卷积层的扩展
对于卷积层,输入维度 和输出维度 定义为:
直接代入公式 。
7. 与He初始化的对比
| 特性 | Xavier初始化 | He初始化 |
|---|---|---|
| 适用激活函数 | Sigmoid、Tanh(近似线性) | ReLU、Leaky ReLU(非线性) |
| 方差约束 | ||
| 反向传播分析 | 同时考虑前向和反向传播 | 主要针对前向传播优化 |
| 激活函数方差修正 | 无(假设近似线性) | 修正ReLU的方差衰减 |
8. 总结
-
优点:
- 显著缓解了梯度消失/爆炸问题,适用于浅层网络和Sigmoid/Tanh激活函数。
-
局限性:
- 对ReLU等非线性激活函数效果较差(需使用He初始化)。
- 深层网络中调和平均可能不够鲁棒。