ResNet - 2015年 ILSVRC 的贏家(圖像分類,定位及檢測)

2021-01-07 雷鋒網

本文為 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

相關焦點

  • VGGNet、ResNet、Inception和Xception圖像分類及對比
    人們對這個任務的興趣得益於 ImageNet 圖像數據集根據 WordNet 層次結構(目前僅有名詞)組織,其中檢索層次的每個節點包含了成千上萬張圖片。更確切地說,ImageNet 旨在將圖像分類並標註為近 22000 個獨立的對象類別。
  • ILSVRC2015競賽專題總結
    年ILSVRC競賽中,在物體定位任務中額外數據榜第三名,在物體檢測中額外數據榜第二名,視頻檢測任務中標準數據榜第一名。我們在物體檢測中提出基於多個上下文學習框與物體間的關係,並考慮物體樣本數目的長尾性質提出分層級聯學習,將框生成和框分類聯合考慮做級聯。這些方法大幅提高物體檢測的準確率。在視頻檢測中我們利用運動信息和不同層級的上下文信息大幅改進圖像檢測結果。此次是香港中文大學團隊第二次參加比賽,2014年競賽中亦取得物體檢測第二名。相關工作的詳細信息請關注我們CVPR15和Arxiv的文章。
  • ILSVRC2016目標檢測任務回顧:圖像目標檢測DET
    2016年,作為360+MCG-ICT-CAS_DET團隊核心主力參加了ImageNet大規模視覺識別挑戰賽(ILSVRC)的 DET任務並獲得第四名。目標檢測相關工作受邀在ECCV 2016 ImageNet和COCO視覺識別挑戰賽聯合工作組會議上做大會報告。
  • ILSVRC2016目標檢測任務回顧:圖像目標檢測(DET)
    2016年,作為360+MCG-ICT-CAS_DET團隊核心主力參加了ImageNet大規模視覺識別挑戰賽(ILSVRC)的 DET任務並獲得第四名。目標檢測相關工作受邀在ECCV 2016 ImageNet和COCO視覺識別挑戰賽聯合工作組會議上做大會報告。
  • 快速訓練殘差網絡 ResNet-101,完成圖像分類與預測,精度高達 98%|...
    即在預訓練模型的基礎上,採用101層的深度殘差網絡ResNet-101,對如下圖所示的花數據集進行訓練,快速實現了對原始圖像的分類和預測,最終預測精確度達到了驚人的98%。遷移學習(1) 遷移學習簡介什麼是遷移學習呢?
  • Serverless 架構下 Python 輕鬆搞定圖像分類
    簡介: 本文將會通過一個有趣的 Python 庫,快速將圖像分類的功能搭建在雲函數上,並且和 API 網關結合,對外提供 API 功能,實現一個 Serverless 架構的「圖像分類 API」。前言圖像分類是人工智慧領域的一個熱門話題。通俗解釋就是,根據各自在圖像信息中所反映的不同特徵,把不同類別的目標區分開來的圖像處理方法。
  • 圖像分割中的深度學習:U-Net 體系結構
    user=vZA2pjwAAAAJ&hl=en)U-Net是一種卷積神經網絡(CNN)方法,由Olaf Ronneberger、Phillip Fischer和Thomas Brox於2015年首次提出,它可以更好的分割生物醫學圖像。
  • 如果我們想要更好的目標分割,我們最好使用resnet-50的網絡結構
    卷積網絡是研究圖像分類的非常有效的方法,它能夠產生豐富的學習框架,能夠做很多複雜的預測。但是,在什麼情況下它非常有效呢?解決不同任務需要不同的方法。我們已經研究過人臉識別(single-identitydetection)。
  • 使用ResNet在iOS上進行AI圖像分類
    在這裡,我們將設置您的示例應用程式,設置模型,弄清楚如何處理應用程式中的分類請求,並將轉換後的ResNet模型添加到項目中。介紹深度神經網絡在諸如圖像分類等任務上非常出色。擁有一半像樣的GPU的任何人現在都可以輕鬆獲得十年前耗資數百萬美元的結果以及整個研究團隊。但是,深度神經網絡有一個缺點。
  • 基礎入門,怎樣用PaddlePaddle優雅地寫VGG與ResNet
    綜述圖像相比文字能夠提供更加生動、容易理解及更具藝術感的信息,圖像分類是根據圖像的語義信息將不同類別圖像區分開來,是圖像檢測、圖像分割、物體跟蹤、行為分析等其他高層視覺任務的基礎。圖像分類在安防、交通、網際網路、醫學等領域有著廣泛的應用。
  • 理解並實現 ResNet(Keras)
    這個模型是2015年ImageNet挑戰賽的獲勝者,ResNet最根本的突破在於它使得我們可以訓練成功非常深的神經網路,如150+層的網絡。在ResNet之前,由於梯度消失(vanishing gradients)的問題,訓練非常深的神經網絡是非常困難的。
  • 視頻圖像中文本的檢測、定位與提取
    文中針對水平和豎直排列的靜止及滾動文本,提出利用小波多尺度局部模極大值邊緣檢測算法來檢測文本圖像邊緣,利用形態學處理生成候選文本區域,用由粗到精的多次水平、豎直投影來定位精確的文本位置。然後,對於文本子圖用局部Otsu方法和區域填充處理進行文字二值化提取。
  • 「計算機視覺必讀乾貨」圖像分類、檢測,語義分割等方法梳理
    新智元專欄 作者:張皓【新智元導讀】本文作者來自南京大學計算機系機器學習與數據挖掘所(LAMDA),本文直觀系統地梳理了深度學習在計算機視覺領域四大基本任務中的應用,包括圖像分類、定位、檢測、語義分割和實例分割
  • Serverless 實戰:用 20 行 Python 代碼輕鬆搞定圖像分類和預測
    圖像分類是人工智慧領域的一個熱門話題,通俗來講,就是根據各自在圖像信息中反映的不同特徵,把不同類別的目標區分開。圖像分類利用計算機對圖像進行定量分析,把圖像或圖像中的每個像元或區域劃歸為若干個類別中的某一種,代替人的視覺判讀。
  • Google最新開源Inception-ResNet-v2,藉助殘差網絡進一步提升圖像...
    聯合編譯:Blake、高斐2016年8月31日,Google團隊宣布針對TensorFlow開源了最新發布的TF-slim資料庫,它是一個可以定義、訓練和評估模型的輕量級的軟體包,也能對圖像分類領域中幾個主要有競爭力的網絡進行檢驗和定義模型。
  • 目標檢測之公開圖像數據集
    1 Pascal VOC在早期的計算機視覺社區,PASCALViSualObjectClasses(VOC)挑戰賽(從2005年到2012)是最重要的競賽之一。在PASCALVOC中是多任務的,包括圖像分類,目標檢測,語義分割和行為檢測。
  • U-Net 和 ResNet:長短跳躍連接的重要性(生物醫學圖像分割)
    這次,我們來聊一聊用於生物醫學圖像分割的的一種全卷積神經網絡,這個網絡帶有長短跳躍連接。上次,我已經回顧了 RoR (ResNet of ResNet, Residual Networks of Residual Networks)(這是2018年的TCSVT論文,如果有興趣,請訪問我的評論。)在RoR中,通過使用長短跳躍連接,圖像分類準確性得到提高。實驗結果證明了使用長短跳躍連接的有效性。
  • 詳解計算機視覺五大技術:圖像分類、對象檢測、目標跟蹤、語義分割和實例分割
    智能汽車:計算機視覺仍然是檢測交通標誌、燈光和其他視覺特徵的主要信息來源。視覺識別是計算機視覺的關鍵組成部分,如圖像分類、定位和檢測。神經網絡和深度學習的最新進展極大地推動了這些最先進的視覺識別系統的發展。在本文中,我將分享 5 種主要的計算機視覺技術,並介紹幾種基於計算機視覺技術的深度學習模型與應用。
  • 【乾貨】PyTorch實例:用ResNet進行交通標誌分類
    ResNet for Traffic Sign Classification With PyTorch德國交通標誌識別基準數據集:可能是自動駕駛汽車領域最受歡迎的圖像分類數據集。 自動駕駛車輛需要對交通標誌進行檢測和分類,以了解應用於路段的交通規則。 也許,這個數據集太小而且不完整,無法用於實際應用。
  • 基於飛槳PaddlePaddle的多種圖像分類預訓練模型強勢發布
    在計算機視覺領域,圖像分類是非常重要的基本問題,是圖像目標檢測、圖像分割、圖像檢索、視頻理解、物體跟蹤、行為分析等其他高層視覺任務的基礎,在實際場景中,有著廣泛應用。飛槳(PaddlePaddle)視覺模型庫圖像分類持續提供業內領先的分類網絡結構訓練方法以及在imagenet 1000分類任務上的預訓練模型。