爲什麼深層神經網絡難以訓練

Chapter5 爲什麼深層神經網絡難以訓練

Intuitively we’d expect networks with many more hidden layers to be more powerful.
原文鏈接:http://neuralnetworksanddeeplearning.com/chap5.html

一、消失的梯度

圖片名稱

這些條表示了每個神經元上的dC/db,也就是代價函數關於神經元的偏差更變的速率(作爲學習速率的一種衡量)。

圖片名稱

前面的隱藏層的學習速度要低於後面的隱藏層(hard to train),這個現象也被稱作是消失的梯度問題(vanishing gradient problem)。

二、神經網絡中的梯度不穩定性

1.梯度消失問題

極簡單的深度神經網絡(3個隱藏層):
簡單深度神經網絡結構
分析可得:

除了最後一項,該表達式是一系列形如 wjσ(zj) 的乘積。爲了理解每個項的行爲,畫出 σ(z) 圖像如下:
這裏寫圖片描述

導數最大值: σ(0)=1/4 ,初始化權重:|wj|<1 ;則|wjσ(zj)|<1/4
這裏寫圖片描述

wjσ(zj) 的存在就是梯度消失問題的本質原因。

2.梯度爆炸問題

權重 wj 在訓練中如果增長,|wjσ(zj)|<1/4 可能不再滿足。事實上,如果項變得很大(超過1),這時候梯度會在我們 BP 的時候發生指數級地增長。

3.梯度的不穩定性

根本的問題其實並非是消失的梯度問題或者爆炸的梯度問題,而是在前面的層上的梯度是來自後面的層上項的乘積。
所以,如果我們使用標準的基於梯度的學習算法,在網絡中的不同層會出現按照不同學習速度學習的情況。

三、更復雜網絡的不穩定梯度

每層包含很多神經元的更加複雜的深度神經網絡:

這裏寫圖片描述

實際上,在這樣的神經網絡中,同樣的情況也會發生,一個共 L 層的第 l 層的梯度:

δl=Σ(zl)(wl+1)TΣ(zl+1)(wl+2)TΣ(zL)aC
其中 Σ(zl) 是個對角矩陣,每個元素是對第 l 層的帶權輸入 σ(z)
本質上的形式還是跟簡單深層神經網絡很相似的:主要是包含了 (wj)TΣ(zj) ,矩陣 Σ(zj) 在對角線上的值挺小,不會超過 1/4。由於權值矩陣 wj 不是太大,每個額外的項 (wj)Tσ(zl) 會讓梯度向量更小,導致梯度消失。

四、深度學習其他的障礙

實際上,不穩定梯度僅僅是深度學習的衆多障礙之一。

  • 在 2010 年 Glorot 和 Bengio 發現證據表明 sigmoid 函數的選擇會導致訓練網絡的問題
  • 在 2013 年 Sutskever, Martens, Dahl 和 Hinton 研究了深度學習使用隨機權重初始化和基於 momentum 的 SGD 方法。兩種情形下,好的選擇可以獲得較大的差異的訓練效果。
  • ……

我們已經集中於深度神經網絡中基於梯度的學習方法的不穩定性。結果表明了激活函數的選擇,權重的初始化,甚至是學習算法的實現方式也扮演了重要的角色。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章