iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 19
0
AI & Data

Machine Learning與軟工是否搞錯了什麼?系列 第 19

Day 19 ResNet-從旁邊來囉

ResNet-從旁邊來囉

今天我們要介紹另一種的CNN,Residual Network。

深度CNN

為了取得更多或更深層的特徵,我們會採用越來越多層的CNN模型作為解決方法,五層結果可能會比一層的結果好,七層可能比五層結果好,那麼為了提高模型的表現,我們可以無限一直往上加層數嗎?
答案是不行的!

梯度消失 Vanishing gradient problem

當我們層數一直往上疊加時,會發現反而越深層的表現會比較差,這可能發生了梯度消失的問題。
當網路層數越深時,在倒傳遞時可能會無法把梯度送達給後面的神經網路。但是使用Batch Normalization可以解決梯度消失的問題。

為甚麼要用ResNet?

根據Deep Residual Learning for Image Recognition
這篇論文指出,56層的神經網路反而比20層網路結果還差,而這個結果並不是過度擬和所和梯度消失所造成的,這是一個退化問題,因此何凱明等人所提出的深度殘差網路(Deep residual Network)來解決此問題。

ResNet

左邊是一般的神經網路,右邊則是ResNet。
可以發現左邊直接就是一直線,而ResNet具有跳線,把輸入直接接到輸出做相加。

因此最後我們的輸出就等於F(input)+input。
網路必須學會恆等對映,這樣做是為了讓輸入傳到後面的層數時,至少不會變差,假設我們的H(input)為0,那麼我們的Ouput(input)就等於input,這樣做能在網路層加深後,正確率就不會因此下降。

結論

當神經網路太過深層時,會發生退化問題,而ResNet可以解決此問題。

參考資料

Deep Residual Learning for Image Recognition
梯度消失問題


上一篇
Day 18 CapsNet如何實現
下一篇
Day 20 ResNet如何實現
系列文
Machine Learning與軟工是否搞錯了什麼?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言