吳 進,錢雪忠
江南大學 物聯(lián)網(wǎng)工程學院,江蘇 無錫 214122
深度卷積神經(jīng)網(wǎng)絡在圖像識別領(lǐng)域取得了突破性的進展,但是網(wǎng)絡的參數(shù)規(guī)模越來越大,參數(shù)量達到百萬級,甚至千萬級,不利于應用。為了更好地解決這個問題,一種方式是壓縮現(xiàn)有的網(wǎng)絡模型,Howard等人[1]提出的基于深度可分離的卷積結(jié)構(gòu)MoblieNet,引入了傳統(tǒng)網(wǎng)絡中原先采用的group思想,即限制濾波器的卷積計算只針對特定的group中的輸入,將標準卷積分離成一個深度卷積和一個點卷積,極大程度地降低了卷積計算,同時提升了計算速度。基于MobileNet的group思想,ShuffleNet[2]將輸入的group打散,結(jié)合深度可分離卷積代替類似于ResNet block單元構(gòu)成了ShuffleNet單元,解決了多個group疊加出現(xiàn)的邊界效應,減少了計算量,增強了網(wǎng)絡的表現(xiàn)力。Theis等人[3]通過使用對角Fisher信息值在盡量避免訓練損失的前提下一次去掉一個卷積的特征圖的方法來剪枝。
另一種方式是權(quán)值壓縮,Han等人[4]基于權(quán)值聚類的方法將連續(xù)分散的權(quán)值離散化,從而減少需要存儲的權(quán)值數(shù)量,并采用Huffman encoding將平均編碼長度減少實現(xiàn)減小模型尺寸的目的,最后采用CSR(compressed sparse row)來存儲。Rastegari等人提出的XNOR-Net[5]輸入和輸出都量化成二值,將輸入數(shù)據(jù)先進行BN歸一化處理,接著進行二值化的卷積操作,實現(xiàn)32倍的存儲壓縮,同時訓練速度得到58倍的提升。
本文鑒于卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)結(jié)構(gòu)的壓縮理論,分析了現(xiàn)有的不同的CNN結(jié)構(gòu)模型,設(shè)計了多分支的Conv-mixed結(jié)構(gòu),并設(shè)計了新的緊湊型深度卷積神經(jīng)網(wǎng)絡架構(gòu)Width-MixedNet,分別在 CIFAR-10、CIFAR-100 和 MNIST數(shù)據(jù)集上進行實驗,結(jié)果表明,Width-MixedNet在參數(shù)規(guī)模遠低于其他深度神經(jīng)網(wǎng)絡結(jié)構(gòu)的情況下,取得了更好的效果。
傳統(tǒng)的深度卷積神經(jīng)網(wǎng)絡都是以convolutionspooling堆疊起來的直線型結(jié)構(gòu),比如2012年Krizhevsky等人[6]提出的由5個convolution層和3個fullconnection層堆疊成的AlexNet,2014年Visual Geometry Group和Google DeepMind研發(fā)的由3×3的小型卷積核反復堆疊的19層VGGNet[7],之后由微軟訓練的多達152層的ResNet[8]。上述深度卷積神經(jīng)網(wǎng)絡的深度逐漸加深,雖然達到的精度越來越高,伴隨而來的是網(wǎng)絡的參數(shù)越來越龐大,容易導致過擬合,計算量也變得相當大,難以應用,并且網(wǎng)絡越深,容易導致梯度消失,模型難以優(yōu)化。為了深度神經(jīng)網(wǎng)絡能在有硬件條件限制的平臺上廣泛應用(比如自動駕駛汽車、無人機、VR設(shè)備等),緊湊型的網(wǎng)絡模型設(shè)計引起了很多關(guān)注。
為了讓深度卷積神經(jīng)網(wǎng)絡有更好的提取特征和學習能力,最直接有效的方法是增加卷積層的通道,但這會增加整個網(wǎng)絡的計算量,容易導致過擬合。因為卷積神經(jīng)網(wǎng)絡中每一個輸出通道只對應一個卷積核,同一個層參數(shù)共享,因此一個輸出通道只能提取一種特征。在文獻[9]中提出的MLPConv代替?zhèn)鹘y(tǒng)的卷積層,將輸出通道之間信息進行組合,相當于普通卷積層之后再連接1×1的卷積核ReLU激活函數(shù),因為內(nèi)核為1×1的卷積層只有一個參數(shù),只需要很小的計算量就可以提取一層特征,增加一層網(wǎng)絡的非線性化。
在2014年ILSVRC(large scale visual recognition challenge)的比賽中,Google Inception Net[10]以較大的優(yōu)勢奪冠。值得注意的是,InceptionNet精心設(shè)計的Inception Module(如圖1所示),先將前一層輸出的特征圖(previous layers)分別作為1×1、3×3和5×5的卷積層和一個maxpooling層的輸入,然后各個分支在輸出通道上合并(concatenation),作為下一個Inception Module的輸入。這種由Inception Module堆疊成的深層網(wǎng)絡結(jié)構(gòu),對寬度進行了高效的擴充和利用,提高了準確率并且不至于過擬合。
最近的研究開始直接設(shè)計緊湊型的網(wǎng)絡架構(gòu):SqueezeNet[11],論文提到的Fire Module如圖2所示,先將前一層的輸出特征圖(previous layers)作為由3個1×1卷積組成的squeeze層的輸入,在輸出通道上合并之后,再作為由4個1×1和4個3×3的卷積組成的expand層的輸入,接著在輸出通道上合并作為下一個Fire Module的輸入。SqueezeNet達到了AlexNet相同的精度水平,同時SqueezeNet的模型大小只有AlexNet的1/50。
Fig.2 Fire module圖2 Fire模塊
受到所述觀察的啟發(fā),提出了一種緊湊的深度卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),其中包含一種新的基本模塊Conv-mixed。圖3是整個網(wǎng)絡模型中的一個Convmixed結(jié)構(gòu),前一層的輸出(previous layer)作為Convmixed的輸入,輸入共有5個分支,分別為P-C0-C1-C2、P-C3-C4-C5、P-C6、P-A-C7、P-C8。C8之后又是兩個分支C8-C9和C8-C9,最后各個分支在輸出通道上合并。參數(shù)k和s表示內(nèi)核大小和步長,參數(shù)r表示空洞卷積的擴張率,在每一次的卷積操作之前,都對其輸入進行Batch Normalization正則化,所有的卷積都采用ReLU激活函數(shù)進行非線性化。
Fig.3 Conv-mixed module圖3 Conv-mixed模塊
在圖像數(shù)據(jù)中,臨近區(qū)域的數(shù)據(jù)相關(guān)性高,卷積神經(jīng)網(wǎng)絡中每一個輸出通道對應一個濾波器,只能提取一類特征,因此使用分支結(jié)構(gòu)使多個不同的卷積核連接同一位置,這樣可以提取多個不同的特征。文獻[12]中提出:如果數(shù)據(jù)集的概率分布可以被一個很大很稀疏的神經(jīng)網(wǎng)絡所表達,那么構(gòu)筑這個網(wǎng)絡的最佳方式就是逐層構(gòu)筑,即將上一層高度相關(guān)(correlated)的節(jié)點聚類,并將聚類出來的每一個小簇(cluster)連接到一起。設(shè)計出的Conv-mixed這種多分支結(jié)構(gòu),將相關(guān)性高的節(jié)點連接在一起,構(gòu)建了很高效的符合上述理論的稀疏結(jié)構(gòu)。
為了增加提取特征的多樣性,使用了1×3、3×1和3×3三種不同尺寸的卷積內(nèi)核,相比于大型的卷積比如5×5和7×7,小型卷積的計算量雖然小,但是感受視野也小。為了彌補這個缺陷,在分支結(jié)構(gòu)里加入了Dilated Convolutions[13]即空洞卷積。普通卷積和空洞卷積的對比如圖4所示,左邊是內(nèi)核kernel=3的普通卷積,相當于kernel=3、膨脹系數(shù)r=1的空洞卷積;右邊是kernel=3、r=2的空洞卷積,相當于kernel=7的普通卷積。膨脹系數(shù)r表示每個像素之間填充r-1個0。在通道數(shù)相同的情況下,圖4左邊的普通卷積和右邊的空洞卷積參數(shù)量相同,但是在同一層的感受視野卻不同,感受視野公式如下:
其中,r表示膨脹系數(shù),F(xiàn)(r)表示最終的感受視野,例如圖4中左邊普通卷積在這層的感受視野為F(r=1)=3×3,右邊r=2的空洞卷積感受視野為F(r=2)=7×7??梢酝扑悖航?jīng)過卷積層疊加之后,2層的3×3的普通卷積轉(zhuǎn)換相當于1層5×5的卷積,2層3×3、r=2的空洞卷積,相當于1層13×13的普通卷積。
Fig.4 Comparison of ordinary convolution and dilated convolution圖4 模塊普通卷積和空洞卷積的對比
對于一個Conv-mixed結(jié)構(gòu)的參數(shù)數(shù)量F(i,n)和運算量Flops(i,n)的計算方法為:
其中,kl和kd指的是當前卷積核的寬度和高度,Ni指的是上一層特征圖的通道數(shù)也就是輸入通道數(shù),Ni+1指的是輸出通道數(shù),b指的是偏置,hl和hd指的是輸出特征圖的寬度和高度。
傳統(tǒng)的深度卷積神經(jīng)網(wǎng)絡在最后一個卷積之后使用全連接層(full connection,F(xiàn)C)將特征向量化進行圖像分類,但是全連接層的參數(shù)量太大,在整個深度卷積神經(jīng)網(wǎng)絡中占的比重過多,一方面增加了計算量,另一方面容易導致過擬合。以用作“ImageNet”[14]分類任務的AlexNet為例,經(jīng)計算,整個網(wǎng)絡的參數(shù)數(shù)量有6.1×106,后面的3個全連接層參數(shù)量有5.86×106,可以說全連接層的計算量幾乎占據(jù)了整個網(wǎng)絡。雖然AlexNet之后的深度卷積神經(jīng)網(wǎng)絡(比如VGGNet、GoogleNet等)中全連接層的參數(shù)量占整個網(wǎng)絡的比重沒有這么多,是因為都加深了網(wǎng)絡的深度,只增加了卷積層的數(shù)量,后面的全連接層并沒有增加,但是全連接層的參數(shù)量依然可觀。
為了解決這個問題,一種方法是在文獻《Network in Network》中提出的“GAP,Global Average Pooling”方法,在最后一個卷積層之后使用1×1的卷積縮小通道數(shù),然后對每個feature map求平均,再進行softmax,以極小的計算量達到全連接層的準確率。雖然使用了GAP的深度卷積神經(jīng)網(wǎng)絡計算量減少了,也減輕了過擬合,但是整個網(wǎng)絡的收斂速度減慢了。
另一種方法是Long等人[15]在語義分割的任務中提出的“全卷積網(wǎng)絡(fully convolutional networks,F(xiàn)CN)”中將全連接層轉(zhuǎn)換為卷積層,例如圖5所示的全連接層,假設(shè)深度卷積神經(jīng)網(wǎng)絡的最后一個卷積層的輸出特征圖的尺寸大小為12×12×96,全連接層的第一個隱藏層和第二個隱藏層的節(jié)點數(shù)都為1 000,一共需要分為100個類。在連接第一個隱藏層時,需要將特征圖拉伸成一個長度為13 824的一維向量,再和隱藏層進行全連接,再進行最后的分類。但是FCN中將全連接轉(zhuǎn)換為卷積層時,如圖6所示,直接用內(nèi)核為12×12的大型卷積核、通道數(shù)為1 000的卷積層,將輸出的特征圖變?yōu)?×1×1 000,同樣的,在連接第二個隱藏層時,直接用上一層的輸出特征的寬度×高度的內(nèi)核、通道數(shù)為1 000的卷積層代替,這樣就可以達到全連接層直接轉(zhuǎn)換為卷積層的效果。
Fig.5 Full connection layers(The number of parameters is 1.5×106)圖5 全連接層(參數(shù)數(shù)量為1.5×106)
Fig.6 Full connection layers is converted to convolutional layer in FCN圖6 FCN中將全連接層轉(zhuǎn)換為卷積層
因為卷積層共享了大量的計算,權(quán)值和偏置有自己的范圍,所以轉(zhuǎn)換為卷積層后加快了整個網(wǎng)絡的運算速度。參數(shù)數(shù)量仍為1.5×106。一個全連接層轉(zhuǎn)換為卷積層的參數(shù)計算方法如下:
式中,kl和kd指的是卷積核的長度和寬度,Ni指的是通道數(shù),b指的是偏置。因為轉(zhuǎn)換為卷積層的參數(shù)數(shù)量和全連接層的參數(shù)數(shù)量是相等的,雖然整個網(wǎng)絡的學習能力變強了,但是參數(shù)數(shù)量并沒有減少,因此提出了“多個小型卷積逐層縮小特征圖代替全連接層”的方法,如圖7所示。
與圖6中的全連接層直接轉(zhuǎn)換為卷積層相比,層數(shù)越深,輸出的特征圖的尺寸越小。在卷積層中,卷積核對特征圖進行局部窗口滑動做濾波操作,因為上述FCN中提到的方法是直接使用和輸出特征圖“寬度×高度”一樣尺寸的卷積核,那么就只有一個窗口作用于全部區(qū)域,但是參數(shù)和運算量都沒有變,實際上效果等效于全連接層,而逐層使用小型卷積層,提取的都是特征圖局部區(qū)域的特征,是所有的濾波器對局部區(qū)域分別進行卷積操作,是真正意義上的“卷積層代替全連接層”,并且計算量更小,收斂更快,參數(shù)量更少,僅有2.5×105,只有全連接層的1/6。
Fig.7 Multiple small convolution stacks instead of full connections(The number of parameters is 2.5×105)圖7 多個小型卷積堆疊代替全連接(參數(shù)數(shù)量為2.5×105)
經(jīng)過初步實驗,圖8是本文設(shè)計的深度卷積神經(jīng)網(wǎng)絡架構(gòu)Width-MixedNet。
在Conv-mixed結(jié)構(gòu)之前,先使用了少量的普通卷積和最大池化,這樣做可以用少量的計算將特征進行跨通道的組合,增加輸出通道。為了能使整個網(wǎng)絡的參數(shù)盡可能得少,優(yōu)化Width-MixedNet架構(gòu)時,在Conv-mixed合并多通道的特征圖后面使用了多個1×1的卷積,這樣可以把同一空間位置但是不同通道的特征組合在一起,同時可以用很小的計算量增加一層非線性化。在輸出通道數(shù)相同的情況下,1×1卷積的參數(shù)量只有3×3卷積參數(shù)量的1/9、5×5的卷積參數(shù)量的1/25。
在最后的Conv-mixed結(jié)構(gòu)之后是本文設(shè)計的多個小型卷積層堆疊代替全連接層,作為最后的特征提取。AlexNet、VGGNet、InceptionNet等大型卷積神經(jīng)網(wǎng)絡在卷積層的特征提取中,特征圖的寬度和高度都在減小,通道數(shù)增加,設(shè)計的多個小型卷積層的目標是將特征圖的寬度和高度縮小到1×1、通道數(shù)接近于甚至等于分類類別數(shù)。為了能使網(wǎng)絡的參數(shù)數(shù)量和計算量少并且能夠保證分類準確率的情況下,2×2、1×3和3×1等尺寸的卷積內(nèi)核會使網(wǎng)絡的層數(shù)變多,導致計算量過大,并且過擬合,5×5的卷積內(nèi)核單個卷積層的參數(shù)數(shù)量大,導致?lián)p失函數(shù)收斂慢,需要更多的訓練時間。初步實驗證明,3×3和4×4的卷積最為合適。
為了驗證本文提出的深度卷積神經(jīng)網(wǎng)絡架構(gòu)的性能,分別在數(shù)據(jù)集MNIST、CIFAR-10和CIFAR-100進行測試,實驗使用GTX1080Ti單個GPU,實驗環(huán)境TensorFlow1.4.0。采用整個網(wǎng)絡的參數(shù)數(shù)量和正確率對模型進行評價,并驗證多個小型卷積逐層縮小特征圖代替全連接層的性能。
CIFAR-10數(shù)據(jù)集共有60 000張彩色圖像,圖像的尺寸為32×32,分為10類,每類由5 000張訓練樣本和1 000張測試樣本組成。在樣本訓練時,先對圖像進行預處理,對每張圖片進行隨機翻轉(zhuǎn),設(shè)置隨機的亮度和對比度,對圖像隨機剪切成長度×寬度為28×28的大小,獲得更多的帶噪聲的樣本,擴充樣本容量。
Fig.8 Deep convolutional neural network architecture Width-MixedNet圖8 深度卷積神經(jīng)網(wǎng)絡架構(gòu)Width-MixedNet
Table 1 Width-MixedNet parameters in CIFAR-10表1 在CIFAR-10中Width-MixedNet的參數(shù)
在CIFAR-10數(shù)據(jù)集中,使用的深度卷積神經(jīng)網(wǎng)絡框架如表1所示,表1介紹了Width-MixedNet的普通卷積(conv)、最大池化(maxpool)和Conv-mixed的詳細參數(shù),如第三列是每一層輸出尺寸的寬度、高度和通道數(shù)的乘積;第四列Filter size/Stride表示普通卷積和最大池化的內(nèi)核尺寸和步長;Conv-mixed的基本參數(shù)(參照圖3)在第五列Feature maps(Convmixed)中;最后一列Parameters列出了每一層的參數(shù)數(shù)量。初步實驗表明,對于輸入圖像數(shù)據(jù),在前兩層使用較大的內(nèi)核如7×7和5×5的普通卷積對圖像處理,會使分類精度提高0.5%~1%,另外在Conv-mixed中使用較大的內(nèi)核,只能將精度提高0.3%~0.7%,但是會讓整體參數(shù)量提高1倍。在表1的框架中,整體參數(shù)只有3.4×105,主要參數(shù)集中在最后兩個Convmixed和代替全連接的第一個conv中,約占了整個網(wǎng)絡參數(shù)數(shù)量的56%。
表2顯示了使用的深度卷積神經(jīng)網(wǎng)絡Width-MixedNet和其他深度卷積神經(jīng)網(wǎng)絡在CIFAR-10數(shù)據(jù)集上參數(shù)數(shù)量和準確率的對比,實驗表明Width-MixedNet在參數(shù)規(guī)模遠低于其他深度卷積神經(jīng)網(wǎng)絡的情況下,準確率能達到較高水平。其中與SqueezeNet和FitNet相比,Width-MixedNet在準確率和參數(shù)規(guī)模上都有較大優(yōu)勢;與WideResNet(d=16,k=8)相比,雖然WideResNet的準確率高出2.17個百分點,但是本文的參數(shù)規(guī)模僅有WideResNet的1/30。
Table 2 Comparative evaluation results on CIFAR-10表2 CIFAR-10對比實驗結(jié)果
CIFAR-100數(shù)據(jù)集和CIFAR-10數(shù)據(jù)集的組成方式基本一致,圖片的大小和格式相同,但是CIFAR-100有100類,每一類的訓練樣本和測試樣本都只有CIFAR-10的1/10,識別難度更大。在實驗中,使用的架構(gòu)和參數(shù)與CIFAR-10實驗一致,只是在每個卷積層之后增加了Batch Normalization[20]正則化處理,并調(diào)整了batch大小和迭代次數(shù)。實驗結(jié)果如表3所示,實驗表明,Width-MixedNet在參數(shù)規(guī)模遠低于其他網(wǎng)絡結(jié)構(gòu)的情況下,可以達到更高的識別準確率。
Table 3 Comparative evaluation results on CIFAR-100表3 CIFAR-100對比實驗結(jié)果
MNIST數(shù)據(jù)集是由60 000張訓練樣本和10 000張測試樣本組成的手寫字體圖像數(shù)據(jù)集,每個樣本為28×28大小的二值圖像,MNIST識別任務相對簡單,為了使整個網(wǎng)絡的參數(shù)數(shù)量盡可能得少,在實驗CIFAR-10的結(jié)構(gòu)基礎(chǔ)上縮減了普通卷積(conv)和Conv-mixed的數(shù)量和卷積核的通道數(shù)。為了能使實驗結(jié)果更直觀,在表4中使用測試集的錯誤率作對比,實驗表明,Width-MixedNet在參數(shù)數(shù)量較少的情況下,有更好的識別率。
Table 4 Comparative evaluation results on MNIST表4 MNIST對比實驗結(jié)果
為了驗證多個小型卷積逐層縮小特征圖代替全連接層的性能,在MNIST和CIFAR-10數(shù)據(jù)集上,分別比較了直接使用全連接層進行最后的特征提取的Width-MixedNet-FC、將卷積層直接轉(zhuǎn)換為全連接層的Width-MixedNet-FCN和多個小型卷積層代替全連接層的Width-MixedNet-CNNs在交叉熵損失函數(shù)Loss、訓練每個batch的平均耗時和測試數(shù)據(jù)集平均每張圖片的耗時。通過TensorBoard得到TensorFlow的可視化結(jié)果,TensorBoard的效果圖通過Chrome瀏覽器查看,為了使實驗結(jié)果更直觀,折線圖進行了相應的平滑處理。
該實驗中MNIST數(shù)據(jù)集每個batch大小為50,迭代1 500次,CIFAR-10數(shù)據(jù)集每個batch大小為128,迭代5 000次。如圖9和圖10的折線圖所示,Width-MixedNet-CNNs交叉熵損失Loss下降速度最快,值最小,效果最好;Width-MixedNet-FC交叉熵損失Loss下降速度最慢,雖然Width-MixedNet-FC和Width-MixedNet-FCN的參數(shù)數(shù)量相同,但是Width-MixedNet-FCN的表現(xiàn)能力和學習能力更強。不同的網(wǎng)絡結(jié)構(gòu)訓練每個batch的時間、測試每張圖片的時間和測試的準確率如表5和表6所示,實驗表明,Width-MixedNet-CNNs訓練每個batch的時間最短,測試每張圖片的時間最短,同時達到更高的準確率。
Fig.9 Cross entropy loss function of CIFAR-10圖9 CIFAR-10的交叉熵損失函數(shù)的折線圖
Fig.10 Cross entropy loss function of MNIST圖10 MNIST的交叉熵損失函數(shù)的折線圖
Table 5 Comparison of running time of CIFAR-10表5 CIFAR-10的運行時間對比
Table 6 Comparison of running time of MNIST表6 MNIST的運行時間對比
為了驗證多個小型卷積逐層縮小特征圖代替全連接層時網(wǎng)絡參數(shù)的減少對算法的影響,在CIFAR-10數(shù)據(jù)集上,分別比較了將卷積層直接轉(zhuǎn)換為全連接層的Width-MixedNet-FCN和不同尺寸的小型卷積層在交叉熵損失函數(shù)Loss、訓練集的準確率training accuracy和測試集的準確率test accuracy。在實驗中,對Width-MixedNet的結(jié)構(gòu)進行了微調(diào),去掉了最后一個maxpool層,并且使最后的輸出特征圖變成12×12×96,隨著迭代次數(shù)的增加,在實驗中Loss逐漸穩(wěn)定在一個極小的區(qū)間內(nèi),不利于觀察,為了使實驗結(jié)果更為直觀,將迭代次數(shù)設(shè)為1 500,并且對折線圖進行了相應的平滑處理。實驗結(jié)果Loss折線圖如圖11所示。
Fig.11 Cross entropy loss function of CIFAR-10圖11 CIFAR-10的交叉熵損失函數(shù)的折線圖
表7顯示了將卷積層直接轉(zhuǎn)換為全連接層的Width-MixedNet-FCN和多個小型卷積層代替全連接層的Width-MixedNet-1、2、3、4在CIFAR-10數(shù)據(jù)集上的對比,其中Filter/Stride表示卷積核的寬度和高度的乘積以及步長,F(xiàn)eature maps/Padding表示輸出通道數(shù)和是否填充,Training accuracy和Test accuracy表示訓練集和測試集的準確率。Width-MixedNet-FCN最后由全連接層直接轉(zhuǎn)換的2個卷積層的參數(shù)數(shù)量達到了13.9×106,并且訓練集的準確率高于測試集的準確率,說明Width-MixedNet-FCN的學習能力較差于其他結(jié)構(gòu),并且有過擬合的傾向。由圖11可以看出,Width-MixedNet-FCN的交叉熵損失函數(shù)Loss的值較大,下降速度較慢。Width-MixedNet-4最后的特征提取是由一個內(nèi)核為4×4、步長為4和一個內(nèi)核為3×3、步長為1的卷積層組成,其參數(shù)數(shù)量為1.2×105,效果最好。Width-MixedNet-1、2、3、4的測試集準確率都高于訓練集準確率,并且準確率都高于Width-MixedNet-FCN,說明多個小型卷積層疊加代替全連接層的方法效果更好。
Table 7 Comparative evaluation results on CIFAR-10表7 CIFAR-10的對比實驗結(jié)果
本文針對現(xiàn)有的深度神經(jīng)網(wǎng)絡參數(shù)數(shù)量過于龐大的問題,分析了現(xiàn)有的深度神經(jīng)網(wǎng)絡的不同結(jié)構(gòu),設(shè)計了一種緊湊型的高效深度卷積神經(jīng)網(wǎng)絡架構(gòu)Width-MixedNet,其多種不同卷積層組成多分支的基本模塊Conv-mixed,在卷積神經(jīng)網(wǎng)絡的寬度上進行擴充,提高了網(wǎng)絡在同一層中提取不同特征的能力,并且在深度神經(jīng)網(wǎng)絡的最后分類任務中,改進了FCN中將全連接層直接轉(zhuǎn)換為卷積層的方法,使用多個小型卷積層逐層縮小特征圖的規(guī)模的方法代替全連接層,進一步減少了網(wǎng)絡的參數(shù)數(shù)量,提高了網(wǎng)絡的表現(xiàn)能力和學習能力。實驗結(jié)果表明,Width-MixedNet在參數(shù)規(guī)模遠低于其他深度卷積神經(jīng)網(wǎng)絡的情況下,可以達到更好的效果。
本文提出的緊湊型結(jié)構(gòu)Width-MixedNet,其學習能力強、參數(shù)規(guī)模小的特點適合部署移動平臺,例如可穿戴設(shè)備、智能家具和無人機上。之后的工作中,將進一步研究Width-MixedNet在目標檢測、圖像分割等領(lǐng)域中的表現(xiàn)和Width-MixedNet部署在移動設(shè)備上的可行性。