殘差神經網路 殘差網路學習心得

2021-10-12 04:41:42 字數 2470 閱讀 2837

殘差網路介紹

resnets是由殘差塊構建的,首先先解釋一下什麼是殘差塊。

這是乙個兩層神經網路在l層進行啟用。計算過程是從a[l]開始,首先進行線性啟用 。

根據這個等式,通過a[l]算出z[l+1]即a[l]乘以權重矩陣再加上偏差因子,然後通過非線性relu啟用得到a[l+1]。

隨後我們再進行線性啟用,從下面等式可以得出z[l+2]。

最後根據這個等式再進行relu非線性啟用

這裡的g指的是relu非線性函式

換句話說,資訊流從a[l]到a[l+2],需要經歷上述所有步驟即這組網路層的主路徑。在殘差網路中有一點變化:我們將a[l]直接向後拷貝到神經網路的深層,在relu非線性啟用前加上a[l],這是一條捷徑將a[l]的資訊直接傳達到神經網路的深層(不再沿著主路經傳遞)

這就意味著最後這個等式去掉了

取而代之的是另乙個relu非線性函式,仍然對z[l+2]進行g函式處理,但這次要加上a[l],也就是加上的這個a[l]產生了乙個殘差塊。

除了捷徑,你還聽到另乙個術語「跳遠連線」,就是指a[l]跳過一層或者好幾層,從而將資訊傳遞到神經網路的更深層。

使用殘差塊能夠訓練更深的神經網路,構建乙個resnet網路就是通過將很多這樣的殘差塊堆積在一起,形成乙個深度神經網路。

我們來看看這樣乙個網路,這並不是乙個殘差網路,而是乙個普通網路,把它變成resnet的方法就是加上所有的跳遠連線。

正如前面所看到的每兩層增加乙個捷徑,構成乙個殘差塊,所以這個圖就有5個殘差塊,構成乙個殘差網路。

如果我們使用標準優化演算法訓練乙個普通網路,比如梯度下降或者其他優化演算法,如果沒有殘差,沒有這些捷徑。憑經驗,你會發現隨著網路深度的加深,訓練錯誤會先減少然後增多。

而理論上隨著網路深度的加深,應該訓練得越來越好才對。也就是說,理論上網路深度越深越好,但實際上,如果沒有殘差網路,對於乙個普通網路來說,深度越深意味著用優化演算法越難訓練。

但有了resnets就不一樣了,即使網路再深,訓練的表現卻不錯,錯誤會減少

為什麼殘差網路有如此好的表現?

先來看乙個例子,上面我們說到乙個網路深度越深,它在訓練集上訓練網路的效率會有所減弱,這也是有時我們不願加深層數的原因。但在訓練resnets網路時並不完全如此。

假設有乙個大型神經網路,其輸入為x,輸出啟用值為a[l],如果你想增加這個神經網路的深度,就再給這個網路額外新增兩層,最後輸出為a[l+2],可以把這兩層看作resnet塊,即具有近路連線的殘差塊。假設我們在整個網路中使用relu啟用函式,所以啟用值都大於等於0。a[l+2]=g(z[l+2]+a[l]),新增項a[l]是剛新增的跳遠連線的輸入。

如果z[l+2]=0,那麼a[l+2]=a[l]。因為我們假定使用relu啟用函式,並且所有啟用值都是負的。結果表明,殘差塊學習這個恒等式函式殘差塊並不難。加入殘差塊後,我們可以得出a[l+2]=a[l],這說明即使增加兩層它的效率也不遜色與簡單的神經網路。所以給大型神經網路增加兩層,不論是把殘差塊新增到神經網路的中間還是末端位置都不會影響網路的實現。當然我們不僅要保持效率還要提公升。想象一下,如果這些隱層單元學到一些有用資訊,那麼它可能比學習恒等函式變現的更好。而哪些不含有殘差的普通網路情況就不一樣了,當層數越來越深時,就算選擇學習恒等函式的引數都很困難。所以很多層最後的表現不但沒有更好反而更糟。殘差網路起作用的主要原因就是這些殘差塊學習恒等函式非常容易。你能確定網路效能不會受到影響,很多時候甚至會提高效率。另一點值得去說的是,假設z[l+2]與a[l]具有相同維度,所以resnet使用了許多相同卷積,這個a[l]的維度等於這個輸出層的維度。

我們只需要在普通網路中加入如圖殘差塊就能變為殘差網路。

殘差神經網路 深度殘差收縮網路的新解讀

近年來,人工智慧領域湧現了大量優秀的成果。本文圍繞一種新的深度學習方法,即深度殘差收縮網路,展開詳細的解讀,希望對大家有所幫助。顧名思義,深度殘差收縮網路是在 殘差網路 基礎上的一種改進演算法,是由 殘差網路 和 收縮 兩部分所組成的。其中,殘差網路在2016年斬獲了imagenet影象識別競賽的冠...

深度學習理論 殘差神經網路

我們知道,網路層數越深,其表達能力越強,但之前人們並不敢把網路設計的太深,因為會有梯度衰減等各種問題讓網路的效能大幅度下滑,用一些正則化,relu等啟用函式也不能完全避免。但有了殘差網路,人們可以把網路的層數設計的很深,比如幾百層。其基本思想如下 在傳統的平網路 plain network 中,一層...

深度殘差網路

深度殘差學習 deep residual learning 的思想 在residual net中 1 identity 為恒等對映,此條路徑一直存在 2 f x 為需要學習的殘差函式 residual function h x x f x 問題的重新表示或預處理會簡化問題的優化 假設我們期望的網路層...