楊鑫 楊晶東
摘 要:為提高卷積神經(jīng)網(wǎng)絡在圖像分類中的泛化性,提出基于多分支深度神經(jīng)網(wǎng)絡結構。使用ResNet(殘差網(wǎng)絡)的跨層連接結構構造多分支網(wǎng)絡,各分支網(wǎng)絡共享中淺層特征提取,深層網(wǎng)絡使用不同卷積核尺寸。分別使用獨立損失函數(shù)產(chǎn)生多梯度對中淺層特征權值進行同步調(diào)整。與ResNet的單重網(wǎng)絡進行對比實驗,結果表明,在具有相同收斂性的前提下,各個分支網(wǎng)絡的泛化性都得到一定提高,在多類別數(shù)據(jù)集中表現(xiàn)出更優(yōu)性能。
關鍵詞:殘差網(wǎng)絡; 多分支網(wǎng)絡; 泛化性能
DOI:10. 11907/rjdk. 182713 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP301文獻標識碼:A 文章編號:1672-7800(2019)007-0056-04
Image Recognition Algorithm Based on Multi-branch Network
YANG Xin, YANG Jing-dong
(School of Optoelectronic Information and Computer Engineering,
University of Shanghai for Science and Technology, Shanghai 200093, China)
Abstract: Aiming at improve the convergence and generalization of convolutional neural networks in image classification, we propose a deep neural network structure based on multi-branch network. Using a cross-layer connection structure of ResNet (residual network), a multi-branch network is constructed, shallow feature extraction is performed in each branch network share, and different convolution kernel sizes are used in the deep network part. Separate loss functions are used, and multiple scale gradients are used to adjust the weights of the middle and shallow features simultaneously. Experiments show that the convergence and generalization of each branch network have been improved compared to the single-net network of resnet. At the same time, the algorithm in this paper shows better performance in multi-category data sets, and has practical significance in the big data environment.
Key Words: residual network; multi-branch network; generalization performance
作者簡介:楊鑫(1991-),男,上海理工大學光電信息與計算機工程學院碩士研究生,研究方向為深度學習、計算機視覺;楊晶東(1973-),男,博士,上海理工大學光電信息與計算機工程學院副教授、碩士生導師,研究方向為智能機器人、計算機視覺。
0 引言
深度學習通過疊加非線性層[1-2],使深層神經(jīng)網(wǎng)絡可以擬合復雜的非線性映射,相比SVM(支持向量機)、邏輯回歸等淺層學習方法,深度學習可在大數(shù)據(jù)支撐下學習數(shù)據(jù)內(nèi)部復雜的模式。深度學習由Hinton等[3]在2006年提出,為解決深度神經(jīng)網(wǎng)絡容易出現(xiàn)的梯度消失、梯度爆炸等問題,當時使用玻爾茲曼機預訓練單層參數(shù),使得網(wǎng)絡最終可以收斂。計算機視覺是深度學習的重要應用領域,卷積神經(jīng)網(wǎng)絡為計算機視覺領域的諸多問題提供了一種端到端的解決方法。卷積神經(jīng)網(wǎng)絡可以對特征進行分層學習[4],其特征復制思想很好地解決了圖像識別中視角差異、物體特征在圖像上的維度跳躍問題。Yann LeCun和他的團隊提出了著名的卷積神經(jīng)網(wǎng)絡結構LeNet5,成功應用在手寫體數(shù)字識別上[5],改進的BP網(wǎng)絡在手寫數(shù)字字符識別上的研究取得了一定進展[6]。由于計算機硬件的技術進步,海量圖片數(shù)據(jù)以及神經(jīng)網(wǎng)絡初始化、優(yōu)化方法的提出,使得深度神經(jīng)網(wǎng)絡容易收斂且不易出現(xiàn)過擬合問題[7-9],但由于網(wǎng)絡層數(shù)的逐漸疊加,產(chǎn)生了網(wǎng)絡收斂困難和優(yōu)化困難問題。文獻[10]引入殘差塊結構,殘差神經(jīng)網(wǎng)絡中的跨層連接思想可使網(wǎng)絡層數(shù)疊加很深,極大解決了深層網(wǎng)絡的收斂問題。殘差神經(jīng)網(wǎng)絡開始在計算機視覺應用中占據(jù)主導地位,文獻[11]提出使用深度殘差神經(jīng)網(wǎng)絡進行視頻內(nèi)容的快速檢索;文獻[12]提出使用深度殘差網(wǎng)絡進行脫機手寫漢字識別;文獻[13]提出使用殘差神經(jīng)網(wǎng)絡進行結構故障識別,但深度殘差網(wǎng)絡并沒有達到最優(yōu)輸出;文獻[14]中提出采用多尺度特征圖學習策略改善網(wǎng)絡性能,提高訓練收斂性和測試泛化性能,但未提出多損失函數(shù)策略提高網(wǎng)絡識別正確率。本文致力于提高深度學習模型在圖像識別領域的收斂性和泛化性,提出多分支網(wǎng)絡正則中淺層的特征提取網(wǎng)絡,在cifar10與cifar100數(shù)據(jù)集中分類性能比原有ResNet性能更好。
1 ResNet殘差網(wǎng)絡
ResNet的主要思想是在不同的卷積層中添加跨層連接,改變層與層間的映射關系,使用RseNet的跨層連接結構如圖1所示。
圖1 ResNet的跨層連接
圖1增加了層與層的跨層連接結構,網(wǎng)絡實際學習的非線性映射為[F(X)=H(X)-X]。疊加卷積神經(jīng)網(wǎng)絡層數(shù)會使模型變得更加復雜,較深層神經(jīng)網(wǎng)絡理論上會表現(xiàn)出更好的泛化性能,但實驗結果表明,當網(wǎng)絡深度達到一定層數(shù)時,在訓練集上的分類誤差開始逐漸變大[15-16]。增加跨層連接,降低了網(wǎng)絡優(yōu)化水平,使得深層網(wǎng)絡更容易達到收斂。ResNet折中了復雜網(wǎng)絡與簡單網(wǎng)絡,以適應不同復雜程度的分類模式。
2 基于多分支網(wǎng)絡的深度網(wǎng)絡結構
本文將圖1中ResNet的跨層連接作為一個殘差塊,將3個具有相同特征圖數(shù)目的殘差塊作為一個scale,使用3個具有特征圖數(shù)目的scale構成殘差網(wǎng)絡中的特征提取部分,各個scale間使用最大池化降低特征圖像素數(shù)。[H(X)=F(X)+X,]當[F(X)]與[X]特征圖數(shù)目不一致時,采用[1×1]卷積核進行變換。本文構建三分支網(wǎng)絡,各個分支網(wǎng)絡共享scale1與scale2中淺層特征提取,3個scale3分別采用[3×3、5×5、7×7]卷積核尺寸,scale1與scale2采用[3×3]卷積核尺寸,網(wǎng)絡整體結構如圖2所示。
ResNet1、ResNet2、ResNet3分別使用獨立的交叉熵損失函數(shù),由于scale3中設置了不同尺寸的卷積核,對于scale1與scale2中的梯度調(diào)整將進行一定程度的互相正則。設scale2中一層卷積層的權值為Wc,其對應的梯度由下式產(chǎn)生:
圖2 三分支殘差網(wǎng)絡結構
[dWc= ?Lr1?Wc+?Lr2?Wc+?Lr3?Wc]? ?(1)
式(1)中,[Lr1]為ResNet1的損失函數(shù),[Lr2]為ResNet2的損失函數(shù),[Lr3]為ResNet3的損失函數(shù)。不同尺寸的卷積核提取特征具有不同范圍大小的感受野,對于每個獨立的網(wǎng)絡連接scale1與scale2,類似于產(chǎn)生了具有正確導向的噪聲信號。Scale2與scale3銜接部分輸入部分卷積層,損失函數(shù)對其特征圖激活值的偏導[dA]由式(2)給出。式中[H3×3]為輸出卷積層特征圖高度,[ahw]為輸出卷積層特征圖切片激活值,[dZhwc]為損失函數(shù)關于輸出卷積層第h行w列c深度被激活前特征圖像素值。scale1與scale2中的權值更新梯度由[dA]回傳,網(wǎng)絡最終在共享權值部分產(chǎn)生多梯度的混合調(diào)整。實驗證明該方法可提高單分支網(wǎng)絡的泛化性能。
[dA3×3=h=1H3×3w=1W3×3c=1Cahw×dZhwc]
[dA5×5=h=1H5×5w=1W5×5c=1Cahw×dZhwc]
[dA7×7=h=1H7×7w=1W7×7c=1Cahw×dZhwc]
[dA=dA3×3+dA5×5+dA7×7]? ? ?(2)
正則化方法dropout[17]可隨機訓練一定比例失活神經(jīng)元后的網(wǎng)絡,網(wǎng)絡訓練被認為是在眾多的子網(wǎng)絡中進行一個特殊意義的融合。本文使用多分支網(wǎng)絡結構,同時利用dropout技術進行網(wǎng)絡的正則化以提高模型的泛化性能。
Scale3將每一特征圖使用平均池化轉化為1個標量,減小分類器輸入的特征維度。分類器使用兩層全連接網(wǎng)絡,隱藏層使用1 024個神經(jīng)元,同樣使用ReLU函數(shù)作為激活函數(shù),全連接層間使用Batch Normalization[18]進行批歸一化。
對于ResNet的輸入,使用一定的數(shù)據(jù)增強技術。數(shù)據(jù)增強方法為:將原始圖像進行寬度為4的黑色像素邊緣填充,隨機裁剪為32×32×3尺寸圖像,隨機翻轉、隨機變換圖像亮度、對比度,對圖像進行標準化。在測試時對圖像進行標準化操作。本文權值初始化使用He[19]的方法,采用Adam[20]優(yōu)化權值更新算法。
3 實驗結果分析
本實驗通過阿里云機器學習PAI深度學習平臺實現(xiàn),GPU型號為NVIDIA Tesla M40,可用GPU顯存為11.07GB,顯卡頻率1.112(GHZ)。本實驗基于的開源平臺為tensorflow1.0,使用的編程語言為python2.7。本文將針對不同分類樣本數(shù)據(jù)集cifar10和cifar100分類精度、泛化性能進行對比研究。
3.1 cifar10數(shù)據(jù)集實驗與分析
cifar10數(shù)據(jù)集由60 000張[32×32×3]的彩色圖片組成,總共包含10個類。其中50 000張圖片作為訓練,? ? 10 000張圖片作為測試。10個類分別為飛機(airplane)、汽車(automobile)、鳥(bird)、貓(cat)、鹿(deer)、狗(dog)、青蛙(frog)、馬(horse)、船(ship)、卡車(truck)。
本實驗采用的訓練參數(shù):采用dropout方法,scale1中keep_prob值為0.85,scale2中為0.8,scale3中為0.75,全連接層中為0.6。在卷積層中使用dropout隨機訓練整張?zhí)卣鲌D。初始學習率設為0.01,30 000step時將學習率降為0.001,50 000step時將學習率降為0.000 1。采用mini_batch 隨機梯度下降,batchsize取128。
在過了50 000step時,每隔1 000step對測試集的10 000張圖片進行測試,結果如圖3所示。在訓練過程中minibatch會因為樣本的不同導致網(wǎng)絡無法完全收斂到極值點,權值會存在一定的波動,導致曲線存在一定的振蕩。本文取所有采樣值中的最大值作為模型泛化性的最終評估指標,對比在相同卷積核尺寸下分支ResNet與單重ResNet測試集正確率。在具有相似收斂性前提下,本文采用共享中淺層殘差塊的分支ResNet,比單重ResNet具有更好的泛化性能。當采用3×3卷積核尺寸時測試集正確率為93.65%,比單重ResNet提高了0.09%;當采用5×5卷積核尺寸時,測試集正確率為93.70%,比單重ResNet提高了0.16%;當采用7×7卷積核尺寸時,測試集正確率為93.80%,比單重ResNet提高了0.47%。
3.2 cifar100數(shù)據(jù)集實驗與分析
Cifar100與cifar10使用相同的訓練數(shù)據(jù)和測試數(shù)據(jù),不同在于ciar100比cifar10具有更加精細的類區(qū)分,共分為100類,將其中50 000張作為訓練集,10 000張作為測試集。由于數(shù)據(jù)集的變動,每一類樣本數(shù)變少,原有參數(shù)設置沒有足夠的容量擬合cifar100數(shù)據(jù)。將dropout參數(shù)keep_prob值重新調(diào)整,scale1中keep_prob值為0.95,scale2中為0.9,scale3中為0.85,全連接層中值為0.8,其余的超參數(shù)與cifar10的實驗一致。
采用cifar10實驗相同的數(shù)據(jù)采樣方式進行測試集正確率數(shù)據(jù)采樣,結果如圖4所示,同樣將采樣值中最大值作為模型測試集最終正確率。由圖4可知,scale3采用不同的卷積核尺寸共享中淺層特征提取殘差塊,分支ResNet在測試集上的正確率都要高于單重ResNet。本文方法中,當采用3×3卷積核尺寸時測試集正確率為76.27%,比單重ResNet提高了1.01%;當采用5×5卷積核尺寸時,測試集正確率為76.24%,比單重ResNet提高了1.47%;當采用7×7卷積核尺寸時,測試集正確率為76.42%,比單重ResNet提高了2.6%。
4 結語
本文提出一種共享中淺層特征提取的多分支殘差網(wǎng)絡,結合dropout,通過獨立梯度,在保證各個分支網(wǎng)絡scale3獨立性的同時,提高了共享網(wǎng)絡部分正則化,在多分類、精細化數(shù)據(jù)集方面比單重ResNet性能更好。未來將重點研究分支網(wǎng)絡的自適應融合。
參考文獻:
[1] BENGIO Y. Learning deep architectures for AI[J]. Foundations & Trends? in Machine Learning, 2009, 2(1):1-127.
[2] BENGIO Y,LAMBLIN P,DAN P,et al. Greedy layer-wise training of deep networks[J]. Advances in Neural Information Processing Systems,2007(19):153-160.
[3] HINTON G E,OSINDERO S,TEH Y W. A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[4] MATTHEW D,ZEILER,ROB FERGUS. Visualizing and understanding convolutional networks[J]. Computer Vision-ECCV,2013(8689):818-833.
[5] LéCUN Y,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE,1998,86(11):2278-2324.
[6] 曾志軍,孫國強. 基于改進的BP網(wǎng)絡數(shù)字字符識別[J]. 上海理工大學學報,2008,30(2):201-204.
[7] KRIZHEVSKY A,SUTSKEVER I,HINTON G E. Image net classification with deep convolutional neural networks[C]. International Conference on Neural Information Processing Systems. Curran Associates Inc,2012:1097-1105.
[8] SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science,2014(1):2253-2259.
[9] SZEGEDY C,LIU W,JIA Y,et al. Going deeper with convolutions[C]. Computer Vision and Pattern Recognition. IEEE, 2015:1-9.
[10] HE K,ZHANG X,REN S,et al. Deep residual learning for image recognition[C]. In:Proceedings of Computer Vision and Pattern Recognition,IEEE,2016:770-778.
[11] 李瞳, 李彤, 趙宏偉. 基于殘差神經(jīng)網(wǎng)絡的視頻內(nèi)容快速檢索系統(tǒng)研究[J]. 吉林大學學報:信息科學版, 2018(4):158-161.
[12] 張帆, 張良,劉星,等. 基于深度殘差網(wǎng)絡的脫機手寫漢字識別研究[J]. 計算機測量與控制, 2017(12):259-262.
[13] 胡壽松,汪晨曦,張德發(fā). 基于遞階殘差神經(jīng)網(wǎng)絡的結構故障模式識別[J]. 飛機設計,2001(3):6-11.
[14] LI B Q,HE Y Y. An improved resnet based on the adjustable shortcut connections[M]. IEEE Access,2018,18967-18974.
[15] HE K, SUN J. Convolutional neural networks at constrained time cost[EB/OL]. http://xueshu.baidu.com/usercenter/paper/show?paperid=7477b7fa311a30b9917cfeb726a258ff&site=xueshu_se
[16] SRIVASTAVA R K,GREFF K,SCHMIDHUBER J. Highway networks[J]. Computer Science,2015(3):128-122.
[17] HINTON G E,SRIVASTAVA N,KRIZHEVSKY A,et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science,2012,3(4):212-223.
[18] IOFFE S,SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift[C]. International Conference on International Conference on Machine Learning. JMLR.org, 2015:448-456.
[19] HE K,ZHANG X,REN S,et al. Delving deep into rectifiers: surpassing human-level performance on imagenet classification[J]. IEEEXplore,2015:1026-1034.
[20] KINGMA D P,BA J. Adam: a method for stochastic optimization[J]. Computer Science, 2014(6):202-208.
(責任編輯:杜能鋼)