當前位置:
首頁 > 新聞 > 「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

【新智元招聘】AI 盛夏,星艦啟航。《新一代人工智慧發展規劃》發布之際,新智元也正式入駐融科資訊中心 B 座,整裝待發。天時地利,星辰大海,我們召喚你——新船員的加入!COO、總編、主筆、內容運營、客戶總監、客戶經理、視覺總監(兼職) 7 大職位招聘全新啟動。點擊文末閱讀原文查看詳情。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

2015 年,ResNet 大大吸引了人們的眼球。實際上,早在 ILSVRC2012 分類競賽中,AlexNet 取得了勝利,深度殘差網路(deep Residual Network)[2]就成為過去幾年中計算機視覺和深度學習領域最具突破性的工作。ResNet 使得訓練深達數百甚至數千層的網路成為可能,而且性能仍然優異。

由於其表徵能力強,ResNet 在圖像分類任務之外的許多計算機視覺應用上也取得了巨大的性能提升,例如對象檢測和人臉識別。

自 2015 年以後,許多研究對 ResNet 架構進行了調整和改進。在這裡,我們先為那些不熟悉 ResNet 的人提供一些背景知識;接下來,梳理關於 ResNet 架構的不同變體及相關論文,包括何愷明等人提出的 ResNeXt、康奈爾大學、清華大學和 Facebook 聯合提出的 DenseNet、谷歌 MobileNet、孫劍團隊 ShuffleNet,以及最近獲得 2017 ImageNet 冠軍的顏水成團隊的雙通道網路 DPN

重新審視 ResNet:計算機視覺最流行的架構之一

根據泛逼近定理(universal approximation theorem),如果給定足夠的容量,一個單層的前饋網路就足以表示任何函數。但是,這個層可能是非常大的,而且網路容易過擬合數據。因此,研究界有一個共同的趨勢,就是網路架構需要更深。

從 AlexNet 的提出以來,state-of-the art 的 CNN 架構都是越來越深。雖然 AlexNet 只有5層卷積層,但後來的 VGG 網路[3]和 GoogLeNet(也作 Inception_v1)[4]分別有19層和22層。

但是,如果只是簡單地將層堆疊在一起,增加網路的深度並不會起太大作用。這是由於難搞的梯度消失(vanishing gradient)問題,深層的網路很難訓練。因為梯度反向傳播到前一層,重複相乘可能使梯度無窮小。結果就是,隨著網路的層數更深,其性能趨於飽和,甚至開始迅速下降。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

網路深度增加導致性能下降

在 ResNet 之前,已經出現好幾種處理梯度消失問題的方法,例如,2015年 C. Szegedy 等人提出的 GoogLeNet [4]在中間層增加一個輔助損失(auxiliary loss)作為額外的監督,但遺憾的是,沒有一個方法能夠真正解決這個問題。

ResNet 的核心思想是引入一個「身份捷徑連接」(identity shortcut connection),直接跳過一層或多層,如下圖所示:

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

一個殘差塊

何愷明等人於 2015 年發表的論文《用於圖像識別的深度殘差學習》(Deep Residual Learning for Image Recognition)[2]中,認為堆疊的層不應該降低網路的性能,因為我們可以簡單地在當前網路上堆疊身份映射(層不處理任何事情),並且所得到的架構性能不變。這表明,較深的模型所產生的訓練誤差不應比較淺的模型的誤差更高。作者假設讓堆疊的層擬合一個殘差映射(residual mapping)要比讓它們直接擬合所需的底層映射更容易。上面的殘差塊(residual block)顯然仍讓它做到這點。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

ResNet 的架構

實際上,ResNet 並不是第一個利用 shortcut connection 的方法,R. Srivastava 等人提出的 Highway Network [5]也引入了門控短路連接(gated shortcut connections)。這些參數化的門控制允許多少信息流過短路通道(shortcut)。類似的想法可以在長短期記憶網路(LSTM)[6]單元中找到,其中存在一個參數化的「遺忘門」(forget gate),它控制讓多少信息傳送到下一個時間步長。因此,ResNet 可以被認為是 Highway Networks 的一種特殊情況。

然而,實驗表明,Highway Network 的性能不如 ResNet,因為 Highway Network 的解決方案空間包含 ResNet,它至少應該表現得跟 ResNet 一樣好才對,這就顯得有點奇怪。這表明,保持這些「gradient highways」的乾淨相比追求更大的解決方案空間更為重要。

