當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]原文:#Deep Learning回顧#之LeNet、AlexNet、GoogLeNet、VGG、ResNetCNN的發(fā)展史? ? ? ?上一篇回顧講的是2006年Hinton他們的Science

原文:#Deep Learning回顧#之LeNet、AlexNet、GoogLeNet、VGG、ResNet


CNN的發(fā)展史


? ? ? ?上一篇回顧講的是2006年Hinton他們的Science Paper,當(dāng)時提到,2006年雖然Deep Learning的概念被提出來了,但是學(xué)術(shù)界的大家還是表示不服。當(dāng)時有流傳的段子是Hinton的學(xué)生在臺上講paper時,臺下的機(jī)器學(xué)習(xí)大牛們不屑一顧,質(zhì)問你們的東西有理論推導(dǎo)嗎?有數(shù)學(xué)基礎(chǔ)嗎?搞得過SVM之類嗎?回頭來看,就算是真的,大牛們也確實不算無理取鬧,是騾子是馬拉出來遛遛,不要光提個概念。

? ? ? ?時間終于到了2012年,Hinton的學(xué)生Alex Krizhevsky在寢室用GPU死磕了一個Deep Learning模型,一舉摘下了視覺領(lǐng)域競賽ILSVRC 2012的桂冠,在百萬量級的ImageNet數(shù)據(jù)集合上,效果大幅度超過傳統(tǒng)的方法,從傳統(tǒng)的70%多提升到80%多。個人覺得,當(dāng)時最符合Hinton他們心境的歌非《我不做大哥好多年》莫屬。

? ? ? ?這個Deep Learning模型就是后來大名鼎鼎的AlexNet模型。這從天而降的AlexNet為何能耐如此之大?有三個很重要的原因:

大量數(shù)據(jù),Deep Learning領(lǐng)域應(yīng)該感謝李飛飛團(tuán)隊搞出來如此大的標(biāo)注數(shù)據(jù)集合ImageNet;GPU,這種高度并行的計算神器確實助了洪荒之力,沒有神器在手,Alex估計不敢搞太復(fù)雜的模型;算法的改進(jìn),包括網(wǎng)絡(luò)變深、數(shù)據(jù)增強(qiáng)、ReLU、Dropout等,這個后面后詳細(xì)介紹。

? ? ? ?從此,Deep Learning一發(fā)不可收拾,ILSVRC每年都不斷被Deep Learning刷榜,如圖1所示,隨著模型變得越來越深,Top-5的錯誤率也越來越低,目前降到了3.5%附近,而在同樣的ImageNet數(shù)據(jù)集合上,人眼的辨識錯誤率大概在5.1%,也就是目前的Deep Learning模型的識別能力已經(jīng)超過了人眼。而圖1中的這些模型,也是Deep Learning視覺發(fā)展的里程碑式代表。


圖1. ILSVRC歷年的Top-5錯誤率

? ? ? ?在仔細(xì)分析圖1中各模型結(jié)構(gòu)之前我們先需要了解一下深度學(xué)習(xí)三駕馬車之一————LeCun的LeNet網(wǎng)絡(luò)結(jié)構(gòu)。為何要提LeCun和LeNet,因為現(xiàn)在視覺上這些神器都是基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的,而LeCun是CNN的祖師爺,LeNet是LeCun打造的CNN經(jīng)典之作。

? ? ? ?LeNet以其作者名字LeCun命名,這種命名方式類似的還有AlexNet,后來又出現(xiàn)了以機(jī)構(gòu)命名的網(wǎng)絡(luò)結(jié)構(gòu)GoogLeNet、VGG,以核心算法命名的ResNet。LeNet有時也被稱作LeNet5或者LeNet-5,其中的5代表五層模型。不過別急,LeNet之前其實還有一個更古老的CNN模型。




最古老的CNN模型

? ? ? ?1985年,Rumelhart和Hinton等人提出了后向傳播(Back Propagation,BP)算法[1](也有說1986年的,指的是他們另一篇paper:Learning representations by back-propagating errors),使得神經(jīng)網(wǎng)絡(luò)的訓(xùn)練變得簡單可行,這篇文章在Google Scholar上的引用次數(shù)達(dá)到了19000多次,目前還是比Cortes和Vapnic的Support-Vector Networks稍落后一點,不過以Deep Learning最近的發(fā)展勁頭來看,超越指日可待。

? ? ? ?幾年后,LeCun利用BP算法來訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)用于識別手寫郵政編碼[2],這個工作就是CNN的開山之作,如圖2所示,多處用到了5*5的卷積核,但在這篇文章中LeCun只是說把5*5的相鄰區(qū)域作為感受野,并未提及卷積或卷積神經(jīng)網(wǎng)絡(luò)。關(guān)于CNN最原始的雛形感興趣的讀者也可以關(guān)注一下文獻(xiàn)[10]。



圖2. 最古老的CNN網(wǎng)絡(luò)結(jié)構(gòu)圖


