跳转至

权重初始化

概述

不同初始化方式介绍

Xavier初始化

  • 假定没有非线性的全连接层,输出为\(o_i\),输入为\(x_j\),输入维度为\(n_{in}\),权重为\(w_{ij}\),易知\(O_i = \sum_{j=1}^{n_{in}}w_{ij} x_j\),进一步假定\(w_{ij}\)都是从同一分布中独立抽取,均值为0,方差为\(\sigma ^ 2\)。同时假定\(x_j\)均值也为0,方差为\(\gamma ^2\),且与\(w_{ij}\)相互独立。则可得\(o_i\)的均值和方差分别为: $$ \begin{aligned} E[o_i] & = \sum_{j=1}^{n_\mathrm{in}} E[w_{ij} x_j] \ &= \sum_{j=1}^{n_\mathrm{in}} E[w_{ij}] E[x_j] \ &= 0, \ \mathrm{Var}[o_i] & = E[o_i^2] - (E[o_i])^2 \ & = \sum_{j=1}^{n_\mathrm{in}} E[w^2_{ij} x^2_j] - 0 \ & = \sum_{j=1}^{n_\mathrm{in}} E[w^2_{ij}] E[x^2_j] \ & = n_\mathrm{in} \sigma^2 \gamma^2. \end{aligned} $$ 因此若要经过变换之后分布的方差不变,则需要满足\(n_{in} \gamma ^ 2 = 1\)
  • 现在考虑反向传播过程,只有当\(n_{out} \sigma ^ 2 = 1\)时,梯度的方差才不会进一步增大。但是我们无法同时满足两个条件,Xavier初始化采取了一个折中方案:初始化权重方差为\(\sigma^2 = \frac{2}{n_{in} + n_{out}}\)。一般采用高斯分布或者均匀分布,其中均匀分布值域为\(U(-\sqrt{\frac{6}{n_{in} + n_{out}}}, \sqrt{\frac{6}{n_{in} + n_{out}}})\)