按照這種直覺,前述《用於圖像識別的深度殘差學習》[2]的作者改進了殘差塊,並提出一個殘差預激活變體[7],其中梯度可以暢通無阻地通過 shortcut 連接到任何其他先前的層。實際上,這一研究表明,使用原始的殘差塊,訓練一個 1202 層的 ResNet 比 110 層的 ResNet 性能更差。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

殘差塊的變體

Identity Mappings in Deep Residual Networks [7]的作者通過試驗證明,他們現在可以訓練一個 1001 層的深度 ResNet,以超越它的較淺的變體。由於其結果優異,ResNet 迅速成為各種計算機視覺任務最流行的架構之一。

隨著 ResNet 在研究界越來越受歡迎,它的架構得到越來越多的研究。

Wide Residual Network(WRN):從「寬度」入手做提升

Wide Residual Network(WRN) 由 Sergey Zagoruyko 和 Nikos Komodakis 提出。雖然網路不斷向更深層發展,但有時候為了少量的精度增加需要將網路層數翻倍,這樣減少了特徵的重用,也降低訓練速度。因此,作者從「寬度」的角度入手,提出了 WRN,16 層的 WRN 性能就比之前的 ResNet 效果要好

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

上圖中 a,b 是何愷明等人提出的兩種方法,b 計算更節省,但是 WDN 的作者想看寬度的影響,所以採用了 a。作者提出增加 residual block 的 3 種簡單途徑:

1. 更多卷積層

2. 加寬(more feature planes)

3. 增加卷積層的濾波器大小(filter sizes)

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

WRN 結構如上,作者表示,小的濾波器更加高效,所以不準備使用超過 3x3 的卷積核,提出了寬度放大倍數 k 和卷積層數 l。

作者發現,參數隨著深度的增加呈線性增長,但隨著寬度卻是平方長大。雖然參數會增多,但卷積運算更適合 GPU。參數的增多需要使用正則化(regularization)減少過擬合,何愷明等人使用了 batch normalization,但由於這種方法需要heavy augmentation,於是作者使用了 dropout。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

WRN 40-4 與 ResNet-1001 結果相似,參數數量相似,但是前者訓練快 8 倍。作者總結認為:

1. 寬度的增加提高了性能

2. 增加深度和寬度都有好處,直到參數太大,正則化不夠

3. 相同參數時,寬度比深度好訓練

ResNeXt:何愷明等人在 Facebook 升級 ResNet,提出「深度」和「寬度」之外的神經網路新維度

2017 年 2 月,已經加入 Facebook 的何愷明和 S. Xie 等人在《殘差變換聚合深度網路》(Aggregated Residual Transformations for Deep Neural Networks)[8]中提出一個名為 ResNeXt 的殘差網路變體,它的構建塊如下所示:

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

左:[2]的構建塊;右:ResNeXt 的一個構建塊,基數=32

這個可能看起來很眼熟,因為它與 GoogLeNet [4]的 Inception 模塊非常類似。它們都遵循「拆分-轉換-合併「的範式,區別只在於 ResNeXt 這個變體中,不同路徑的輸出通過將相加在一起來合併,而在 GoogLeNet [4]中不同路徑的輸出是深度連結的。另一個區別是,GoogLeNet [4]中,每個路徑彼此不同(1x1, 3x3 和 5x5 卷積),而在 ResNeXt 架構中,所有路徑共享相同的拓撲。

ResNeXt 的作者引入了一個被稱為「基數」(cardinality)的超參數——即獨立路徑的數量,以提供一種新方式來調整模型容量。實驗表明,通過增加「基數」提高準確度相比讓網路加深或擴大來提高準確度更有效。作者表示,基數是衡量神經網路在深度(depth)和寬度(width)之外的另一個重要因素。作者還指出,與 Inception 相比,這種新的架構更容易適應新的數據集/任務,因為它有一個簡單的範式,而且需要微調的超參數只有一個,而 Inception 有許多超參數(如每個路徑的卷積層核的大小)需要微調。

這一新的構建塊有如下三種對等形式:

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

在實踐中,「分割-變換-合併」通常是通過逐點分組卷積層來完成的,它將輸入分成一些特徵映射組,並分別執行卷積,其輸出被深度級聯然後饋送到 1x1 卷積層。