LeNet

? ? ? ?1998年的LeNet5[4]標(biāo)注著CNN的真正面世,但是這個模型在后來的一段時間并未能火起來,主要原因是費(fèi)機(jī)器(當(dāng)時苦逼的沒有GPU?。移渌乃惴ǎ⊿VM,老實說是你干的吧?)也能達(dá)到類似的效果甚至超過。


圖3. LeNet網(wǎng)絡(luò)結(jié)構(gòu)


初學(xué)者也可以參考一下Caffe中的配置文件:
https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet.prototxt


AlexNet、VGG、GoogLeNet、ResNet對比

? ? ? ?LeNet主要是用于識別10個手寫數(shù)字的,當(dāng)然,只要稍加改造也能用在ImageNet數(shù)據(jù)集上,但效果較差。而本文要介紹的后續(xù)模型都是ILSVRC競賽歷年的佼佼者,這里具體比較AlexNet、VGG、GoogLeNet、ResNet四個模型。如表1所示。

初入江湖 2012 2014 2014 2015 層數(shù) 8 19 22 152 Top-5錯誤 16.4% 7.3% 6.7% 3.57% Data Augmentation + + + + Inception(NIN) – – + – 卷積層數(shù) 5 16 21 151 卷積核大小 11,5,3 3 7,1,3,5 7,1,3,5 全連接層數(shù) 3 3 1 1 全連接層大小 4096,4096,1000 4096,4096,1000 1000 1000 Dropout + + + + Local Response Normalization + – + – Batch Normalization – – – + 表1 AlexNet、VGG、GoogLeNet、ResNet對比


AlexNet

? ? ? ?接下里直接上圖即可,AlexNet結(jié)構(gòu)圖如下:



圖4. AlexNet網(wǎng)絡(luò)結(jié)構(gòu)


? ? ? ?換個視角:


圖5. AlexNet網(wǎng)絡(luò)結(jié)構(gòu)精簡版
?AlexNet相比傳統(tǒng)的CNN(比如LeNet)有哪些重要改動呢:
(1) Data Augmentation
? ? ? ?數(shù)據(jù)增強(qiáng),這個參考李飛飛老師的cs231課程是最好了。常用的數(shù)據(jù)增強(qiáng)方法有:


水平翻轉(zhuǎn)隨機(jī)裁剪、平移變換顏色、光照變換




(2) Dropout

? ? ? ?Dropout方法和數(shù)據(jù)增強(qiáng)一樣,都是防止過擬合的。Dropout應(yīng)該算是AlexNet中一個很大的創(chuàng)新,以至于Hinton在后來很長一段時間里的Talk都拿Dropout說事,后來還出來了一些變種,比如DropConnect等。

(3) ReLU激活函數(shù)

? ? ? ?用ReLU代替了傳統(tǒng)的Tanh或者Logistic。好處有:

ReLU本質(zhì)上是分段線性模型,前向計算非常簡單,無需指數(shù)之類操作;ReLU的偏導(dǎo)也很簡單,反向傳播梯度,無需指數(shù)或者除法之類操作;ReLU不容易發(fā)生梯度發(fā)散問題,Tanh和Logistic激活函數(shù)在兩端的時候?qū)?shù)容易趨近于零,多級連乘后梯度更加約等于0;ReLU關(guān)閉了右邊,從而會使得很多的隱層輸出為0,即網(wǎng)絡(luò)變得稀疏,起到了類似L1的正則化作用,可以在一定程度上緩解過擬合。

? ? ? ?當(dāng)然,ReLU也是有缺點的,比如左邊全部關(guān)了很容易導(dǎo)致某些隱藏節(jié)點永無翻身之日,所以后來又出現(xiàn)pReLU、random ReLU等改進(jìn),而且ReLU會很容易改變數(shù)據(jù)的分布,因此ReLU后加Batch Normalization也是常用的改進(jìn)的方法。

(4) Local Response Normalization
? ? ? ?Local Response Normalization要硬翻譯的話是局部響應(yīng)歸一化,簡稱LRN,實際就是利用臨近的數(shù)據(jù)做歸一化。這個策略貢獻(xiàn)了1.2%的Top-5錯誤率。

(5) Overlapping Pooling
? ? ? ?Overlapping的意思是有重疊,即Pooling的步長比Pooling Kernel的對應(yīng)邊要小。這個策略貢獻(xiàn)了0.3%的Top-5錯誤率。

(6) 多GPU并行
? ? ? ?這個不多說,比一臂之力還大的洪荒之力。


VGG

? ? ? ?VGG結(jié)構(gòu)圖


圖6. VGG系列網(wǎng)絡(luò)結(jié)構(gòu)


? ? ? ?換個視角看看VGG-19:


圖7. VGG-19網(wǎng)絡(luò)結(jié)構(gòu)精簡版

? ? ? ?VGG很好地繼承了AlexNet的衣缽,一個字:深,兩個字:更深。


