「機器學習」權重初始化的幾個方法

我們知道,神經網絡的訓練大體可以分為下面幾步:

  1. 初始化 weights 和 biases
  2. 前向傳播,用 input X, weights W ,biases b, 計算每一層的 Z 和 A,最後一層用 sigmoid, softmax 或 linear function 等作用 A 得到預測值 Y
  3. 計算損失,衡量預測值與實際值之間的差距
  4. 反向傳播,來計算損失函數對 W, b 的梯度 dW ,db,
  5. 然後通過隨機梯度下降等算法來進行梯度更新,重複第二到第四步直到損失函數收斂到最小。

其中第一步 權重的初始化 對模型的訓練速度和準確性起著重要的作用,所以需要正確地進行初始化。


下面兩種方式,會給模型的訓練帶來一些問題。

1. 將所有權重初始化為零

會使模型相當於是一個線性模型,因為如果將權重初始化為零,那麼損失函數對每個 w 的梯度都會是一樣的,這樣在接下來的迭代中,同一層內所有神經元的梯度相同,梯度更新也相同,所有的權重也都會具有相同的值,這樣的神經網絡和一個線性模型的效果差不多。(將 biases 設為零不會引起多大的麻煩,即使 bias 為 0,每個神經元的值也是不同的。)

2. 隨機初始化

將權重進行隨機初始化,使其服從標準正態分佈 ( np.random.randn(size_l, size_l-1) )

在訓練深度神經網絡時可能會造成兩個問題,梯度消失和梯度爆炸。

  • 梯度消失

是指在深度神經網絡的反向傳播過程中,隨著越向回傳播,權重的梯度變得越來越小,越靠前的層訓練的越慢,導致結果收斂的很慢,損失函數的優化很慢,有的甚至會終止網絡的訓練。

解決方案有:

- Hessian Free Optimizer With Structural Dumping,

- Leaky Integration Units,

- Vanishing Gradient Regularization,

- Long Short-Term Memory,

- Gated Recurrent Unit,

- Orthogonal initialization

  • 梯度爆炸

和梯度消失相反,例如當你有很大的權重,和很小的激活函數值時,這樣的權重沿著神經網絡一層一層的乘起來,會使損失有很大的改變,梯度也變得很大,也就是 W 的變化(W - * dW)會是很大的一步,這可能導致在最小值周圍一直振盪,一次一次地越過最佳值,模型可能一直也學不到最佳。爆炸梯度還有一個影響是可能發生數值溢出,導致計算不正確,出現 NaN,loss 也出現 NaN 的結果。

解決方案有:

- Truncated Backpropagation Through Time (TBPTT),

- L1 and L2 Penalty On The Recurrent Weights,

- Teacher Forcing,

- Clipping Gradients,

- Echo State Networks

關於梯度消失請看 梯度消失問題與如何選擇激活函數


梯度消失和爆炸的應對方案有很多,本文主要看權重矩陣的初始化

對於深度網絡,我們可以根據不同的非線性激活函數用不同方法來初始化權重。

也就是初始化時,並不是服從標準正態分佈,而是讓 w 服從方差為 k/n 的正態分佈,其中 k 因激活函數而不同。這些方法並不能完全解決梯度爆炸/消失的問題,但在很大程度上可以緩解。

  • 對於 RELU(z),用下面這個式子乘以隨機生成的 w,也叫做 He Initialization:
「機器學習」權重初始化的幾個方法

機器學習

  • 對於 tanh(z),用 Xavier 初始化方法,即用下面這個式子乘以隨機生成的 w,和上一個的區別就是 k 等於 1 而不是 2。
「機器學習」權重初始化的幾個方法

機器學習

在 TensorFlow 中:

W = tf.get_variable('W', [dims], tf.contrib.layers.xavier_initializer())

  • 還有一種是用下面這個式子乘以 w:
「機器學習」權重初始化的幾個方法

機器學習

上面這幾個初始化方法可以減少梯度爆炸或消失, 通過這些方式,w 既不會比 1 大很多,也不會比 1 小很多,所以梯度不會很快地消失或爆炸,可以避免收斂太慢,也不會一直在最小值附近震盪。


學習資料:

https://medium.com/usf-msds/deep-learning-best-practices-1-weight-initialization-14e5c0295b94

https://www.leiphone.com/news/201703/3qMp45aQtbxTdzmK.html


分享到:


相關文章: