張毅鋒 蔣 程 程 旭 劉 袁
(1東南大學(xué)信息科學(xué)與工程學(xué)院, 南京 210096)(2東南大學(xué)南京通信技術(shù)研究院, 南京 211100)(3南京大學(xué)計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室, 南京 210093)(4南京信息工程大學(xué)計(jì)算機(jī)與軟件學(xué)院, 南京 210044)
卷積神經(jīng)網(wǎng)絡(luò)分為無(wú)跨層傳輸結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)和有跨層傳輸結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)兩大類. 前者僅將上一卷積層所產(chǎn)生的信息傳輸?shù)疆?dāng)前卷積層,這類網(wǎng)絡(luò)包括LeNet網(wǎng)絡(luò)[1]、VGG網(wǎng)絡(luò)[2]等, 其缺點(diǎn)是當(dāng)層數(shù)超出一定范圍后網(wǎng)絡(luò)的識(shí)別性能會(huì)發(fā)生退化. 后者則將所有卷積層產(chǎn)生的信息都傳輸?shù)疆?dāng)前卷積層,這類網(wǎng)絡(luò)包括ResNet網(wǎng)絡(luò)[3]、DenseNet網(wǎng)絡(luò)[4]、Highway網(wǎng)絡(luò)[5]等,通過(guò)引入跨層傳輸結(jié)構(gòu),將淺層特征直接傳輸至更深的卷積層,緩解了網(wǎng)絡(luò)識(shí)別性能退化的問(wèn)題. 全卷積網(wǎng)絡(luò)(All-CNN)[6]用卷積層來(lái)代替池化層,獲得比使用池化層更好的識(shí)別性能. Fei等[7]將注意力模型應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò),標(biāo)定了不同特征的權(quán)重, 從而改進(jìn)了卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別性能. 文獻(xiàn)[8-9]利用多尺度特征,提供了更豐富的信息,在許多計(jì)算機(jī)視覺(jué)任務(wù)中達(dá)到了更佳的性能.
本文首先證明跨層傳輸是基完備化過(guò)程,并提出了特征提升結(jié)構(gòu)(FeaPro). 然后,設(shè)計(jì)了以非線性變換(NT)單元為主要結(jié)構(gòu)的期望網(wǎng)絡(luò)(ExpNet),NT單元由多類型特征提取結(jié)構(gòu)和嵌入多層感知機(jī)組成. 仿真實(shí)驗(yàn)表明,相比經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò),ExpNet網(wǎng)絡(luò)具有更低的誤識(shí)別率。
設(shè)NT單元的所有可能輸入構(gòu)成線性空間,記為輸入空間I.輸出空間類似,記為O.I為空間Mpq的子空間,且Mpq是由所有大小為p×q的矩陣所組成的線性空間.I的基可擴(kuò)充成Mpq的一組基.
第i+ 1個(gè)NT單元的輸入空間Ii+1與第i個(gè)NT單元的輸入空間Ii、輸出空間Oi具有如下關(guān)系:
Ii+1=span(Ii∪Oi)
(1)
式中,span(Ii∪Oi)表示由Ii∪Oi張成的線性空間.
定理1基于拼接方式的跨層傳輸實(shí)質(zhì)上是基的完備化過(guò)程.
證明設(shè)NT單元的輸入(未經(jīng)1×1卷積)為特征圖F1,F2,…,Fn. 經(jīng)1×1卷積后,得到NT單元的輸入空間為
I=span(F1,F2,…,Fn)
(2)
輸出空間O中任意矩陣可表示為F1,F2,…,Fn的非線性函數(shù),且O中至少有一個(gè)矩陣不能由I的基線性表示. 故O的基中至少有一個(gè)成員不能由I的基線性表示. 設(shè)I的一組基為F1,F2,…,Ft,O的一組基為R1,R2,…,Rr.將F1,F2,…,Ft和R1,R2,…,Rr合并,得到矩陣組
N={F1,F2,…,Ft,R1,R2,…,Rr}
(3)
下一個(gè)NT單元的輸入空間可表示為span(F1,F2,…,Ft,R1,R2,…,Rr).
如果R1,R2,…,Rr均不可由F1,F2,…,Ft線性表示,則結(jié)論成立.
假設(shè)R1,R2,…,Rr中一部分成員可由F1,F2,…,Ft線性表示.即R1,R2,…,Rl可由F1,F2,…,Ft線性表示,Rl+1,Rl+2,…,Rr不能由F1,F2,…,Ft線性表示. 將F1,F2,…,Ft和Rl+1,Rl+2,…,Rr合并,得到矩陣組P,即
P={F1,F2,…,Ft,Rl+1,Rl+2,…,Rr}
(4)
如果
那么將Ri從P中剔除, 并將P更新為P
(5)
設(shè)存在實(shí)系數(shù)β1,β2,…,βt,φ1,φ2,…,φs滿足
(6)
φ1=φ2=…=φs=0
(7)
因F1,F2,…,Ft線性無(wú)關(guān), 故
β1=β2=…=βt=0
(8)
由此可知,Q中矩陣線性無(wú)關(guān).
任取S中矩陣B,則存在實(shí)系數(shù)θ1,θ2,…,θt,μ1,μ2,…,μr使得
(9)
由于Rj(j=1,2,…,l)均可由F1,F2,…,Ft線性表示,故存在實(shí)系數(shù)aj1,aj2,…,ajt使得
(10)
將式(10)代入式(9)可知
(11)
令
(12)
則
(13)
(14)
Q中矩陣間線性無(wú)關(guān), 故Q為
S=span(F1,F2,…,Ft,R1,R2,…,Rr)
的一組基. 證畢.
Q為S的一組基,則Q為NT單元中輸出空間的一組基. 由于s≥1,故下一個(gè)NT單元的輸入空間維數(shù)必大于當(dāng)前NT單元的輸入空間維數(shù),這擴(kuò)大了搜索范圍,更容易發(fā)現(xiàn)全局最優(yōu)解.
圖1為第1類和第2類特征提升結(jié)構(gòu). 特征提升結(jié)構(gòu)將輸入進(jìn)行1×1卷積處理,然后將其作為NT單元的輸入進(jìn)行進(jìn)一步處理,最后將NT單元的輸出和原始輸入(或者經(jīng)過(guò)1×1卷積處理的輸入,如圖1所示)進(jìn)行拼接,作為最終的輸出. 2類特征提升結(jié)構(gòu)的主要不同點(diǎn)在于跨層傳輸結(jié)構(gòu). 第1類特征提升結(jié)構(gòu)首先進(jìn)行1×1卷積操作,然后進(jìn)行跨層傳輸. 第2類特征提升結(jié)構(gòu)則直接進(jìn)行跨層傳輸.
(a) 第1類
(b) 第2類
設(shè)圖1中輸入為E1,E2,…,En, NT單元的輸出為K1,K2,…,Kn. 第1類和第2類特征提升結(jié)構(gòu)的輸出分別為
(15)
T2={E1,E2,…,En,K1,K2,…,Kn}
(16)
則有
rank(T1)≤rank(T2)
(17)
式中,rank(Ti)表示Ti的秩,i=1, 2. 式(17)表明第2類特征提升結(jié)構(gòu)搜索最優(yōu)解的范圍更大,優(yōu)于第1類特征提升結(jié)構(gòu).
特征提升結(jié)構(gòu)所包含的NT單元如圖2所示, 它由多類型特征提取結(jié)構(gòu)和嵌入多層感知機(jī)組成. 多類型特征提取結(jié)構(gòu)提取的特征包括尺度為3×3和5×5的特征以及由最大池化操作所得的特征, 其中尺度為5×5的特征由2個(gè)尺度為3×3的特征級(jí)聯(lián)而得. 多類型特征提取結(jié)構(gòu)的輸出特征圖數(shù)量隨層數(shù)的增加呈指數(shù)式增長(zhǎng). NT單元基于嵌入多層感知機(jī)來(lái)保證輸入特征圖數(shù)量和輸出特征圖數(shù)量相同,緩解特征圖過(guò)多的問(wèn)題. 嵌入多層感知機(jī)通過(guò)標(biāo)定不同類型特征圖的權(quán)重來(lái)提升主要特征圖,抑制其他特征圖.
圖2 ExpNet網(wǎng)絡(luò)的NT單元
多類型特征提取結(jié)構(gòu)利用卷積操作的串聯(lián)、并聯(lián)來(lái)提取不同類型的特征.如圖3所示,結(jié)構(gòu)分為2層,第1層包括3×3卷積單元和修正線性單元,第2層包括1×1卷積單元、3×3卷積單元、2×2最大池化單元以及修正線性單元. 多類型特征提取結(jié)構(gòu)具有良好的擴(kuò)展能力.
圖3 多類型特征提取結(jié)構(gòu)
NT單元利用嵌入多層感知機(jī)來(lái)控制特征圖的數(shù)量. 嵌入多層感知機(jī)的結(jié)構(gòu)如圖4所示.圖中,L和W分別為特征圖的長(zhǎng)度和寬度;D為特征圖數(shù)量;k為特征圖種類數(shù).
圖4 嵌入多層感知機(jī)
設(shè){Aij}為嵌入多層感知機(jī)的輸入,其中Aij為第i類的第j個(gè)特征圖.歸一化權(quán)重分布p={p1,p2,…,pk},第j個(gè)期望圖bj為
(18)
首先,將k×D幅特征圖{Aij}輸入至歸一化均值池化層.輸入特征圖共分為k類.針對(duì)每類輸入特征圖,歸一化均值池化層采用下式生成一個(gè)實(shí)數(shù):
(19)
式中,mean(xi)為第i個(gè)特征圖xi的全局均值池化值.該實(shí)數(shù)概括了該類特征圖的統(tǒng)計(jì)信息.
由式(19)可知,嵌入多層感知機(jī)的輸入被映射為一個(gè)k維向量m={m1,m2,…,mk}.則多層感知機(jī)的輸入為
(20)
通過(guò)多層感知機(jī)來(lái)學(xué)習(xí)最優(yōu)權(quán)重分布,并利用softmax函數(shù)對(duì)所學(xué)權(quán)重進(jìn)行歸一化處理,從而得到最優(yōu)的歸一化權(quán)重分布.
嵌入多層感知機(jī)通過(guò)引入特征競(jìng)爭(zhēng)機(jī)制來(lái)提升主要特征,抑制其他特征,還可控制輸出特征圖數(shù)量.然而,嵌入多層感知機(jī)會(huì)導(dǎo)致信息難以流動(dòng),在NT單元中引入跨層傳輸結(jié)構(gòu)可緩解該問(wèn)題(見(jiàn)圖3).
ExpNet網(wǎng)絡(luò)的總體結(jié)構(gòu)見(jiàn)圖5,具體配置見(jiàn)表1.表中,s為步長(zhǎng),t為NT單元個(gè)數(shù). ExpNet網(wǎng)絡(luò)包括卷積層、特征提升結(jié)構(gòu)、均值池化層、線性變換層以及softmax分類器. 其中,卷積層和特征提升結(jié)構(gòu)用于提取并提升特征;均值池化層用于池化操作并銜接特征提升結(jié)構(gòu);全局均值池化層、線性變換層以及softmax分類器組成淺層分類器,用于分類.
圖5 ExpNet網(wǎng)絡(luò)的總體結(jié)構(gòu)
層次輸出尺寸/像素結(jié)構(gòu)配置卷積層32×323×3卷積(s=1)特征提升層132×32NT單元(t=6),1×1卷積(s=1)池化層116×162×2均值池化(s=2)特征提升層216×16NT單元(t=10),1×1卷積(s=1)池化層28×82×2均值池化(s=2)特征提升層38×8NT單元(t=8),1×1卷積(s=1)池化層34×42×2均值池化(s=2)特征提升層44×4NT單元(t=6)判別層1×14×4全局均值池化10維全連接,softmax分類器
CIFAR-10數(shù)據(jù)集[10]包含來(lái)自10個(gè)種類的6×104幅圖像(5×104幅訓(xùn)練圖像和1×104幅測(cè)試圖像).CIFAR-100數(shù)據(jù)集包括100個(gè)小類,每個(gè)小類包括600幅圖像(500幅訓(xùn)練圖像和100幅測(cè)試圖像).100個(gè)小類又可歸為20個(gè)大類.每幅圖像帶有小類類別和大類類別.與文獻(xiàn)[3,6,11-14]類似,本文采用翻轉(zhuǎn)和平移來(lái)進(jìn)行數(shù)據(jù)增強(qiáng).SVHN數(shù)據(jù)集[15]由手寫數(shù)字圖像組成,其中包括訓(xùn)練圖像73 257幅,測(cè)試圖像26 032幅,用于輔助訓(xùn)練的圖像531 131幅.
所有網(wǎng)絡(luò)均采用隨機(jī)梯度下降法(SGD)來(lái)訓(xùn)練.批大小設(shè)為64,在CIFAR數(shù)據(jù)集和SVHN數(shù)據(jù)集上,訓(xùn)練周期數(shù)量 (epoch)分別設(shè)為300和40.權(quán)重衰減因子設(shè)置為10-4, Nesterov動(dòng)量[16]設(shè)置為0.9.CIFAR數(shù)據(jù)集和SVHN數(shù)據(jù)集上所采用的學(xué)習(xí)率見(jiàn)表2. 表中,u為訓(xùn)練批次.
表2 各數(shù)據(jù)集上的學(xué)習(xí)率
設(shè)置ExpNet網(wǎng)絡(luò)中特征提升結(jié)構(gòu)的輸出特征圖數(shù)量為24,嵌入多層感知機(jī)的隱層數(shù)量為2,隱層所含神經(jīng)元數(shù)量為12. 嵌入多層感知機(jī)的輸入維度、輸出維度均為3.
ExpNet網(wǎng)絡(luò)在深度學(xué)習(xí)框架Tensorflow上實(shí)現(xiàn),計(jì)算機(jī)配置為GTX 1070Ti,內(nèi)存為16 G.進(jìn)行實(shí)驗(yàn)前,對(duì)圖像進(jìn)行預(yù)處理,從圖像中移除了平均亮度值.
5.3.1 訓(xùn)練
圖6為ExpNet網(wǎng)絡(luò)在CIFAR-10數(shù)據(jù)集上的學(xué)習(xí)曲線.由圖可知,損失函數(shù)值在訓(xùn)練過(guò)程中不斷減小.當(dāng)訓(xùn)練完成時(shí),損失函數(shù)值降至4×10-3,誤識(shí)別率降至5.45%.誤識(shí)別率和損失函數(shù)值在第150及第225個(gè)訓(xùn)練周期時(shí)出現(xiàn)大幅下降,這是學(xué)習(xí)率減小所引起的.
圖6 ExpNet網(wǎng)絡(luò)在CIFAR-10上的學(xué)習(xí)曲線
5.3.2 卷積網(wǎng)絡(luò)的識(shí)別率
表3列出了各主流卷積網(wǎng)絡(luò)及ExpNet網(wǎng)絡(luò)在數(shù)據(jù)集CIFAR-10,CIFAR-100和SVHN上的誤識(shí)別率.其中DACIFAR-10和DACIFAR-100表示經(jīng)數(shù)據(jù)增強(qiáng)處理的CIFAR-10和CIFAR-100數(shù)據(jù)集.由表可知,ExpNet網(wǎng)絡(luò)在數(shù)據(jù)集CIFAR-10,CIFAR-100,SVHN上的誤識(shí)別率分別為5.45%,26.40%和1.91%,較ResNet網(wǎng)絡(luò)分別降低了0.96%,0.82%和0.10%. 綜合考慮各卷積神經(jīng)網(wǎng)絡(luò)在3個(gè)數(shù)據(jù)集上的性能表現(xiàn),ExpNet網(wǎng)絡(luò)具有更高的識(shí)別精度.
表3 卷積神經(jīng)網(wǎng)絡(luò)的誤識(shí)別率 %
5.3.3 特征提升結(jié)構(gòu)數(shù)量對(duì)誤識(shí)別率的影響
表4列出了ExpNet網(wǎng)絡(luò)中不同特征提升結(jié)構(gòu)數(shù)量下的誤識(shí)別率,其中l(wèi)表示特征提升結(jié)構(gòu)的數(shù)量.由表可知,適當(dāng)增加特征提升結(jié)構(gòu)的數(shù)量可降低誤識(shí)別率.然而,特征提升結(jié)構(gòu)數(shù)量過(guò)多會(huì)使得網(wǎng)絡(luò)出現(xiàn)過(guò)擬合問(wèn)題.當(dāng)ExpNet網(wǎng)絡(luò)中特征提升結(jié)構(gòu)數(shù)量為30時(shí),CIFAR-10數(shù)據(jù)集和CIFAR-100數(shù)據(jù)集上的誤識(shí)別率分別為5.45% 和26.40%.
表4 不同特征提升結(jié)構(gòu)數(shù)量下的誤識(shí)別率 %
5.3.4 抗過(guò)擬合性能
嵌入多層感知機(jī)可減少ExpNet網(wǎng)絡(luò)的參數(shù)量,而且所采用的跨層傳輸結(jié)構(gòu)可提高參數(shù)利用率. 由表3可知,進(jìn)行數(shù)據(jù)增強(qiáng)前后,ResNet網(wǎng)絡(luò)在CIFAR-10數(shù)據(jù)集上的誤識(shí)別率分別為13.63%和6.14%,CIFAR-100數(shù)據(jù)集上的誤識(shí)別率分別為44.74%和27.22%;ExpNet網(wǎng)絡(luò)在CIFAR-10數(shù)據(jù)集上的誤識(shí)別率分別為7.65%和5.45%,CIFAR-100 數(shù)據(jù)集上的誤識(shí)別率分別為29.10%和26.40%. 這說(shuō)明ExpNet網(wǎng)絡(luò)的抗過(guò)擬合能力優(yōu)于ResNet網(wǎng)絡(luò)等經(jīng)典卷積神經(jīng)網(wǎng)絡(luò).
5.3.5 ExpNet網(wǎng)絡(luò)參數(shù)量對(duì)誤識(shí)別率的影響
圖7給出了ExpNet網(wǎng)絡(luò)參數(shù)量與誤識(shí)別率的關(guān)系.由圖可知,適當(dāng)增加ExpNet網(wǎng)絡(luò)的參數(shù)量可降低誤識(shí)別率.但網(wǎng)絡(luò)參數(shù)量過(guò)大會(huì)使得網(wǎng)絡(luò)出現(xiàn)過(guò)擬合問(wèn)題,導(dǎo)致誤識(shí)別率增大.
1) 證明了基于拼接方式的跨層傳輸結(jié)構(gòu)可擴(kuò)大搜索空間,有利于發(fā)現(xiàn)全局最優(yōu)解.
2) 基于多類型特征提取結(jié)構(gòu)、嵌入多層感知機(jī)以及跨層傳輸結(jié)構(gòu)設(shè)計(jì)了ExpNet網(wǎng)絡(luò),其主要結(jié)構(gòu)為NT單元. NT單元的多類型特征提取結(jié)構(gòu)可提取多種特征,嵌入多層感知機(jī)可通過(guò)學(xué)習(xí)概率分布的方式來(lái)控制特征圖數(shù)量,跨層傳輸結(jié)構(gòu)可緩解網(wǎng)絡(luò)性能退化的問(wèn)題.
(a) CIFAR
(b)SVHN
3) 仿真實(shí)驗(yàn)結(jié)果表明,ExpNet網(wǎng)絡(luò)在數(shù)據(jù)集DACIFAR-10,DACIFAR-100及SVHN上的誤識(shí)別率分別為5.45%,26.40%,1.91%, 優(yōu)于其他經(jīng)典卷積神經(jīng)網(wǎng)絡(luò).