在 ImageNet-1K 數據集上,作者表明,即使在保持複雜性的限制條件下,增加基數也能夠提高分類精度。此外,當增加容量時,增加基數比更深或更寬更有效。ResNeXt 在 2016 年的 ImageNet 競賽中獲得了第二名。

DenseNet:將輸出從相加改為「相併聯」

也是在 2016 年,康奈爾大學的 Gao Huang 和清華大學的 Zhuang Liu 等人在論文 Densely Connected Convolutional Networks [9]中,提出一種稱為 DenseNet 的新架構。不同於 ResNet 將輸出與輸入相加,形成一個殘差結構,DenseNet 將輸出與輸入相併聯,實現每一層都能直接得到之前所有層的輸出。

DenseNet 進一步利用 shortcut 連接的好處——將所有層都直接連接在一起。在這個新架構中,每層的輸入由所有前面的層的特徵映射(feature maps)組成,其輸出傳遞給每個後續的層。特徵映射與 depth-concatenation 聚合。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

ResNet 將輸出與輸入相加,形成一個殘差結構;而 DenseNet 卻是將輸出與輸入相併聯,實現每一層都能直接得到之前所有層的輸出。

Aggregated Residual Transformations for Deep Neural Networks [8]的作者除了應對梯度消失問題外,還認為這種架構可以鼓勵特徵重新利用,從而使得網路具有高度的參數效率。一個簡單的解釋是,在 Deep Residual Learning for Image Recognition [2]和 Identity Mappings in Deep Residual Networks [7]中,Identity Mapping 的輸出被添加到下一個塊,如果兩個層的特徵映射具有非常不同的分布,這可能會阻礙信息流。因此,級聯特徵映射可以保留所有特徵映射並增加輸出的方差,從而鼓勵特徵重新利用。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

遵循這個範式,我們知道第 l 層將具有 k *(l-1)+ k_0 個輸入特徵映射,其中 k_0 是輸入圖像中的通道數。作者使用一個名為增長率(k)的超參數來防止網路的生長過寬,以及使用一個 1x1 的卷積瓶頸層來減少昂貴的 3x3 卷積之前的特徵映射數量。整體結構如下表所示:

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

DenseNet的架構

谷歌 MobileNet:視覺模型往移動端輕量級發展

說道 ResNet(ResNeXt)的變體,還有一個模型不得不提,那就是谷歌的 MobileNet,這是一種用於移動和嵌入式設備的視覺應用高效模型,在同樣的效果下,計算量可以壓縮至1/30

MobileNet 基於一個流線型的架構,該架構使用 depthwise separable convolution 來構建輕量級的深度神經網路。作者引入了兩個簡單的全局超參數,有效權衡延遲和準確度。這些超參數能讓模型搭建者根據問題的限制為其應用選擇適當規模的模型。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

新智元此前專門採訪了 MobileNet 的其中一位作者,谷歌 G-RMI 團隊的朱夢龍。

朱夢龍介紹:「MobileNet 一個很大的亮點是對 depthwise 卷積的大規模使用。將一個二維的 depthwise 卷積和 1x1 的映射卷積組合起來可以很好的逼近普通的三維卷積。對於常用的 3x3 三維卷積來說,利用 depthwise 和 1x1 映射來取代可以將計算量壓縮8-9倍,所用到的參數量也大大減少,但仍然保持相類似的精確度。這樣的想法來自於矩陣分解,一般如果一個矩陣是 low rank(低秩)的話,可以有很多辦法將其分解成為兩個或者多個矩陣。另外一個啟發是大部分的計算會產生於早期的卷積層,所以 MobileNet 較早的採用 stride 2 而大大減少了計算量。MobileNet 在 ImageNet 分類的任務上能達到類似 VGG 的效果,但是參數和計算量都少了都超過一個數量級(約1/30)。」

【相關新智元報道】

孫劍團隊 SuffleNet:超越谷歌 MobileNet

曠視(Face++)孫劍等人的研究團隊最近發表了《ShuffleNet:一種極高效的移動端卷積神經網路》一文,作者針對移動端低功耗設備提出了一種更為高效的卷積模型結構,在大幅降低模型計算複雜度的同時仍然保持了較高的識別精度,並在多個性能指標上均顯著超過了同類方法。

受 ResNeXt 的啟發,作者提出使用分組逐點卷積(group pointwise convolution)來代替原來的結構。通過將卷積運算的輸入限制在每個組內,模型的計算量取得了顯著的下降。然而這樣做也帶來了明顯的問題:在多層逐點卷積堆疊時,模型的信息流被分割在各個組內,組與組之間沒有信息交換。這將可能影響到模型的表示能力和識別精度。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

