王子牛 王許 高建瓴 陳婭先 吳建華



摘? 要: 針對傳統卷積神經網絡(如Lenet5)在圖像的多分類任務中識別率不高、較新的卷積神經網絡(如VGG16)在圖像的多分類任務中待優化的參數達到千萬級別的問題。采用將SqueezeNet神經網絡與FractalNet神經網絡相結合的方法。本文使用SqueezeNet神經網絡中的Fire Module來減少模型的參數、FractalNet神經網絡的基本架構來保證神經網絡模型的準確度。結果顯示:在其它超參數基本相同的前提下,迭代40代時,DenseNet模型的測試集準確度為79.92%,而混合模型的測試集準確度為84.56% ,其待優化的參數降至二百萬個左右,故混合模型對數據的擬合能力更強,模型參數保持較低水平。
關鍵詞: SqueezeNet;FractalNet;DenseNet;圖像分類;混合模型;卷積神經網絡
中圖分類號: TP183? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2019.10.011
本文著錄格式:王子牛,王許,高建瓴,等. 基于SqueezeNet和FractalNet混合模型的圖像分類研究[J]. 軟件,2019,40(10):4649
Image Classification Based on SqueezeNet and FractalNet Hybrid Model
WANG Zi-niu1, WANG Xu2, GAO Jian-ling2, CHENG Ya-xian2, WU Jian-hua
(1. Guizhou University, Guizhou 550000; 2. Guizhou University, School of Big Data and Information Engineering, Guizhou 550000)
【Abstract】: For the traditional convolutional neural network (such as Lenet5), the recognition rate is not high in the multi-classification task of the image, and the newer convolutional neural network (such as VGG16) has to be optimized in the multi-classification task of the image. A method of combining the SqueezeNet neural network with the FractalNet neural network is employed. This paper uses the Fire Module in the SqueezeNet neural network to reduce the parameters of the model and the basic architecture of the FractalNet neural network to ensure the accuracy of the neural network model. The results show that under the premise that other superparameters are basically the same, the accuracy of the test set of the DenseNet model is 79.92% when the iteration is 40 generations, and the accuracy of the test set of the hybrid model is 84.56%, and the parameters to be optimized are reduced to two hundred. About 10,000 or so, the hybrid model has a stronger ability to fit the data, and the model parameters remain at a lower level.
【Key words】: SqueezeNet; FractalNet; DenseNet; Image classification; Hybrid model; Convolutional neural network
0? 引言
隨著科學技術的發展,計算機視覺日益成熟,然而在過去,卷積神經網絡對圖像的分類任務中一直追求準確率而不在意神經網絡模型的待優化參數數目,雖然每年出來的卷積神經網絡模型對圖像分類的準確率逐年提高,但隨之而來的是待優化參數的數目也逐年升高。2016年,Forrest N. Iandola, Song Han等人提出了SqueezeNet論文,該論文提到:同樣的精度,較小的CNN架構提供至少三優點[8-9]。(1)較小的CNN在分布式訓練過程中需要跨服務器進行更少的通信[3-6]。(2)較小的CNN需要更少的帶寬。(3)較小的CNN提供了在FPG內存有限的硬件上部署的可行性[1]。2017年,Gustav Larsson, Michael Maire等人提出了FractalNet論文,認為殘差不是建立深度網絡唯一的基礎和方法。深度卷積網絡中真正的關鍵所在訓練過程中網絡關于信息的傳遞能力。采用了一種類似student-teacher的學習機制,結合drop- path也能夠使得深度卷積神經網絡模型訓練得非常好[2]。為了使卷積神經網絡具有較高的識別率又使其待優化的參數減少,本文提出了將SqueezeNet神經網絡中的Fire Module與FractalNet神經網絡的基本架構相結合起來對圖像進行多分類處理。
1? SqueezeNet、FractalNet基本原理
1.1? SqueezeNet基本原理
為了保證卷積神經網絡模型參數少、準確性較好的研究目標。在設計卷積神經網絡架構時一般采用三個主要策略:策略一,使用1×1卷積核替換3×3卷積核;策略二,將輸入到3×3卷積核的通道數目減少;策略三,在網絡后期進行降采樣[1]。
Fire模塊如圖一所示,Fire模塊中包括:squeeze層(其僅具有1×1卷積核)、e×pand層(其具有1×1和3×3的卷積核)。在Fire模塊中有三個可調整參數(超級參數):s1×1、e1×1、e3×3,其中s1×1表示squeeze層(所有1×1)中的卷積核數目,e1×1表示expand層中1×1卷積核數目,e3×3表示expand層中的3×3卷積核數目。當使用Fire模塊時,將s1×1大小設置為小于(e1×1+e3×3)的整數,因此squeeze層有助于將輸入通道的數目減少[1]。
1.2? FractalNet基本原理
Fractal,分形,來自于幾何學,所謂分形就是從多個層次、多個角度、多個組成成分來共同解決一個問題。FractalNet就是一個這樣的結構,它通過多個不同深度的網絡組合,來共同構建網絡模型。淺層提供更迅速的回答、深層提供更準確的回答。FractalNet的結構可以看成由多個以下模塊組成[2],其結構如圖2所示。
可以看到每一個Fractal的模塊,實際上就是由多個淺層和深層的聯合而成,層的深度成2的指數型增長。不同深度的輸出進行聯合時采用的不是ResNet中使用的加法,而是一個求均值的操作,這樣做的目的實際是由于每個聯合層的輸入的個數可能不同,求均值的話可能起到一個類似于歸一化的效果[2]。
2? SqueezeNet和FractalNet混合模型
利用SqueezeNet網絡中的fire模塊為基本單元,以FractalNet中的結構為基本框架,構建SqueezeNet和FractalNet混合模型?;締卧猣ire模塊中,通過squeeze層將輸入的圖片特征進行進行壓縮,通常將s1×1設置為特征通道數目的1/4或1/2,不進行下采樣,圖片特征經過squeeze層后實現了壓縮并將其送入到expand層,expand層中有兩類卷積核分別為e1×1、e3×3,其卷積核數目設置為原圖片特征通道的一半,不進行下采樣,由于圖片特征不是直接輸入到3×3的卷積核和1×1的卷積核中去而是經過1×1的卷積核進行特征的壓縮,故模型中的fire模塊可以減少整個神經網絡的待優化參數。混合模型的基本框架與FractalNet模型相似,采用分形結構 ,將fire基本單元進行橫向堆疊、縱向擴展,逐級提取圖片中的特征信息,橫向深的分支可以提取復雜的圖片特征信息,橫向淺的分支可以提取簡單的圖片特征信息,分工合作,FractalNet神經網絡中的基本框架可以保證整個神經網絡的準確度?;旌夏P椭惺褂昧薆atch Normalization技術來防止因卷積神經網絡導數過深而導致的梯度消失與梯度爆炸問題,使用混合模型更容易訓練,考慮到計算機算力的限制,并未大量使用Batch Normalization技術,而是橫向每經過幾次3×3的卷積后設置一個Batch Normalization,做折中的處理?;旌夏P褪褂贸鼗瘜觼磉M行降采樣,步長strides=2,原圖片長寬為32×32,經過兩次降采樣處理,特征層的長寬變為了8×8?;旌夏P蜑榱吮苊獠捎萌B接層而產生大量的待訓練的模型參數而采用Global Average Pooling(全局池化層)技術,保證待訓練參數盡可能少,圖片特征經全局池化層后輸入到softmax分類器進行分類,根據特征信息計算出圖片屬于哪一類。由于圖片分類屬于分類問題故損失函數loss使用交叉熵進行計算[10-11]。采用梯度下降法進行混合模型的網絡參數優化。混合模型的網絡結構如圖5所示。
Conv 1×1 s=1
Conv 1×1 s=1 Conv 3×3 s=1
3? 實驗結果與分析
3.1? 基本硬件配置和實驗環境
硬件配置:實驗采用一臺處理器為Intel(R)Core(TM)i5-4590 CPU @ 3.30GHz 3.30 GHz,安裝內存(RAM)為8.00 GB的電腦。
本論文代碼實現采用的操作系統為Windows 7,采用python 3.6.5作為編程語言。本論文中網絡結構設計采用Google開源的Tensorflow 1.8.0深度學習框架和keras 2.2.3深度學習框架進行混合模型網絡設計并進行實驗。
3.2? 分類圖像數據集
本實驗采用的cifar-10數據集是做實驗比較常用的分類數據集,該數據集共有60000張彩色圖像,這些圖像的像素為32*32*3,分為10個類,每個類6000張圖。其中50000張用于訓練集,5000張用于驗證集,5000張用于測試集。數據集的十個類別分別是:airplane、automobile、bird、cat、deer、dog、frog、horse、ship、truck。
3.3? 實驗結果
本實驗采用mini-batch策略進行神經網絡的訓練,每次送入32張圖片進行訓練,將所有的訓練集全部訓練一遍完需要1562個mini-batch,神經網絡分類器采用10分類的softmax函數,整個混合模型的損失函數為loss='categorical_crossentropy',本實驗具體的超參數如表1所示。
本實驗采用的對照組神經網絡為DenseNet網絡,因為DenseNet相比于ResNet對圖像的分類有著更好的效果,是近年來分類效果較好的神經網絡之一,具有代表性。兩組卷積模型運行的結果如表2所示。
DenseNet模型的訓練過程效果圖如圖6所示,其損失函數變化如圖7所示。
由實驗結果得,在DenseNet與混合網絡模型的在深度基本相當的條件下,DenseNet網絡訓練迭代40代達到的準確率與混合模型訓練迭代16代所達
混合模型的訓練過程效果圖如圖8所示,其損失函數如圖9所示
到的準確率基本相同,準確率為80%左右?;旌夏P陀柧毜?0代其準確率達到84.56%,高于DenseNet模型。由圖6得,混合模型在開始的前16代中,訓練集的預測準確率從0提升至80%左右,主要原因是在這個過程中損失函數的梯度值比較大,迭代時快速的向最優點靠近,而代數從16至40代的過程中,整個訓練集的預測準確率從80%提高至88%,主要原因是在這個過程中越靠近最優點的時候,損失函數的圖像越平坦,其梯度值就越小,迭代時以非常緩慢的速度向最優點靠近。由表2中的實驗結果,兩者在迭代次數相同的條件下,混合模型的準確率要高于DenseNet模型,故混合模型相對于DenseNet網絡具有更強模型表達能力,其中主要的原因是混合網絡的結構更加的復雜化,這樣帶來的好處就是模型的學習能力增強了,簡單的特征提取與推理由深度較淺的網絡完成,復雜的特征提取與推理由深度較深的網絡完成,分工合作,共同完成任務。雖然混合模型網絡的結構比較復雜,但其待優化參數與DenseNet網絡的待優化參數基本相當甚至還低些,混合模型網絡的參數為2百萬左右比傳統的VGG-16的千萬級別的參數要低很多。由實驗結果表明,混合模型的測試集損失函數值為0.6012,DenseNet模型的測試集損失函數值為0.6742,故混合模型對實驗數據的擬合能力更好。
4? 總結
本論文提出的基于SqueezeNet和FractalNet混合模型對圖像分類的神經網絡。本實驗利用SqueezeNet神經網絡中的Fire Module來減少模型的參數,利用FractalNet神經網絡的基本框架來保證神經網絡模型的準確度。實驗證明混合模型神經網絡相對于DenseNet神經網絡來說具有更強的模型表達能力和更低的方差。本次實驗嘗試引入Inception-V4的思想將N*N的卷積核拆分成1*N和N*1的卷積核[7],以此來進一步降低整個神經網絡的參數,但實驗效果不理想,故不將3*3的卷積拆分成3*1和1*3的卷積。
本文提出的基于SqueezeNet和FractalNet混合模型網絡也同樣存在缺點和可以改進的地方:(1)為了防止過擬合,本文采用的是L2正則化,可以嘗試另一種正則化方法,既使用dropout正則化進行優化。
參考文獻
[1]Forrest N. Iandola1, Song Han2, Matthew W. Moskewicz1, Khalid Ashraf1, William J. Dally2, Kurt Keutzer1 SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PAR AMETERS AND <0.5MB MODEL SIZE Under review as a conference paper at ICLR 2017.
[2]Gustav Larsson, Michael Maire, Gregory Shakhnarovich Frac talNet: Ultra-Deep Neural Networks without Residuals arXiv: 1605. 07648v1 [cs.CV] 24 May 2016.
[3]李彥冬, 郝宗波, 雷航 卷積神經網絡研究綜述 Journal of Computer Applications[J]. 計算機應用, 2016, 36(9): 2508- 2515, 2565.
[4]Gu J., Wang Z, Kuen J, Ma L, Shahroudy A, Shuai B, et al. (2015). Recent advances in convolutional neural networks. CoRR abs/1512.07108.
[5]Goodfellow, I, Bengio, Y, Courville, A, Bengio, Y. Deep learning (Vol. 1). Cambridge: MIT press, 2016: p326-366.
[6]王聰興, 劉寶亮. 一種基于圖像處理的表面故障裂紋檢測系統[J]. 軟件, 2018, 39(5): 144-150.
[7]Inception-v4, inception-Res Net and the impact of residual connections on learning. SZEGEDY C, IOFFE S, VANH OUCKEV. https://arxiv.org/pdf/1602.07261.pdf.2016.
[8]李昊泉, 史夢凡, 陳舒楠, 等. 卷積神經網絡在案件分類上的應用[J]. 軟件 2019(04): 222-225.
[9]杜冠軍, 佟國香. 一種新的混合演化多目標優化算法[J]. 軟件, 2019(2): 6-10.
[10]張明軍, 俞文靜, 袁志, 等. 視頻中目標檢測算法研究[J]. 軟件, 2016, 37(4): 40-45.
[11]張玉環, 錢江. 基于兩種LSTM結構的文本情感分析[J]. 軟件, 2018, 39(1): 116-120.