郭俊亮,張洪川
(銅仁職業(yè)技術(shù)學(xué)院,貴州 銅仁554300)
卷積神經(jīng)網(wǎng)絡(luò)是一種局部提取特征的方法,可以有效地響應(yīng)局部模式,用這種方法提取整張圖片的特征,它是平移不變模式。在網(wǎng)絡(luò)逐層累加的過程中,對(duì)圖像進(jìn)行了縮放。卷積神經(jīng)網(wǎng)絡(luò)的核心是卷積層和池化層。
(1)輸入:W1×H1×D1。
(2)超參數(shù):卷積核的個(gè)數(shù):K,卷積核的尺寸:F,步長:S,填充:P。
(3)輸出:W2×H2×D2,
(4)參數(shù):(F×F×D1+1)×K,其中,W是圖像的寬度,H是圖像的高度,D是圖像的深度。
(1)輸入:W1×H1×D1。
(2)超參數(shù):卷積核的尺寸:F,步長:S。
(3)輸出:W2×H2×D2,
參數(shù):最大池化和平均池化是沒有參數(shù)的,但是一些池化方法中是有參數(shù)的。
LeNet-5是由輸入層、卷積層、池化層、卷積層、池化層、全連接層、全連接層、輸出層組成[1]。輸入層圖像的尺寸大小是32*32,卷積層C1使用了6個(gè)5*5*1卷積核,對(duì)輸入圖像進(jìn)行valid卷積操作,輸出28*28*6。池化層S2使用了6個(gè)2*2的矩陣,對(duì)28*28*6進(jìn)行最大池化操作,輸出14*14*6。卷積層C3使用了16個(gè)5*5*6的卷積核,對(duì)14*14*6進(jìn)行valid卷積操作,輸出10*10*16。池化層C4使用了16個(gè)2*2的矩陣,對(duì)10*10*16進(jìn)行最大池化操作,輸出5*5*16。全連接層有兩個(gè)隱含層,第一個(gè)隱含層有120個(gè)神經(jīng)元,第二個(gè)隱含層有84個(gè)神經(jīng)元。輸出層有10個(gè)神經(jīng)元。
AlexNet是由卷積層、池化層、卷積層、池化層、卷積層、卷積層、卷積層、池化層、輸出層組成[2]。輸入層圖像的尺寸是224*224*3,在實(shí)際應(yīng)用中,需要變成227*227*3,卷積層C1使用了96個(gè)11*11*3卷積核,對(duì)輸入圖像進(jìn)行步長為4的valid卷積操作,輸出55*55*96。S1使用96個(gè)3*3卷積核,對(duì)55*55*96進(jìn)行步長為2的valid最大值池化操作,輸出27*27*96。C2使用了256個(gè)5*5*96卷積核,對(duì)27*27*96,進(jìn)行same卷積操作,輸出27*27*256。S2使用256個(gè)3*3卷積核,對(duì)27*27*256,進(jìn)行步長為2的valid最大池化操作,輸出13*13*256。C3使用256個(gè)13*13*256卷積核,對(duì)13*13*256進(jìn)行same卷積操作,輸出13*13*384。C4使用384個(gè)13*13*384卷積核,對(duì)13*13*384進(jìn)行same卷積操作,輸出13*13*384。C5使用256個(gè)13*13*384卷積核,對(duì)13*13*384進(jìn)行same卷積操作,輸出13*13*256。S3使用3*3*256卷積核,對(duì)13*13*256進(jìn)行步長為2的valid最大池化操作,輸出6*6*256。全連接層6有4096個(gè)神經(jīng)元,全連接層7有4096個(gè)神經(jīng)元,輸出有1000個(gè)神經(jīng)元。
VGG是由牛津大學(xué)計(jì)算機(jī)視覺組和DeepMind公司共同研發(fā)的經(jīng)典的CNN模型,它采用小卷積核和增加網(wǎng)絡(luò)的深度方法,對(duì)網(wǎng)絡(luò)最后的分類識(shí)別效果有很大作用[3]。VGG共有6種不同的網(wǎng)絡(luò)結(jié)構(gòu),它們都包含5組卷積操作,每組卷積包括2個(gè)2*2或3個(gè)2*2卷積操作,然后進(jìn)行2*2的最大值池化,將卷積層和最大池化層反復(fù)疊加,最后連接3個(gè)全連接層,組成VGG網(wǎng)絡(luò)結(jié)構(gòu),現(xiàn)在,在圖像處理研究和應(yīng)用最多的是VGG16和VGG19,VGG16是卷積層和池化層疊加的層數(shù)是16,VGG19是卷積層和池化層疊加的層數(shù)是19,兩者只是網(wǎng)絡(luò)的深度不同,VGG16是16層,VGG19是19層。
Inception網(wǎng)絡(luò)結(jié)構(gòu)是由Google團(tuán)隊(duì)提出,因此也稱為GoogLeNet,該模型一共有四個(gè)版本,V1到V4[4]。采用并行執(zhí)行多個(gè)具有不同尺度的卷積運(yùn)算或池化操作,并將多個(gè)卷積核卷積的結(jié)果拼接到一起,增加特征圖的深度,使用全局平均池化代替全連接層。在V2中,采用Batch Normaliziton。在V3中,采用非對(duì)稱卷積降低運(yùn)算量。如圖1所示。
圖1 經(jīng)典Inception模塊
在同一層使用多個(gè)不同的卷積核,會(huì)導(dǎo)致過多的參數(shù)出現(xiàn),在原來的Inception結(jié)構(gòu)中加入1*1卷積核,進(jìn)行降維操作。如圖2所示。
圖2 改進(jìn)Inception模塊
ResNet是由微軟研究院何愷明等人提出來的,該算法獲得了2015年大規(guī)模視覺識(shí)別挑戰(zhàn)賽的冠軍[5]。它提出了殘差學(xué)習(xí)的思想。圖3是殘差學(xué)習(xí)模塊,該模塊包括幾個(gè)卷積層,相當(dāng)于對(duì)輸入X進(jìn)行F(X)變化,同時(shí)加入原始的輸入X,整合成F(X)+X,作為整體的輸入,并用激活函數(shù)激活,最終得到此殘差學(xué)習(xí)模塊的輸出結(jié)果如圖3所示。
圖3 殘差學(xué)習(xí)模塊
圖4是ResNet網(wǎng)絡(luò)結(jié)構(gòu)中常用的兩種殘差學(xué)習(xí)模塊,第一個(gè)是2個(gè)3*3卷積神經(jīng)網(wǎng)絡(luò)串聯(lián)在一起作為殘差學(xué)習(xí)模塊,第二個(gè)是1*1、3*3、1*1卷積神經(jīng)網(wǎng)絡(luò)串聯(lián)在一起,組成一個(gè)殘差學(xué)習(xí)模塊。
圖4 兩種殘差學(xué)習(xí)模塊
ResNet網(wǎng)絡(luò)結(jié)構(gòu)都是以這兩種學(xué)習(xí)模塊疊加在一起來實(shí)現(xiàn)的。常見的ResNet網(wǎng)絡(luò)結(jié)構(gòu)有50層、101層和152層。
DenseNet的論文獲得了2017年國際視覺與模式識(shí)別會(huì)議最佳論文[6]。該模型吸取了ResNet的精華,并做出創(chuàng)新,如圖5所示,組建了Dense Block卷積神經(jīng)網(wǎng)絡(luò)模塊。在該模塊中的任何兩層都有直接連接,模塊中每層的輸入是前面所有層輸出的并集。不同的Dense Block是沒有這種緊密連接的。該網(wǎng)絡(luò)模型緩解了梯度消失的問題,加強(qiáng)了特征的傳播,支持特征的重復(fù)利用,提高了網(wǎng)絡(luò)性能。
圖5 Dense Block的結(jié)構(gòu)
MobileNet是一項(xiàng)比較新的研究成果,它的核心要點(diǎn)是深度可分離卷積和兩個(gè)超參數(shù)[7]。其中,深度可分離卷積分成兩個(gè)步驟,第一步是深度卷積,卷積核分別去卷積輸入的每個(gè)通道;第二步是逐點(diǎn)卷積,用的是Inception中的1*1卷積。兩個(gè)超參數(shù)是α和ρ,α用于控制輸入和輸出的通道數(shù),ρ用于控制輸入圖像的分辨率。
ImageNet數(shù)據(jù)集是一個(gè)計(jì)算機(jī)視覺數(shù)據(jù)集,該數(shù)據(jù)集包含14197122張圖片和21841個(gè)Synset索引,在數(shù)據(jù)集中,包含多個(gè)種類的圖像,并且,每張圖像都被關(guān)聯(lián)了標(biāo)簽(類別名)。將多種卷積神經(jīng)網(wǎng)絡(luò)的模型在ImageNet數(shù)據(jù)集進(jìn)行了對(duì)比分析,運(yùn)行精度和效率值如表1和表2所示。
表1 運(yùn)行精度和效率值
表2 運(yùn)行精度和效率值
表1可以看出三個(gè)模型在精度上不相上下,但是MobileNet比其他兩個(gè)模型在計(jì)算量和參數(shù)上降低了很多。表2是把寬度因子設(shè)定為0.5,與另外兩個(gè)模型相比,MobileNet的預(yù)測精度是最高的,計(jì)算量和參數(shù)也是最少的。MobileNet預(yù)測的精度最高,速度最快,表現(xiàn)最好。
本文分析了傳統(tǒng)經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和思想,介紹了最新改進(jìn)過的卷積神經(jīng)網(wǎng)絡(luò)模型,最后,對(duì)常用的網(wǎng)絡(luò)模型進(jìn)行了性能對(duì)比。為研究者選擇模型提供了依據(jù)。