paper read weekly(six)

本週基本沒時間看論文了,一直在搬磚。。。

不過這周倒是看了一波hinton對BP算法的反思的各種解讀。這自是引起了很多的關注,但不可否認BP算法目前爲止真的很work,所以想好好回顧下BP算法。
來來來,接下來我們就來推導推導:
這裏寫圖片描述

  • 首先來看看最後一個hidden layer到輸出層的梯度計算:

這裏寫圖片描述

  • 中間層的梯度計算:

這裏寫圖片描述

  • 鏈接輸出的第一個hidden layer的梯度計算:

這裏寫圖片描述

上述方程式中由最後一層的權重更新梯度最簡單,而前面層級的更新梯度則需要向前推導,這一推導的過程借用鏈式法則可以很容易的求解了。

這裏寫圖片描述

但我們知道,在CNN中,本層的輸入是上一層的多個輸入,一如下圖所示:

這裏寫圖片描述

可以看到,梯度計算依然是反向傳播,無論是單輸入還是多輸入。

這裏寫圖片描述

接下來我們來看看多個輸出的情況。

這裏寫圖片描述

你看吧,手推公式真的很爽啊~~~~可以看到,具有多個輸出的神經元權重更新依賴於所有可能路徑上的導數。

這裏寫圖片描述

在反向傳播的過程中,最方便的是計算神經網絡輸出端的誤差,我們會把這一誤差反向傳播並且沿着反向路徑加權。當我們傳播到了一個神經元,可以將經權重反向傳播過來的誤差乘以神經元的導數,然後就可以同樣的方式反向傳播誤差,一直追溯到輸入端,這就是BP的思想了。

手推有利於理解BP,但隨着中間層的加深,需要有更簡潔的方式來簡化推導,於是就出現了誤差信號的定義了:

這裏寫圖片描述

這麼推導下來,可以看到BP算法的強大了吧~~~


最後,在知乎上看到一篇作爲入行數年的專業科研工作者,你每週看幾篇 paper 的文章,覺得值得學習哈。

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