王新嬌 曾上游 魏書偉
摘 ?要: 針對卷積神經網絡結構單一,模塊中卷積核使用單一,網絡特征提取不充分導致圖片分類準確度不夠,以及模型大的問題,提出卷積核交叉模塊的網絡設計。此模塊先將輸出特征圖分成兩組,每一組采用不同數量、不同大小的卷積核進行特征提取,然后將分組得到的特征圖進行級聯操作后再通過1×1的卷積核進行整合。該文設計的卷積神經網絡與傳統的網絡相比,在食物101_food數據集上將識別精度由56.7%提升至72.63%;在交通GTSRB數據集上將識別精度由96.3%提升至98.41%。實驗結果表明,該文設計的網絡結構性能優越,且網絡模型較小。
關鍵詞: 卷積神經網絡; 網絡改進; 卷積核; 圖像分類; 特征提取; 結果分析
中圖分類號: TN926?34; TP391.4 ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)24?0182?05
Design of convolution neural network based on parallel convolution kernel cross module
WANG Xinjiao, ZENG Shangyou, WEI Shuwei
(School of Electronic Engineering, Guangxi Normal University, Guilin 541004, China)
Abstract: In allusion to the problems of insufficient accuracy of image classification caused by the single structure of convolution neural network, single use of convolution kernel in the module and insufficient extraction of network features, as well as large model problem, a network design of convolution kernel cross module is proposed. In this module, the output feature map is divided into two groups, each group uses convolution kernels with different number and size for the feature extraction, and then the grouped feature map is cascaded and integrated through 1×1 convolution kernels. In comparison with the traditional network, the recognition accuracy by the convolution neural network designed in this paper can be improved from 56.7% to 72.63% in the food 101_food dataset, and from 96.3% to 98.41% in the traffic GTSRB dataset. The experimental results show that the network structure designed in this paper has superior performance and smaller network model.
Keywords: convolution neural network; network improvement; convolution kernel; image classification; feature extraction; result analysis
0 ?引 ?言
隨著互聯網的快速發展和大數據時代的到來,深度學習已經成為當前人工智能領域研究的熱點[1]。人工智能的發展是當今世界研究的主流,國家也在強調“互聯網”時代,而深度學習在圖像識別、語音處理、數據挖掘、自然語言處理以及其他相關領域都取得了很多成果。深度學習是一個復雜的機器學習算法,解決了很多復雜的難題,使得人工智能技術取得了很大進步。
卷積神經網絡(Convolutional Neural Network,CNN)是深度學習算法中一種重要的算法。在2006年深度學習理論被提出后,卷積神經的表征學習能力開始被大家關注,隨著數值計算的更新得到發展。2012年ImageNet大規模視覺挑戰賽(ILSVRC),AlexNet開始得到GPU計算集群支持并多次成為ImageNet視覺識別競賽的優勝算法[2],使得之后各類深度網絡結構相繼誕生,包括2014年的VGGNet[3]、GoogLeNet和2015年的ResNet。
AlexNet相比于之前的LeNet網絡具有更深的網絡結構,使用層疊的卷積層來學習更豐富更高維的圖像特征,通過數據增強的方式來擴增數據集。AlexNet中重要的一點是使用ReLu[4]函數代替Sigmoid函數,很好地解決了梯度飽和導致訓練收斂慢的問題,大大提高了訓練效率。但同時網絡結構的加深使得參數量加大,使網絡訓練強度增大并且模型增大。針對這個問題,本文卷積神經網絡結構使用Cross Input?Net,利用Min Lin等提出的Network in Network中1×1的卷積核,將模塊中分組獲得的圖像特征實現整合然后進行降維,模塊中采用不平等分組,1×1,3×3和5×5卷積核的交叉使用,使得特征提取更加準確,網絡中使用ResNet結構,最后用全局平均池化代替全連接,可輕松訓練非常深的CNN架構的同時大大提高了網絡訓練的準確度。
3 ?實 ?驗
3.1 ?實驗設置
實驗環境:本實驗所有網絡都是基于Caffe[14]深度學習框架基礎上進行的,各模型實驗結果在計算機i7?6700k 4核CPU、Ubuntu 14.04操作系統、32 GB內存以及NVIDIA?GTX1070的GPU上完成的。
參數設置:網絡訓練參數的調試對網絡性能優劣至關重要,學習率是網絡訓練中的重要一步,學習率過高或過低都會對網絡產生一定影響。本次實驗2個網絡均采用相同的參數設置,根據網絡和數據集設置的學習率參數及變化值:在101_food數據集上訓練時,學習率大小設置為0.005,學習率采用多步變化,迭代次數設置為40 000,80 000和120 000,最大迭代次數為150 000;在GTSRB上訓練時,學習率大小設置為0.005,學習率采用多步變化,迭代次數設置為24 000和48 000,最大迭代次數為60 000。
數據集介紹:實驗所用的數據集是GTSRB和101_food,GTSRB交通標志數據集總共51 831張交通圖片,分為43類,其中,訓練集有39 209張圖片,測試集有12 432張圖片,所有圖片都是在復雜背景下拍攝見圖5。
101_food總共101 000張食物圖片,分為101類,每類有1 000張圖片,其中,訓練集有75 750張圖片,測試集有25 250張,如圖6所示。
預處理:對圖片進行左上角、右上角、左下角、右下角和中間進行不同程度的裁剪,大小裁剪為227×227,對數據集進行數據增強;然后進行歸一化和去均值處理,通過水平翻轉等方式增加數據集的數量。
3.2 ?實驗結果及分析
本文實驗在AlexNet基礎上將卷積層進行替換,又通過使用BN、ResNet、Avepool以及Dropout等來優化網絡,通過對比AlexNet網絡,網絡1和網絡2不管是在準確率還是模型大小上都有很大的改進,其中,網絡2的性能更優越。
表1和表2分別表示網絡在101_food和GTSRB上的精確度和實驗模型大小,圖7和圖8分別展示了各模型在數據集上變化的準確率曲線。
由表1和表2可知,Cross Input?Net1和Cross Input?Net2都有較好的精確度,網絡整體模型大小也減小很多。傳統網絡和AlexNet網絡結構較淺,網絡整體參數較小,所以訓練時間比較短,本文網絡每個模塊中從不同通道使用了不同的卷積核進行卷積,2條支路的使用相當于支路參數的累加,網絡的加寬、加深也使得網絡整體參數增加不少,導致網絡訓練時間相對較長。
整體來說,網絡的加深、加寬對BN層及激活層的計算增加了不少,使得相同時間迭代下網絡訓練加長,但是全局平均池化代替全連接又減少了大量的卷積層參數,同時不同通道卷積核的交叉混用使得特征提取更充分,網絡訓練精確度更高。Cross Input?Net2的網絡在綜合對比下性能也更優越。
4 ?結 ?語
本文通過對AlexNet基礎網絡進行改進,提出雙通道卷積交叉網絡模型,使用不同卷積核進行特征提取,充分提取特征的同時也增加了網絡的深度和寬度,使用BN進行歸一化處理,用ResNet殘差消除梯度問題,用Dropout來防止過擬合,用全局平均池化代替全連接減少網絡參數。在101_food和GTSRB數據集上進行訓練,實驗結果表明,本文網絡性能優越,在提高網絡識別精度的同時減小了網絡模型大小。雖然網絡在一定程度上有很大改進,但是后續工作仍需要繼續對網絡結構進行改進,網絡加深、加寬帶來的網絡模型大,訓練時間長問題還需要進一步優化,同時網絡需要在更多大型數據集上進行訓練,將其運用到更多方面,提高應用性能。
注:本刊通訊作者為曾上游。
參考文獻
[1] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks [J]. Science, 2006, 313: 504?507.
[2] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]// International Conference on Neural Information Processing Systems. Boston: Massachusetts Institute of Technology Press, 2012:1097?1105.
[3] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large?scale image recognition [J]. Computer science, 2014(7): 21?34.
[4] 周飛燕,金林鵬,董軍.卷積神經網絡研究綜述[J].計算機學報,2017,40(6):1229?1251.
[5] 李策,陳海霞,漢語,等.深度學習算法中卷積神經網絡的概念綜述[J].電子測試,2018(23):61?62.
[6] IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift [J]. Computer science, 2015(11): 102?110.
[7] 楊遠飛,曾上游,周悅,等.基于輕量型卷積神經網絡的圖像識別[J].電視技術,2018,42(3):40?44.
[8] 周悅,曾上游,楊遠飛,等.基于分組模塊的卷積神經網絡設計[J].微電子學與計算機,2019,36(2):68?72.
[9] SZEGEDY C, LIU W, JIA Y Q, et al. Going deeper with convolutions [C]// IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 1?9.
[10] 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. Las Vegas: IEEE, 2016: 770?778.
[11] 潘兵,曾上游,楊遠飛,等.基于雙網絡級聯卷積神經網絡的設計[J].電光與控制,2019,26(2):57?61.
[12] ZEILER M D, FERGUS R. Visualizing and understanding convolutional networks [C]// European Conference on Computer Vision. Zurich: Springer, 2014: 818?833.
[13] SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting [J]. Journal of machine learning research, 2014, 15(1): 1929?1958.
[14] JIA Y Q, SHELHAMER E, DONAHUE J, et al. Caffe: convolutional architecture for fast feature embedding [C]// ACM International Conference on Multimedia. Xiamen: Springer, 2014: 675?678.
作者簡介:王新嬌(1995—),女,山東濰坊人,碩士,研究方向為人工智能深度學習。
曾上游(1974—),男,工學博士,教授,研究領域為非線性動力學、計算神經科學。
魏書偉(1994—),男,山東臨沂人,碩士,研究方向為人工智能深度學習。