深度學習的「深」,更多是指模型的層數深。然而,卷積神經網絡單純的堆疊層數,會出現梯度消失、梯度退化和網絡退化的問題。2015年何凱明,張翔宇,任少卿,孫劍四位華人提出ResNet。
- 不斷的提高網絡性能
- 達到最優性能時多餘的網絡層做恆等映射
模型結構
- 構建殘差塊
- 堆疊殘差塊
殘差塊Residual block
如上圖,在原來的普通的網絡基礎上,每兩層加上一個捷徑連接(hortcut connection),H(x) = F(x) + x,構成一個殘差塊。多個殘差塊堆疊成一個殘差網絡。
卷積核
上圖左:ResNet34 兩層殘差單元使用兩個3*3的卷積核。
上圖右:ResNet50/101/152 三層殘差單元使用1*1、3*3、1*1卷積核
ResNet34
感受一下34層的深度殘差網絡的結構圖:
shortcut connections(捷徑連接)有實線和虛線:
- 實線表示通道相同,H(x)=F(x)+x。
- 虛線表示通道不同,H(x)=F(x)+Wx,其中W是卷積操作,調整x維度的。
核心理念
假設現有一個比較淺的網絡(Shallow Net)已達到了飽和的準確率,這時在它後面再加上幾個恆等映射層(Identity mapping,也即y=x,輸出等於輸入),這樣就增加了網絡的深度,並且起碼誤差不會增加,也即更深的網絡不應該帶來訓練集上誤差的上升。而這裡提到的使用恆等映射直接將前一層輸出傳到後面的思想,便是著名深度殘差網絡ResNet的靈感來源。
論文地址
https://arxiv.org/abs/1512.03385
閱讀更多 技術信仰 的文章