如何:深度神经网络权重初始化

数据挖掘 机器学习 神经网络 深度学习 随机算法
2021-10-07 07:24:57

鉴于困难的学习任务(例如高维、固有的数据复杂性),深度神经网络变得难以训练。为了缓解许多问题,可以:

  1. 规范化 && 精选质量数据
  2. 选择不同的训练算法(例如 RMSprop 而不是梯度下降)
  3. 选择一个更陡峭的梯度成本函数(例如交叉熵而不是 MSE)
  4. 使用不同的网络结构(例如卷积层而不是前馈)

我听说有一些聪明的方法可以初始化更好的权重。例如,您可以更好地选择震级:Glorot and Bengio (2010)

  • 对于 sigmoid 单元:使用Uniform (-r, r)采样r=6Nin+Nout
  • 或双曲正切单位:使用Uniform (-r, r)采样r=46Nin+Nout

有没有更好的初始化权重的一致方法?

1个回答

据我所知,您给出的两个公式几乎是标准初始化。前段时间我做了一篇文献综述,如果有兴趣,我将其复制在下面。


[1] 解决了这个问题:

首先,为了在反向传播时打破对称性,不应将权重设置为零:

偏差通常可以初始化为零,但需要仔细初始化权重以破坏同一层隐藏单元之间的对称性。因为不同的输出单元接收不同的梯度信号,这个对称性破坏问题不涉及输出权重(进入输出单元),因此也可以设置为零。

一些初始化策略:

  • [2] 和 [3] 建议按扇入平方根的倒数进行缩放
  • Glorot 和 Bengio (2010) 以及深度学习教程使用了扇入和扇出的组合:
    • 对于 sigmoid 单元:使用 Uniform(-r, r) 采样 r=6fan-in+fan-out (扇入是单元的输入数量)。
    • 对于双曲正切单位:使用 Uniform(-r, r) 采样 r=46fan-in+fan-out (扇入是单元的输入数量)。
  • 在 RBM 的情况下,具有大约 0.1 或 0.01 的小标准偏差的零均值高斯函数可以很好地初始化权重(Hinton,2010)。
  • 正交随机矩阵初始化,即W = np.random.randn(ndim, ndim); u, s, v = np.linalg.svd(W)然后u用作您的初始化矩阵。

此外,在某些情况下,无监督的预训练可能会有所帮助:

一个重要的选择是是否应该使用无监督预训练(以及使用哪种无监督特征学习算法)来初始化参数。在大多数情况下,我们发现无监督的预训练会有所帮助,但很少会造成伤害,但这当然意味着额外的训练时间和额外的超参数。

一些 ANN 库也有一些有趣的列表,例如Lasagne

Constant([val]) Initialize weights with constant value.
Normal([std, mean]) Sample initial weights from the Gaussian distribution.
Uniform([range, std, mean]) Sample initial weights from the uniform distribution.
Glorot(initializer[, gain, c01b])   Glorot weight initialization.
GlorotNormal([gain, c01b])  Glorot with weights sampled from the Normal distribution.
GlorotUniform([gain, c01b]) Glorot with weights sampled from the Uniform distribution.
He(initializer[, gain, c01b])   He weight initialization.
HeNormal([gain, c01b])  He initializer with weights sampled from the Normal distribution.
HeUniform([gain, c01b]) He initializer with weights sampled from the Uniform distribution.
Orthogonal([gain])  Intialize weights as Orthogonal matrix.
Sparse([sparsity, std]) Initialize weights as sparse matrix.

[1] 本吉奥,约书亚。基于梯度的深度架构训练的实用建议。 ”神经网络:交易技巧。施普林格柏林海德堡,2012. 437-478。

[2] LeCun, Y.、Bottou, L.、Orr, GB 和 Muller, K. (1998a)。高效的反向传播。在神经网络中,交易技巧

[3] 格洛罗特、泽维尔和约书亚·本吉奥。了解训练深度前馈神经网络的难度。” 人工智能与统计国际会议。2010 年。