ResNet笔记
參考: Deep Learning-TensorFlow (14) CNN卷積神經網絡_深度殘差網絡 ResNet
先前的研究已經證明,擁有至少一個隱層的神經網絡是一個通用的近似器,只要提高網絡的深度,可以近似任何連續函數。因此,理想情況下,只要網絡不過擬合,深度神經網絡應該是越深越好。但是在實際情況中,在不斷加神經網絡的深度時,會出現一個 Degradation 的問題,即準確率會先上升然后達到飽和,再持續增加深度則會導致準確率下降。這并不是過擬合的問題,因為不光在測試集上誤差增大,訓練集本身誤差也會增大。對此的解釋為:當網絡的層級很多時,隨著前向傳播的進行,輸入數據的一些信息可能會被丟掉(激活函數、隨機失活等),從而導致模型最后的表現能力很一般。
假設有一個比較淺的網絡(Shallow Net)達到了飽和的準確率,那么后面再加上幾個的全等映射層(Identity mapping),起碼誤差不會增加,即更深的網絡不應該帶來訓練集上誤差上升。而這里提到的使用全等映射直接將前一層輸出傳到后面的思想,就是 ResNet 的靈感來源。在ResNets中,作者通過shorcut connection操作,保證了網絡的深度越深,模型的表現能力一定不會下降。
作者提出一個 Deep residual learning 框架來解決這種因為深度增加而導致性能下降問題。
假定某段神經網絡的輸入是 x,期望輸出是 H(x),即 H(x) 是期望的復雜潛在映射,但學習難度大;如果我們直接把輸入 x 傳到輸出作為初始結果,通過下圖“shortcut connections”,那么此時我們需要學習的目標就是 F(x)=H(x)-x,于是 ResNet 相當于將學習目標改變了,不再是學習一個完整的輸出,而是最優解H(X) 和全等映射 x 的差值,即殘差
Shortcut 原意指捷徑,在這里就表示越層連接,在 Highway Network 在設置了一條從 x 直接到 y 的通路,以 T(x, Wt) 作為 gate 來把握兩者之間的權重;而 ResNet shortcut 沒有權值,傳遞 x 后每個模塊只學習殘差F(x),且網絡穩定易于學習,作者同時證明了隨著網絡深度的增加,性能將逐漸變好。可以推測,當網絡層數夠深時,優化 Residual Function:F(x)=H(x)?x,易于優化一個復雜的非線性映射 H(x)。
在 ResNet 的論文中,除了提出殘差學習單元的兩層殘差學習單元,還有三層的殘差學習單元。兩層的殘差學習單元中包含兩個相同輸出通道數(因為殘差等于目標輸出減去輸入,即,因此輸入、輸出維度需保持一致)的3′3卷積;而3層的殘差網絡則使用了 Network In Network 和 Inception Net 中的1′1卷積,并且是在中間3′3的卷積前后都使用了1′1卷積,先降維再升維的操作,降低計算復雜度。另外,如果有輸入、輸出維度不同的情況,我們可以對 x 做一個線性映射變換,再連接到后面的層。
轉載于:https://www.cnblogs.com/CSLaker/p/8823872.html
總結
- 上一篇: [No0000130]WPF 4.5使用
- 下一篇: 华硕怎么设置bios从u盘启动 华硕电脑