每天一个芝士点

神经网络权重初始化(weight initialization)

2020-05-21  本文已影响0人  抄书侠

Rumelhart等人把全部的权重都初始化相等的值,发现权重成组移动且保持对称性。此时神经网络无法训练得很好,所以Rumelhart进一步提出随机权重初始化方法。初始化权重的值从[-\delta,\delta]中均匀选择。Xaiver和He模权重初始化方法自它们提出以来就被广泛使用。

Xaiver初始化

权重从(-\frac{6}{n_i+n_j},\frac{6}{n_i+n_j})的均匀分布随机选择,其中n_i是神经网络该层输入的连接数,n_j是输出的连接数。
Xaiver论文的目标是帮助理解为什么随机初始化的标准的梯度下降在深层神经网络表现那么差。它们研究表明logistic sigmoid activation不适用于随机初始化的深度神经网络。在训练的早期阶段会导致初始层饱和。他们还发现通过适当的初始化,饱和单元可以自行脱离饱和。
为了找到更好的初始化权重值,他们将每一层的方差均等化。每一层的输入和输出的方差相等,因此单层的输入和输出之间不会损失太多方差。有了这个想法,找到的解决方案是初始化权重值的范围
U[(-\frac{6}{n_i+n_j},\frac{6}{n_i+n_j})]
其中n_i是神经网络输入连接的数目,n_j是输出的连接数,U是随机均匀分布。

He normal初始化

当讨论以ReLU为激活函数的很深的神经网络时,他们发现如果权重随机从
N[(-\frac{6}{n_i*(1+a^2)},\frac{6}{n_i*(1+a^2)})]选择,其中n_i是网络输入的连接数,a是PReLU函数的参数,N是正态分布,网络会训练的快一些。初始化能帮助更快得到目标函数的全局最小值。这种方法和Xaiver很像,但是它在向前和向后传播都做了。这就是为什么这种方法比起Xaiver能更快减小误差。

上一篇下一篇

猜你喜欢

热点阅读