圖 1 逐點卷積與通道重排操作

因此,在使用分組逐點卷積的同時,需要引入組間信息交換的機制。也就是說,對於第二層卷積而言,每個卷積核需要同時接收各組的特徵作為輸入,如圖 1(b)所示。作者指出,通過引入「通道重排」(channel shuffle,見圖 1(c))可以很方便地實現這一機制;並且由於通道重排操作是可導的,因此可以嵌在網路結構中實現端到端的學習。

基於分組逐點卷積和通道重排操作,作者提出了全新的ShuffleNet結構單元,如圖2所示。該結構繼承了「殘差網路」(ResNet)[3]的設計思想,在此基礎上做出了一系列改進來提升模型的效率:首先,使用逐通道卷積替換原有的3x3卷積,降低卷積操作抽取空間特徵的複雜度,如圖2(a)所示;接著,將原先結構中前後兩個1x1逐點卷積分組化,並在兩層之間添加通道重排操作,進一步降低卷積運算的跨通道計算量。最終的結構單元如圖2(b)所示。類似地,文中還提出了另一種結構單元(圖2(c)),專門用於特徵圖的降採樣

藉助ShuffleNet結構單元,作者構建了完整的ShuffeNet網路模型。它主要由16個ShuffleNet結構單元堆疊而成,分屬網路的三個階段,每經過一個階段特徵圖的空間尺寸減半,而通道數翻倍。整個模型的總計算量約為140MFLOPs。通過簡單地將各層通道數進行放縮,可以得到其他任意複雜度的模型。

另外可以發現,當卷積運算的分組數越多,模型的計算量就越低;這就意味著當總計算量一定時,較大的分組數可以允許較多的通道數,作者認為這將有利於網路編碼更多的信息,提升模型的識別能力

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

作者使用一樣的整體網路布局,在保持計算複雜度的同時將 ShuffleNet 結構單元分別替換為 VGG-like、ResNet、Xception-like 和 ResNeXt 中的結構單元,使用完全一樣訓練方法。表2中的結果顯示在不同的計算複雜度下,ShuffleNet 始終大大優於其他網路。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

表2 和其他網路結構的分類錯誤率對比(百分制)

顏水成團隊雙通道網路 DPN:結合殘差網路與 DenseNet 兩者優點,奪得 ImageNet 2017 目標定位冠軍

新加坡國立大學與奇虎 AI 研究院合作,指出 ResNet 是 DenseNet 的一種特例,並提出了一類新的網路拓補結構:雙通道網路(Dual Path Network)。在 ImageNet-1k 分類任務中:該網路不僅提高了準確率,還將200 層 ResNet 的計算量降低了 57%,將最好的 ResNeXt (64x4d) 的計算量降低了25%;131 層的 DPN 成為新的最佳單模型,並在實測中提速約 300%。

作者發現,Residual Networks 其實是 DenseNet 在跨層參數共享時候的特例。於是,他們結合殘差網路和 DenseNet 兩者的優點,提出了一類全新的雙通道網路結構:Dual Path Network(DPNs)。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

DPN 具體網路結構

其核心思想是,將殘差通道和 densely connected path 相融合,實現優缺互補,其重點不在於細節部分是如何設定的。

作者分別在「圖像分類」,「物體檢測」和「物體分割」三大任務上對 DPN 進行了驗證。在 ImageNet 1000 類分類任務中的性能如表 2 所示:

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

在實測中: DPN-98 也顯著提高了訓練速度,降低內存佔用,並保持更高的準確率。在 ImageNet-1k 分類任務中:該網路不僅提高了準確率,還將200 層 ResNet 的計算量降低了 57%,將最好的 ResNeXt (64x4d) 的計算量降低了25%;131 層的 DPN 成為新的最佳單模型,並在實測中提速約 300%。

就在這周,ImageNet 官方網站公布了 2017 年ImageNet Large Scale Visual Recognition Challenge 2017 (ILSVRC2017) 的比賽結果,在目標定位任務中,新加坡國立大學與奇虎360 合作提出的 DPN 雙通道網路 + 基本聚合獲得第一,定位錯誤率為 0.062263。

結語

