馬世拓 班一杰 戴陳至力
摘? 要:近年來隨著深度學(xué)習(xí)的發(fā)展,圖像識(shí)別與分類問題取得了飛速進(jìn)展。而在深度學(xué)習(xí)的研究領(lǐng)域中,卷積神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于圖像識(shí)別。文章對前人在卷積神經(jīng)網(wǎng)絡(luò)領(lǐng)域的研究成果進(jìn)行了梳理與總結(jié)。首先介紹了深度學(xué)習(xí)的發(fā)展背景,然后介紹了一些常見卷積網(wǎng)絡(luò)的模型,并對其中的微網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行簡述,最后對卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展趨勢與特點(diǎn)進(jìn)行分析與總結(jié)。在未來的研究中,卷積神經(jīng)網(wǎng)絡(luò)仍將作為深度學(xué)習(xí)的一種重要模型得到進(jìn)一步發(fā)展。
關(guān)鍵詞:深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);微網(wǎng)絡(luò)
中圖分類號(hào):TP301.6? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2021)02-0011-05
Abstract:In recent years,with the development of deep learning,image recognition and classification problems have made rapid progress. In the field of deep learning,convolutional neural network is widely used in image recognition. In this paper,the previous research results in the field of convolutional neural network are combed and summarized. Firstly,it will introduce the development background of deep learning,and then introduce some common convolutional network models,and briefly describes the micro network structure. Finally,it will analyze and summarize the development trend and characteristics of convolutional neural network. In the future research,convolutional neural network will be further developed as an important model of deep learning.
Keywords:deep learning;convolutional neural network;micro network
0? 引? 言
近年來深度學(xué)習(xí)研究大熱,而卷積神經(jīng)網(wǎng)絡(luò)作為其中一種重要模型,梳理其發(fā)展脈絡(luò)對于其研究和發(fā)展具有重大意義。以校級(jí)“大創(chuàng)”項(xiàng)目“‘以詞搜圖檢索系統(tǒng)”中對卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)與研究歷程為出發(fā)點(diǎn),本文旨在梳理卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展脈絡(luò),并對卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展趨勢做簡要總結(jié)。
1? 人工神經(jīng)網(wǎng)絡(luò)的背景
1.1? 深度學(xué)習(xí)
深度學(xué)習(xí)最早其實(shí)可以追溯到感知神經(jīng)元被提出的時(shí)期,隨后經(jīng)歷了幾次研究浪潮,并于近年不斷受到研究者的青睞。深度學(xué)習(xí)以多層神經(jīng)網(wǎng)絡(luò)與后向傳播算法為基礎(chǔ),在計(jì)算機(jī)視覺、自然語言處理、語音識(shí)別等領(lǐng)域有廣泛應(yīng)用。神經(jīng)網(wǎng)絡(luò)是一種具有多層次的模型,將原始數(shù)據(jù)經(jīng)過各不同模塊逐漸抽象,但保留源數(shù)據(jù)的主要特征。經(jīng)過神經(jīng)網(wǎng)絡(luò)的不斷抽象,理論上它可以擬合任意一個(gè)復(fù)雜函數(shù)[1]。
圖1為一個(gè)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),分為輸入層(Input units)、隱藏層(Hidden units)和輸出層(Output units)。其中,Hidden units H1表示第一隱藏層,Hidden units H2表示第二隱層。
1.2? 后向傳播算法
1986年Hinton等人提出了誤差后向傳播(BackPro-pagation)算法[2]使得跌入低谷的神經(jīng)網(wǎng)絡(luò)研究再一次被人重新發(fā)掘。本質(zhì)上講,目標(biāo)函數(shù)的梯度在多層神經(jīng)網(wǎng)絡(luò)中的后向傳播過程是微積分中鏈?zhǔn)角髮?dǎo)法則的實(shí)際應(yīng)用。這一算法用于神經(jīng)網(wǎng)絡(luò)各層的權(quán)值更新。輸入信息從輸入層正向傳播到輸出層,計(jì)算誤差的梯度便從頂部的輸出層逐漸反向傳播到輸入層,一旦計(jì)算出了這些梯度就可以計(jì)算出對應(yīng)權(quán)重。
后向傳播算法也有它的局限性。比如,容易出現(xiàn)過擬合現(xiàn)象,以及梯度爆炸或梯度消失等現(xiàn)象,這些現(xiàn)象都有可能造成異常。針對這些問題,近年來不少學(xué)者都做出了探究并提出自己的解決方案。
2? 卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展
2.1? LeNet-5
卷積神經(jīng)網(wǎng)絡(luò)早在1989年就被提出,而Yann等人在1998年提出了卷積神經(jīng)網(wǎng)絡(luò)的第1個(gè)經(jīng)典架構(gòu)LeNet-5[3]。LeNet-5包含6個(gè)隱藏層,主要是靠卷積操作與池化操作堆疊來對圖像特征進(jìn)行抽取,并在MNIST數(shù)據(jù)集上取得了很好的效果。而這一架構(gòu)的設(shè)計(jì)最早也是被應(yīng)用于光學(xué)字符識(shí)別(主要是數(shù)字)。卷積這一數(shù)學(xué)操作能夠很好地提取圖像的空間特征;池化層的引入對特征產(chǎn)生了更強(qiáng)的抽象。并且通常使用雙曲正切函數(shù)或sigmoid函數(shù)作為激活函數(shù),處處連續(xù)可導(dǎo),它最大的優(yōu)點(diǎn)是體量小、易訓(xùn)練,圖2為其模型圖。其中,input表示輸入,F(xiàn)latten表示展平,將多維數(shù)組一維化以后再操作,output表示輸出。
2.2? AlexNet
AlexNet是Krizhevsky和Hinton等人在2012年提出的架構(gòu),該模型在ILSVRC-2012取得了冠軍的成績[4]。該架構(gòu)比LeNet-5略復(fù)雜一些,除去池化層外有5個(gè)卷積層和3個(gè)全連接層,在第1、2、5個(gè)卷積層后有池化層緊隨其后。該項(xiàng)研究提出了一系列神經(jīng)網(wǎng)絡(luò)編寫的技巧,例如使用數(shù)據(jù)增強(qiáng)方法擴(kuò)充數(shù)據(jù)集;使用Drop-Out來減少過擬合;提出局部相應(yīng)歸一化(Local Response Normalization)來增強(qiáng)模型的泛化能力;且使用目前常用的ReLU函數(shù)作為激活函數(shù)等。相比于LeNet-5,準(zhǔn)確率得到了進(jìn)一步提升。
2.3? VGG
VGG是SimonYan和Zisserman等在2015年提出的架構(gòu),相比于AlexNet深度更高[5]。這一架構(gòu)不只是提高了在ILSVRC競賽數(shù)據(jù)上的準(zhǔn)確率,還能夠方便地進(jìn)行遷移學(xué)習(xí)應(yīng)用于其它數(shù)據(jù)集。VGG的深度多為11、13、16和19,其中又以VGG-19表現(xiàn)最佳。這一架構(gòu)的提出以及相關(guān)實(shí)驗(yàn)驗(yàn)證了一個(gè)猜想:在一定范圍內(nèi)適當(dāng)增加卷積網(wǎng)絡(luò)的深度可以提高網(wǎng)絡(luò)的準(zhǔn)確率。
2.4? Network-in-Network
Network-in-Network由新加坡國立大學(xué)的Lin等人于2014年提出,首次將若干卷積層與全連接層的組合封裝為一個(gè)特殊模塊,并命名為MLPConv模塊[6]。這一架構(gòu)在表現(xiàn)上比AlexNet更佳。盡管仍然只是卷積層、池化層和全連接層的堆砌,但它的重大意義在于提供了一種思想,即“微網(wǎng)絡(luò)”,將某些層按照某種特定方式組合在一起使其模塊化。也正是由于這種思想,現(xiàn)代的神經(jīng)網(wǎng)絡(luò)工作者們可以從過分細(xì)化的思維中跳出來,從而發(fā)現(xiàn)更宏觀更加模塊化的新結(jié)構(gòu)。
2.5? Inception
Inception是Google團(tuán)隊(duì)在2014年的力作,并于2015重新發(fā)掘并提出了Inception-v3架構(gòu)[7]。這一架構(gòu)主要是解決兩個(gè)目的:第一,傳統(tǒng)的網(wǎng)絡(luò)層堆砌達(dá)到一定深度后會(huì)發(fā)生準(zhǔn)確率飽和的現(xiàn)象;第二,如何在保證準(zhǔn)確率不降的同時(shí)使開銷降低。從2.4中Network-in-Network介紹的思想出發(fā),Google團(tuán)隊(duì)通過引入多個(gè)分支將不同層并聯(lián)在一起,使得梯度能夠通過合適的線路傳遞下去。并且研究者發(fā)現(xiàn),使用若干小的卷積核組合比一個(gè)大的卷積核效果更好。Inception作為一種微網(wǎng)絡(luò),為GoogleNet的誕生打下了基礎(chǔ)。圖3為最基礎(chǔ)的Inception結(jié)構(gòu),Previous layer接收上一層輸入,convolutions進(jìn)行卷積,最后的Filter concatenation對四條路徑進(jìn)行一個(gè)綜合。
2.6? GoogleNet
GoogleNet也是Google團(tuán)隊(duì)于2015年在CVPR上發(fā)表的作品,該網(wǎng)絡(luò)以Inception作為其微網(wǎng)絡(luò)進(jìn)行模型構(gòu)建[8]。它在ILSVRC-2014上獲得冠軍,表現(xiàn)非凡。通過Inception的堆積增加了模型深度的同時(shí)也提高了模型的預(yù)測準(zhǔn)確率??梢哉fInception和GoogleNet的研究是第一個(gè)擺脫了“卷積層單線堆疊”這一傳統(tǒng)的架構(gòu)思維,具有重大意義,也為后續(xù)提出新的復(fù)雜微網(wǎng)絡(luò)結(jié)構(gòu)提供理論基礎(chǔ)。GoogleNet的結(jié)構(gòu)如圖4所示,其中conv表示卷積,MaxPooling表示最大池化,Depth concat將進(jìn)行支路的匯總。
2.7? ResNet
ResNet由微軟團(tuán)隊(duì)的He等人在2015年提出,引入了殘差學(xué)習(xí)(Residual Learning)的概念來提升性能[9]。單純地靠卷積層堆疊的方法,當(dāng)深度達(dá)到一定程度以后不但不會(huì)使效果提升反而會(huì)使得效果惡化,此時(shí)梯度消失和梯度爆炸的現(xiàn)象將十分嚴(yán)重。所以,研究人員設(shè)計(jì)了殘差學(xué)習(xí)的方法,通過引入shortcut作為Res-Block微網(wǎng)絡(luò)的處理方式,將堆疊的卷積層分成了兩個(gè)部分:Identity mapping和Residual mapping。ResNet的表達(dá)式為:
Identity mapping將原有信息直接傳遞到Res-Block的末尾,而Residual mapping部分由一系列卷積層堆砌而成,只需要學(xué)習(xí)一個(gè)差函數(shù)F(x)即可。兩部分組合以后才是我們的目標(biāo)H(x)。它緩解了隨著深度增加準(zhǔn)確率不升反降的問題,但深度也不能太高,因?yàn)榻?jīng)過實(shí)驗(yàn),具有1202層的ResNet在效果上準(zhǔn)確率表現(xiàn)不如101層ResNet但是開銷更大。Res-Block的結(jié)構(gòu)和ResNet的結(jié)構(gòu)分別如圖5和圖6所示。其中圖5的weight layer表示卷積塊能夠進(jìn)行學(xué)習(xí),identity則將原始輸入直接送到網(wǎng)絡(luò)末尾。圖6中一共三種層,image圖片被送入網(wǎng)絡(luò)以后,conv表示卷積層,avg pool表示平均池化,fc表示全連接層。shortcut僅針對卷積層進(jìn)行短切。
2.8? DenseNet
DenseNet是對ResNet的進(jìn)一步改進(jìn),由Huang等人于2018年提出[10]。網(wǎng)絡(luò)的結(jié)構(gòu)正如它的名稱,連接比較密集,而且同ResNet一樣都可以有效解決梯度消失問題。但不同的是,它將微網(wǎng)絡(luò)單元Dense-Block中每個(gè)卷積層都直接相連,使得它構(gòu)成了完全圖。雖然連接變多了,但是卻比ResNet具有更少的參數(shù),更加容易訓(xùn)練,而且具備一定正則化效果。
圖7為Dense-Block結(jié)構(gòu)示意圖。其中,H表示對應(yīng)的Dense-Block,x表示對應(yīng)單元塊的輸入。Input層表示網(wǎng)絡(luò)在開始訓(xùn)練時(shí)的接收輸入,而在經(jīng)過多個(gè)BN-ReLU-Conv(批量歸一化-激活-卷積堆疊)串成的主線與若干short-cut支線結(jié)合形成的復(fù)雜網(wǎng)絡(luò)訓(xùn)練以后,最終被輸出。值得注意的是,當(dāng)一個(gè)Dense-Block有n層時(shí),總的連接數(shù)為:
2.9? ShuffleNet
以往的研究都過分看重加深網(wǎng)絡(luò)深度來提高準(zhǔn)確率,而對于模型開銷的簡化則研究甚少。所以,Zhang等人提出ShuffleNet這一架構(gòu)來降低模型開銷,使其便于訓(xùn)練和部署[11]這一網(wǎng)絡(luò)架構(gòu)參考了分布式的理念,將不同信道(在圖像中主要表現(xiàn)為RGB三通道)的卷積結(jié)果亂序以后再進(jìn)行進(jìn)一步處理,又稱為群體卷積(Group Convolution)。將這一方法引入神經(jīng)網(wǎng)絡(luò),可以使得網(wǎng)絡(luò)在保證準(zhǔn)確率的同時(shí),相比于其它架構(gòu)單元具有更強(qiáng)的泛化能力。
2.10? MobileNet
MobileNet的目標(biāo)為能夠方便地在移動(dòng)端部署的深度學(xué)習(xí)模型,由A.G.Howard等人在2017年提出[12]。相比于ResNet等大型網(wǎng)絡(luò),這一網(wǎng)絡(luò)更小而且更容易訓(xùn)練。通過深度自分割卷積操作能夠有效將訓(xùn)練復(fù)雜度降低。另外,該網(wǎng)絡(luò)還引入了兩個(gè)超參數(shù):寬度乘子和卷積核乘子,在進(jìn)一步降低訓(xùn)練難度的同時(shí)保證準(zhǔn)確率。經(jīng)過深度自分割卷積以后空間開銷與原有開銷的比例為:
這一比例結(jié)果表明,通過引入深度自分割卷積等操作,參數(shù)量相比原來大大減少,從而能夠在極大程度上降低訓(xùn)練難度。若使用深度自分割卷積的核尺寸為(3×3)的話,計(jì)算量將是普通(3×3)卷積核的八分之一到九分之一。
3? 卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展前景
3.1? 卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用
卷積神經(jīng)網(wǎng)絡(luò)用于圖像處理與計(jì)算機(jī)視覺有著得天獨(dú)厚的優(yōu)勢,在模式識(shí)別、目標(biāo)探測、目標(biāo)分割以及圖像分類等領(lǐng)域有著重要作用。除此以外,卷積作為一種常用的數(shù)學(xué)操作,也可以用于信號(hào)處理。近年來隨著多模態(tài)理論的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)也常常組合使用,建立“視頻-圖像-文本”的模型。
3.2? 卷積神經(jīng)網(wǎng)絡(luò)的新元素
卷積神經(jīng)網(wǎng)絡(luò)在發(fā)展過程中也不斷吸納新的思想來創(chuàng)造出新的結(jié)構(gòu)。例如分形網(wǎng)絡(luò),就利用了分形幾何思想對ResNet進(jìn)行了改進(jìn)[13];還有金字塔網(wǎng)絡(luò),自上而下增加寬度進(jìn)行改進(jìn)[14],等等。此外,通過引入計(jì)算機(jī)視覺中注意力的概念,現(xiàn)在也誕生了一些基于注意力機(jī)制的網(wǎng)絡(luò)例如SENet[15]等。
3.3? 卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展趨勢
從卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程來看,我們發(fā)現(xiàn)卷積網(wǎng)絡(luò)主要追求兩方面的改進(jìn):
(1)通過加深模型的深度來提高模型的準(zhǔn)確率。
(2)減少模型參數(shù)來降低模型訓(xùn)練所需的開銷。
而微觀角度上,我們又可以發(fā)現(xiàn)以下特點(diǎn):
(1)用多個(gè)小卷積核代替大卷積核。
(2)用深度自分割卷積代替普通卷積。
(3)更大程度上利用分布式原理。
(4)微網(wǎng)絡(luò)單元變化越發(fā)豐富。
綜觀卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,結(jié)合以LSTM為代表的循環(huán)神經(jīng)網(wǎng)絡(luò)與多模態(tài)理論,日后卷積網(wǎng)絡(luò)可能還會(huì)在帶有時(shí)序成分的圖像處理(如視頻等)以及時(shí)空雙流的卷積神經(jīng)網(wǎng)絡(luò)中取得重大突破。此外,目前的卷積神經(jīng)網(wǎng)絡(luò)處理的是主要是二維數(shù)據(jù),日后可能誕生三維的卷積神經(jīng)網(wǎng)絡(luò)來構(gòu)建三維模型[16]。
4? 結(jié)? 論
本文梳理了卷積神經(jīng)網(wǎng)絡(luò)相關(guān)研究的發(fā)展脈絡(luò),從深度學(xué)習(xí)的提出到今天卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上和方法上的變化。可以看到,從最早的LeNet-5、AlexNet等到后來的ResNet、DenseNet等規(guī)模大準(zhǔn)確率高的模型,以及MobileNet、ShuffleNet等一些開銷小易于部署的模型,卷積神經(jīng)網(wǎng)絡(luò)的相關(guān)研究也在不斷發(fā)展。在這一過程中誕生了一些具有重大意義的思想例如network-in-network等,也引入了一些新的元素改進(jìn)模型性能。但目前卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練開銷仍然不小,如何選擇合適的卷積核、層數(shù)、學(xué)習(xí)率等仍然有待業(yè)界更深入的研究。
參考文獻(xiàn):
[1] YANN L C,BENGIO Y,HINTON G. Deep learning [J].Nature,2015,521(7553):436-444.
[2] RUMELHART D E,HINTON G E,WILLIAMS R J. Learning representations by back-propagating errors [J].Nature,1986,323:533-536.
[3] YANN L C,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition [J].Proceedings of the IEEE,1998,86(11):2278-2324.
[4] KRIZHEVSKY A,SUTSKEVER I,HINTON G. ImageNet Classification with Deep Convolutional Neural Networks [C]//NIPS12.New York:Curran Associates Inc,2012:1-9.
[5] SIMONYAN K,ZISSERMAN A. Very Deep Convolutional Networks for Large-Scale Image Recognition [J/OL].arXiv:1409.1556v6 [cs.CV].(2014-04-10).https://arxiv.org/abs/1409.1556v6.
[6] LIN M,CHEN Q,YAN S C. Network In Network [J/OL].arXiv:1312.4400v3 [cs.NE].(2013-12-16).https://arxiv.org/abs/1312. 4400v3.
[7] SZEGEDY C,VANHOUCKE V,IOFFE S,et al. Rethinking the Inception Architecture for Computer Vision [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Las Vegas:IEEE,2016:2818-2826.
[8] SZEGEDY C,LIU W,JIA Y Q,et al. Going deeper with convolutions [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Boston:IEEE,2015:1-9.
[9] HE K M,ZHANG X Y,REN S Q,et al. Deep Residual Learning for Image Recognition [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Las Vegas:IEEE,2016:770-778.
[10] HUANG G,LIU Z,MAATEN L V D,et al. Densely Connected Convolutional Networks [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Honolulu:IEEE,2017:2261-2269.
[11] ZHANG X Y,ZHOU X Y,LIN M X,et al. ShuffleNet:An Extremely Efficient Convolutional Neural Network for Mobile Devices [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:6848-6856.
[12] HOWARD A G,ZHU M L,CHEN B,et al. MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications [J/OL].arXiv:1704.04861v1 [cs.CV].(2017-04-17).https://arxiv.org/abs/1704.04861v1.
[13] LARSSON G,MAIRE M,SHAKHNAROVICH G. FractalNet:Ultra-Deep Neural Networks without Residuals [J/OL].arXiv:1605.07648v4 [cs.CV].(2017-05-26).https://arxiv.org/abs/1605.07648v4.
[14] HAN D Y,KIM J H,KIM J M. Deep Pyramidal Residual Networks [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Honolulu:IEEE,2017:6307-6315.
[15] HU J,SHEN L,SUN G. Squeeze-and-Excitation Networks [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:7132-7141.
[16] HADJI I,WILDES R P. What Do We Understand About Convolutional Networks? [J/OL].arXiv:1803.08834v1 [cs.CV].(2018-05-23).https://arxiv.org/abs/1803.08834.
作者簡介:馬世拓(2001.10—)男,漢族,湖北武漢人,本科在讀,研究方向:機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘;班一杰(2001.12—),男,漢族,山東臨沂人,本科在讀,研究方向:物聯(lián)網(wǎng)工程;戴陳至力(2002.04—),男,漢族,江蘇泰州人,本科在讀,研究方向:計(jì)算機(jī)視覺。