深度學習:白話解釋ResNet殘差網絡

一幅漫畫引發的思考

在這裏插入圖片描述

先從一幅漫畫說起
話說有一天,小鎮舉行一場臨摹比賽,規則是這樣的:首先給大家一張底稿,然後在上面覆蓋透明的紙進行作畫。要求是每一層紙只允許畫原稿的一部分特徵,至於覆蓋多少層紙不做要求。最後看誰能夠畫的最接近原底稿。

最後有三個人選擇了三種不同的方式作畫:第一個人只是覆蓋了幾層底稿,結果就是畫出來的畫缺少很多特徵,不能完全表徵原底稿;第二個人爲了畫全這個圖像,覆蓋了一層又一層,最後畫是畫完了,但是覆蓋到最後,很多特徵已經不是很清晰了,畫得也不是很像;最後一個人就比較聰明,他每覆蓋一層透明的紙之後,又會再把原底稿再加進來,這樣既能保證畫全了特徵,還能讓特徵始終保持清晰,還原度得到了極大的提高。

最後這個人由於畫得好,順利獲得臨摹大賽的第一名,贏取了白富美,走上了人生巔峯。。。

什麼是ResNet網絡?

上面那個漫畫和ResNet網絡有啥子關係?

首先,ResNet網絡是一個很牛逼的網絡。爲啥?因爲它的神經網絡的深度達到了驚人的152層,並以top-5錯誤率3.57%的好成績在ILSVRC2015比賽中獲得了冠軍。這個成績足以讓大家好好研究一下這個網絡到底是何方神聖了。

ResNet意義
隨着網絡的加深,出現了訓練集準確率下降的現象,我們可以確定這不是由於Overfit過擬合造成的(過擬合的情況訓練集應該準確率很高);所以作者針對這個問題提出了一種全新的網絡,叫深度殘差網絡,它允許網絡儘可能的加深,其中引入了全新的結構如圖:
在這裏插入圖片描述

這裏問大家幾個問題

殘差指的是什麼?
其中ResNet提出了兩種mapping:一種是identity mapping,指的就是上圖中”彎彎的曲線”,另一種residual mapping,指的就是除了”彎彎的曲線“那部分,所以最後的輸出是y=F(x)+xy=F(x)+x
identity mapping顧名思義,就是指本身,也就是公式中的xx,而residual mapping指的是“差”,也就是yxy−x,所以殘差指的就是F(x)F(x)部分。

我們當然希望F(x)F(x)爲0.但是顯然這是不現實的,因此我們通常希望F(x)F(x)逼近一個很小的值。

爲什麼ResNet可以解決“隨着網絡加深,準確率不下降”的問題?
理論上,對於“隨着網絡加深,準確率下降”的問題,Resnet提供了兩種選擇方式,也就是identity mapping和residual mapping,如果網絡已經到達最優,繼續加深網絡,residual mapping將被push爲0,只剩下identity mapping,這樣理論上網絡一直處於最優狀態了,網絡的性能也就不會隨着深度增加而降低了。

這段話比較晦澀一些,用大白話解釋可以這樣理解:
如上圖網絡結構一樣,我們在對輸入進行卷積的過程中,一直在提取特徵,爲了保證特徵在提取的過程中不會因爲網絡的增加發生梯度消失或者梯度爆炸,我們會時不時的做個弊,就是在輸出的時候,再把原始數據一起加進去,作爲下一層計算的輸入。(時刻保持革命的先進性)

如何實現這個操作?
在這裏插入圖片描述

關於殘差網絡一些思考

爲什麼殘差學習的效果會如此的好?與其他論文相比,深度殘差學習具有更深的網絡結構,此外,殘差學習也是網絡變深的原因?爲什麼網絡深度如此的重要?
解:一般認爲神經網絡的每一層分別對應於提取不同層次的特徵信息,有低層,中層和高層,而網絡越深的時候,提取到的不同層次的信息會越多,而不同層次間的層次信息的組合也會越多。

爲什麼在殘差之前網絡的深度最深的也只是GoogleNet 的22 層, 而殘差卻可以達到152層,甚至1000層?
解:深度學習對於網絡深度遇到的主要問題是梯度消失和梯度爆炸,傳統對應的解決方案則是數據的初始化(normlized initializatiton)和(batch normlization)正則化,但是這樣雖然解決了梯度的問題,深度加深了,卻帶來了另外的問題,就是網絡性能的退化問題,深度加深了,錯誤率卻上升了,而殘差用來設計解決退化問題,其同時也解決了梯度問題,更使得網絡的性能也提升了。

殘差網絡結構是如何運行的?
將輸入疊加到下層的輸出上。對於一個堆積層結構(幾層堆積而成)當輸入爲x時其學習到的特徵記爲H(x),現在我們希望其可以學習到殘差F(x)=H(x)-x,這樣其實原始的學習特徵是F(x)+x 。當殘差爲0時,此時堆積層僅僅做了恆等映射,至少網絡性能不會下降,實際上殘差不會爲0,這也會使得堆積層在輸入特徵基礎上學習到新的特徵,從而擁有更好的性能。

總結:
卷積神經網絡到目前爲止誕生了很多經典的結構模型,通過閱讀文獻,查找資料我們會很快了解他們,但是要想真的掌握他們,我們一定要親自去寫相應的代碼,並應用到項目當中去纔可以。

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