我們重新回顧了 ResNet 的架構,簡要介紹了其最近取得的成功背後的原因。我們還介紹了一些 ResNet 的有趣變體。短短兩年,2017 年 ImageNet 競賽冠軍架構——基於 ResNet 的雙通道網路 DPN 將 200 層 ResNet 的計算量降低了 57%。

計算機視覺在這兩年取得了突飛猛進的發展,回顧 ResNet、WRN、ResNeXt、MobleNet、ShuffleNet 和最新的 DPN,我們在這裡向最後一屆 ImageNet 競賽致敬,並期待未來更多更好的輕量級視覺模型。同時,讓我們向視覺理解進軍。

「致敬ImageNet」ResNet 6大變體:何愷明,孫劍,顏水成引領計算機視覺這兩年

ILSVRC,再見!

本文中的所有圖片均來自參考文獻中列出的論文。

References:

[1]. A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems,pages1097–1105,2012.

[2]. K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. arXiv preprint arXiv:1512.03385,2015.

[3]. K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556,2014.

[4]. C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,pages 1–9,2015.

[5]. R. Srivastava, K. Greff and J. Schmidhuber. Training Very Deep Networks. arXiv preprint arXiv:1507.06228v2,2015.

[6]. S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Comput., 9(8):1735–1780, Nov. 1997.

[7]. K. He, X. Zhang, S. Ren, and J. Sun. Identity Mappings in Deep Residual Networks. arXiv preprint arXiv:1603.05027v3,2016.

[8]. S. Xie, R. Girshick, P. Dollar, Z. Tu and K. He. Aggregated Residual Transformations for Deep Neural Networks. arXiv preprint arXiv:1611.05431v1,2016.

[9]. G. Huang, Z. Liu, K. Q. Weinberger and L. Maaten. Densely Connected Convolutional Networks. arXiv:1608.06993v3,2016.

[10]. G. Huang, Y. Sun, Z. Liu, D. Sedra and K. Q. Weinberger. Deep Networks with Stochastic Depth. arXiv:1603.09382v3,2016.

[11]. N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever and R. Salakhutdinov. Dropout: A Simple Way to Prevent Neural Networks from Overfitting. The Journal of Machine Learning Research 15(1) (2014) 1929–1958.

[12]. A. Veit, M. Wilber and S. Belongie. Residual Networks Behave Like Ensembles of Relatively Shallow Networks. arXiv:1605.06431v2,2016.

本文部分內容來自:https://medium.com/towards-data-science/an-overview-of-resnet-and-its-variants-5281e2f56035作者:Vincent Fung

點擊閱讀原文可查看職位詳情,期待你的加入~

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

「AI 聖經《深度學習》中文版首發」新智元聯合 7 大華人專家推薦,第一章內容大放送(評論贈書)
「DeepMin哈薩比斯長文」偉大的AI離不開神經科學:強化學習-Attention-連續學習
「重磅」中國新一代人工智慧規劃專家解讀,外媒:中國要統治AI

TAG:新智元 |

您可能感興趣

IllustrisTNG:目前最詳盡的計算機數字宇宙模型
谷歌AI再突破,Efficientnets有望成為計算機視覺任務的新基礎!
AMD 7nm Radeon Instinct計算卡首秀
CDN 的又一次革命:Serverless+邊緣計算
AMD 7nm Radeon Instinct計算卡解析:遊戲卡明年見
英特爾 Raejeanne Skillern:AI 將推動從雲計算到邊緣計算的全面創新
Epic Games收購雲計算公司Cloudgine,增強Unreal 4功能
TensorFlow新功能「AutoGraph」:將Python轉換為計算圖
AMD發布7nm Radeon Instinct專業計算卡
Intel推出基於Movidius和Arria FPGA的視覺加速產品,簡化邊緣計算設備
Facebook開源「Detectron」,用於AR研究的計算機視覺演算法!
Hennessy與Patterson 雙雙進駐 Google,是計算機科學新時代的曙光
Hennessy與Patterson雙雙進駐Google,是計算機科學新時代的曙光
Docker—Kubernetes已成為雲計算的主流
圖像處理,計算機視覺與machine learning的區別與聯繫
雲計算怎麼學?Io重定向Redirection詳解
獨家 | TensorFlow 2.0將把Eager Execution變為默認執行模式,你該轉向動態計算圖了
流計算Oceanus
OpenAI背後的領袖Ilya Sutskever:一個計算機視覺、機器翻譯、遊戲和機器人的變革者
PaaS將吞噬雲計算?Kubernetes的市場衝擊波