GoogLeNet
圖8. GoogLeNet網(wǎng)絡(luò)結(jié)構(gòu)

? ? ? ?GoogLeNet依然是:沒有最深,只有更深。

? ? ? ?主要的創(chuàng)新在于他的Inception,這是一種網(wǎng)中網(wǎng)(Network In Network)的結(jié)構(gòu),即原來的結(jié)點也是一個網(wǎng)絡(luò)。Inception一直在不斷發(fā)展,目前已經(jīng)V2、V3、V4了,感興趣的同學(xué)可以查閱相關(guān)資料。Inception的結(jié)構(gòu)如圖9所示,其中1*1卷積主要用來降維,用了Inception之后整個網(wǎng)絡(luò)結(jié)構(gòu)的寬度和深度都可擴(kuò)大,能夠帶來2-3倍的性能提升。


圖9. Inception結(jié)構(gòu)


ResNet


網(wǎng)絡(luò)結(jié)構(gòu)如圖10所示。


圖10. ResNet網(wǎng)絡(luò)結(jié)構(gòu)


? ? ? ?ResNet依然是:沒有最深,只有更深(152層)。聽說目前層數(shù)已突破一千。

? ? ? ?主要的創(chuàng)新在殘差網(wǎng)絡(luò),如圖11所示,其實這個網(wǎng)絡(luò)的提出本質(zhì)上還是要解決層次比較深的時候無法訓(xùn)練的問題。這種借鑒了Highway Network思想的網(wǎng)絡(luò)相當(dāng)于旁邊專門開個通道使得輸入可以直達(dá)輸出,而優(yōu)化的目標(biāo)由原來的擬合輸出H(x)變成輸出和輸入的差H(x)-x,其中H(X)是某一層原始的的期望映射輸出,x是輸入。


圖11. ResNet網(wǎng)絡(luò)結(jié)構(gòu)


總結(jié)


Deep Learning一路走來,大家也慢慢意識到模型本身結(jié)構(gòu)是Deep Learning研究的重中之重,而本文回顧的LeNet、AlexNet、GoogLeNet、VGG、ResNet又是經(jīng)典中的經(jīng)典。

隨著2012年AlexNet的一舉成名,CNN成了計算機(jī)視覺應(yīng)用中的不二選擇。目前,CNN又有了很多其他花樣,比如R-CNN系列,詳情敬請期待我愛機(jī)器學(xué)習(xí)網(wǎng)站(52ml.net)的#Deep Learning回顧#下一期。

本文只是簡單回顧,疏漏之處敬請諒解,感興趣的可以加QQ群一起學(xué)習(xí):252085834

[參考文獻(xiàn)]
[1] DE Rumelhart, GE Hinton, RJ Williams, Learning internal representations by error propagation. 1985 – DTIC Document.
[2] Y. LeCun , B. Boser , J. S. Denker , D. Henderson , R. E. Howard , W. Hubbard and L. D. Jackel, “Backpropagation applied to handwritten zip code recognition”, Neural Computation, vol. 1, no. 4, pp. 541-551, 1989.
[3] Kaiming He, Deep Residual Learning, http://image-net.org/challenges/talks/ilsvrc2015_deep_residual_learning_kaiminghe.pdf
[4] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998.
[5] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems 25, pages 1106–1114, 2012.
[6] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott E. Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich: Going deeper with convolutions. CVPR 2015: 1-9
[7] Karen Simonyan, Andrew Zisserman: Very Deep Convolutional Networks for Large-Scale Image Recognition. CoRR abs/1409.1556 (2014)
[8] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep Residual Learning for Image Recognition. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016
[9] 一些對應(yīng)的caffe實現(xiàn)或預(yù)訓(xùn)練好的模型: https://github.com/BVLC/caffe https://github.com/BVLC/caffe/wiki/Model-Zoo
[10] K. Fukushima. Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological Cybernetics, 36(4): 93-202, 1980.











最古老的CNN模型

? ? ? ?1985年,Rumelhart和Hinton等人提出了后向傳播(Back Propagation,BP)算法[1](也有說1986年的,指的是他們另一篇paper:Learning representations by back-propagating errors),使得神經(jīng)網(wǎng)絡(luò)的訓(xùn)練變得簡單可行,這篇文章在Google Scholar上的引用次數(shù)達(dá)到了19000多次,目前還是比Cortes和Vapnic的Support-Vector Networks稍落后一點,不過以Deep Learning最近的發(fā)展勁頭來看,超越指日可待。

? ? ? ?幾年后,LeCun利用BP算法來訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)用于識別手寫郵政編碼[2],這個工作就是CNN的開山之作,如圖2所示,多處用到了5*5的卷積核,但在這篇文章中LeCun只是說把5*5的相鄰區(qū)域作為感受野,并未提及卷積或卷積神經(jīng)網(wǎng)絡(luò)。關(guān)于CNN最原始的雛形感興趣的讀者也可以關(guān)注一下文獻(xiàn)[10]。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