ResNet - 2015年 ILSVRC 的贏家(圖像分類,定位及檢測)
本文為 AI 研習社編譯的技術博客,原標題 :
Review: ResNet — Winner of ILSVRC 2015 (Image Classification, Localization, Detection)
作者 | SH Tsang
翻譯 | 斯蒂芬二狗子
校對 | 醬番梨 審核 | 約翰遜·李加薪 整理 | 立魚王
原文鏈接:
https://towardsdatascience.com/review-resnet-winner-of-ilsvrc-2015-image-classification-localization-detection-e39402bfa5d8
在本文,我們ResNet進行了回顧。通過學習殘差表徵函數而不是直接學習目標表徵,ResNet可以擁有多達152層的非常深的網路。
ResNet引入了跳過連接(或快捷方式連接)以適應從前一層到下一層的輸入,而無需修改輸入。跳過連接可以實現更深入的網路,最終ResNet成為ILSVRC 2015在圖像分類,檢測和定位方面的贏家,和MS COCO 2015檢測和分割的獲勝者。
ILSVRC 2015圖像分類排名
ImageNet是一個包含超過1500萬個標記的高解析度圖像的數據集,包含大約22,000個類別。 ILSVRC在1000個類別中的每一個中使用大約1000個圖像的ImageNet子集。總共有大約120萬個訓練圖像,50,000個驗證圖像和100,000個測試圖像。
本文涉及普通網路的存在的問題(梯度消失/梯度爆炸)
殘差網路中的跳躍/短連接(ResNet)
ResNet架構
瓶頸Bottleneck的設計
消融研究(實驗對比)
與最新方法的比較(圖像分類)
與最新方法的比較(目標檢測)
1、普通網路的存在的問題
對於傳統的深度學習網路,它們通常具有卷積層,完全連接(FC)層,用於分類任務,如AlexNet,ZFNet和VGGNet,沒有任何跳躍/短連接,我們稱之為普通網路。當普通網路更深(層數增加)時,會出現梯度消失/梯度爆炸的問題。
Vanishing / Exploding Gradients 梯度消失/爆炸
在反向傳播期間,當誤差函數相對於每次訓練迭代中的當前權重的求偏導數時,通過n層網路會導致將這些小/大梯度數值被乘上n倍的梯度效果。
當網路很深時,這些小數字乘n變成零(消失)。
當網路很深時,這些大數的乘n變得特別大(爆炸)。我們一般會期望更深的網路有更準確的預測。但是,下面一個反例說明,20層普通網路比56層普通網路具有更低的訓練誤差和測試誤差,這是梯度消失而出現性能退化問題。
CIFAR-10數據集的普通網路
2、殘差網路中的跳躍/短連接(ResNet)為了解決消失/爆炸梯度的問題,添加了 跳躍/短連接 skip / shortcut 在幾個權重層之後將輸入x加到輸出上,如下所示:
殘餘網路的構建模塊
因此,輸出H(x)= F(x) + x。
權重層實際上是學習一種殘差映射:F(x)=H(x)-x
( 反向傳播時)即使權重層有梯度消失現象,我們仍然總是將x轉移回較早的層。
3、ResNet架構具有跳躍/短連接的34層ResNet,34層普通網路(中部),19層VGG-19(底部)
上圖顯示了ResNet架構。
VGG-19 [2](底部)是ILSVRC 2014中最先進的方法。
34層普通網路(中間)被視為比VGG-19的更深的網路,即更多卷積層。
34層剩餘網路(ResNet)是普通網路添加了跳躍/短連接
對於ResNet構建模塊,當輸入尺寸小於輸出尺寸時,有3種類型的 跳躍/短連接。
(A)短連接Shortcut執行映射恆等映射(identity mapping),使用額外的零填充zero padding來增加維度。因此沒有額外增加參數。
(B)一個投影短連接projection shortcut僅用於增加尺寸,其他短連接shortcut還是恆等的連接。網路需要額外的參數。
(C)所有短連接都是投影連接。額外需要的參數多於(B)。
4、瓶頸Bottleneck的設計由於現在網路很深,時間複雜度很高。瓶頸Bottleneck設計用於降低複雜性,如下所示:
基本塊(左)和論文所提出的瓶頸塊設計(右)
如圖(右)所示,1×1轉換層被添加到網路的開始和結束。這是Network In Network和GoogLeNet(Inception-v1)中建議的技術。事實證明,1×1轉換可以減少連接數(參數),同時不會降低網路性能。 (如果感興趣,請訪問我的評論。)
用瓶頸模塊,34層ResNet成為50層ResNet。而且文章還給出更深層的網路與瓶頸設計:ResNet-101和ResNet-152。所有網路的整體架構如下:
所有網路的整體架構
值得注意的是,VGG-16/19有15.3 / 196億FLOPS。 ResNet-152的複雜程度仍低於VGG-16/19 !!!!
5、消融實驗5.1 傳統網路 VS 殘差網路
驗證錯誤率:18層和34層普通網路(左),18層和34層ResNet(右)
使用10種作物測試的Top-1錯誤率
當使用普通網路時,由於梯度消失問題,18層優於34層。
當使用ResNet時,34層優於18層,消失梯度問題已通過跳過連接解決。
如果我們比較18層普通網路和18層ResNet,沒有太大區別。這是因為淺層網路不會出現消失梯度問題。
6、與最先進方法的比較(圖像分類)6.1 ILSVRC 數據
10種作物測試結果
通過比較ResNet-34 A,B和C,得出B略好於A,C略好於B,這是因為B引入了額外的參數。ResNet-A,B,C都獲得了大約7%的錯誤率。
通過將網路深度增加到152層,獲得5.71%的Top5錯誤率,這比VGG-16,GoogLeNet(Inception-v1)和PReLU-Net好得多。
多尺度信息全卷積網路在10種作物數據的測試結果
此時,ResNet-152可以獲得4.49%的錯誤率。
10種作物測試+全卷積網路,具有多尺度信息+ 6模型集成的結果
增加了6種模型的集成後,錯誤率為3.57%。
6.2 CIFAR-10 數據集
CIFAR-10 結果
通過跳過連接,我們可以建立更深的模型。然而,當層數從110到1202時,發現錯誤率從6.43%增加到7.93%,這扔為本文中的一個未決問題。然而,ResNet-1202沒有優化難度,即它仍然可以收斂。
7、與最先進方法(物體檢測)的比較PASCAL VOC 2007/2012 數據 mAP (%)
MS COCO mAP (%)
通過將ResNet-101用於faster R-CNN [3-4],ResNet獲得了比VGG-16更好的性能。ResNet最終贏得了ImageNet檢測,定位,COCO檢測和COCO分割的第一名!
相關文獻[2016 CVPR] [ResNet]Deep Residual Learning for Image Recognition
[2015 ICLR] [VGGNet]Very Deep Convolutional Networks for Large-Scale Image Recognition
[2015 NIPS] [Faster R-CNN]Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
[2017 TPAMI] [Faster R-CNN]Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
我的評論文
Review: Faster R-CNN (Object Detection)
Review: Batch Normalization (Inception-v2 / BN-Inception) -The 2nd to Surpass Human-Level Performance in ILSVRC 2015 (Image Classification)
Review: PReLU-Net, The First to Surpass Human-Level Performance in ILSVRC 2015 (Image Classification)
Review: GoogLeNet (Inception v1) — Winner of ILSVRC 2014 (Image Classification)
Review: VGGNet — 1st Runner-Up (Image Classification), Winner (Localization) in ILSVRC 2014
想要繼續查看該篇文章相關鏈接和參考文獻?
點擊【ResNet - 2015年 ILSVRC 的贏家(圖像分類,定位及檢測)】或長按下方地址:
https://ai.yanxishe.com/page/TextTranslation/1525
AI研習社今日推薦:雷鋒網雷鋒網雷鋒網
李飛飛主講王牌課程,計算機視覺的深化課程,神經網路在計算機視覺領域的應用,涵蓋圖像分類、定位、檢測等視覺識別任務,以及其在搜索、圖像理解、應用、地圖繪製、醫學、無人駕駛飛機和自動駕駛汽車領域的前沿應用。
加入小組免費觀看視頻:https://ai.yanxishe.com/page/groupDetail/19
※家庭智能化的第一步:華為路由Q2 Pro了解一下
※Adobe發布帶外更新以修補ColdFusion零日
TAG:雷鋒網 |