A Weight Value Initialization Method for Improving Learning Performance of the Backpropagation Algorithm in Neural Networks
Shimodaira H. and Ltd N. M. C. A weight value initialization method for improving learning performance of the backpropagation algorithm in neural networks.
概
考虑
\[f(x) = \sigma (\sum_{i=1}^n w_i x_i + w_0)
\]
的权重初始, 其中
\[\sigma(z) = \frac{1}{1 + \exp(-z)}.
\]
主要内容
Sigmoid是典型的两侧饱和的激活函数, 作者希望最开始的激活函数前的输入是在非饱和区域的,
从而能够避免梯度过小导致训练不易的问题. 不妨假设, 我们希望最后的输出落在\([\epsilon, 1 - \epsilon], 0 < \epsilon < 0.5\)区域内.
则对应的激活函数前的输入\(z\)应当满足:
\[z \in [f^{-1}(\epsilon), f^{-1}(1 - \epsilon)],
\]
对应的是区域是
\[\sum_{i=1}^n w_i x_i + w_0 = f^{-1}(\epsilon) \\
\sum_{i=1}^n w_i x_i + w_0 = f^{-1}(1 - \epsilon)
\]
超平面之间的区域. 此区域的宽度为
\[d = \frac{| f^{-1}(1 - \epsilon) - f^{-1}(\epsilon) |}{(\sum_{i=1}^n w_i^2)^{\frac{1}{2}}}.
\]
显然
\[\bar{w}^2 := \frac{1}{n} \sum_{i=1}^n w_i^2
\]
决定了这个宽度, 越小对应的宽度越大, 我们可以通过此属性来调整所需的宽度(作者认为恰好覆盖输入的是最好的).
那么可以根据如下步骤构建权重:
- 给定 \(\bar{w}^2\) 和 参数 \(\gamma\);
- 为了保证权重满足
\[\bar{w}^2 (1 - \gamma) \le w_i^2 \le \bar{w}^2 (1 + \gamma),
\]
随机选择
\[-\gamma \le \alpha_i \le \gamma, \: i = 1, 2, \cdots, n;
\]
- 令
\[w_i = \bar{w}\sqrt{\alpha_i + 1}.
\]
注: 文中\(w_0 = -0.5\sum_{i=1}^n w_i\)以保证非饱和区域的中心和输入的中心是一致的.