楊鑫 楊晶東
摘 要:為提高卷積神經網絡在圖像分類中的泛化性,提出基于多分支深度神經網絡結構。使用ResNet(殘差網絡)的跨層連接結構構造多分支網絡,各分支網絡共享中淺層特征提取,深層網絡使用不同卷積核尺寸。分別使用獨立損失函數產生多梯度對中淺層特征權值進行同步調整。與ResNet的單重網絡進行對比實驗,結果表明,在具有相同收斂性的前提下,各個分支網絡的泛化性都得到一定提高,在多類別數據集中表現(xiàn)出更優(yōu)性能。
關鍵詞:殘差網絡; 多分支網絡; 泛化性能
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],使深層神經網絡可以擬合復雜的非線性映射,相比SVM(支持向量機)、邏輯回歸等淺層學習方法,深度學習可在大數據支撐下學習數據內部復雜的模式。深度學習由Hinton等[3]在2006年提出,為解決深度神經網絡容易出現(xiàn)的梯度消失、梯度爆炸等問題,當時使用玻爾茲曼機預訓練單層參數,使得網絡最終可以收斂。計算機視覺是深度學習的重要應用領域,卷積神經網絡為計算機視覺領域的諸多問題提供了一種端到端的解決方法。卷積神經網絡可以對特征進行分層學習[4],其特征復制思想很好地解決了圖像識別中視角差異、物體特征在圖像上的維度跳躍問題。Yann LeCun和他的團隊提出了著名的卷積神經網絡結構LeNet5,成功應用在手寫體數字識別上[5],改進的BP網絡在手寫數字字符識別上的研究取得了一定進展[6]。由于計算機硬件的技術進步,海量圖片數據以及神經網絡初始化、優(yōu)化方法的提出,使得深度神經網絡容易收斂且不易出現(xiàn)過擬合問題[7-9],但由于網絡層數的逐漸疊加,產生了網絡收斂困難和優(yōu)化困難問題。文獻[10]引入殘差塊結構,殘差神經網絡中的跨層連接思想可使網絡層數疊加很深,極大解決了深層網絡的收斂問題。殘差神經網絡開始在計算機視覺應用中占據主導地位,文獻[11]提出使用深度殘差神經網絡進行視頻內容的快速檢索;文獻[12]提出使用深度殘差網絡進行脫機手寫漢字識別;文獻[13]提出使用殘差神經網絡進行結構故障識別,但深度殘差網絡并沒有達到最優(yōu)輸出;文獻[14]中提出采用多尺度特征圖學習策略改善網絡性能,提高訓練收斂性和測試泛化性能,但未提出多損失函數策略提高網絡識別正確率。本文致力于提高深度學習模型在圖像識別領域的收斂性和泛化性,提出多分支網絡正則中淺層的特征提取網絡,在cifar10與cifar100數據集中分類性能比原有ResNet性能更好。
1 ResNet殘差網絡
ResNet的主要思想是在不同的卷積層中添加跨層連接,改變層與層間的映射關系,使用RseNet的跨層連接結構如圖1所示。
圖1 ResNet的跨層連接
圖1增加了層與層的跨層連接結構,網絡實際學習的非線性映射為[F(X)=H(X)-X]。疊加卷積神經網絡層數會使模型變得更加復雜,較深層神經網絡理論上會表現(xiàn)出更好的泛化性能,但實驗結果表明,當網絡深度達到一定層數時,在訓練集上的分類誤差開始逐漸變大[15-16]。增加跨層連接,降低了網絡優(yōu)化水平,使得深層網絡更容易達到收斂。ResNet折中了復雜網絡與簡單網絡,以適應不同復雜程度的分類模式。
2 基于多分支網絡的深度網絡結構
本文將圖1中ResNet的跨層連接作為一個殘差塊,將3個具有相同特征圖數目的殘差塊作為一個scale,使用3個具有特征圖數目的scale構成殘差網絡中的特征提取部分,各個scale間使用最大池化降低特征圖像素數。[H(X)=F(X)+X,]當[F(X)]與[X]特征圖數目不一致時,采用[1×1]卷積核進行變換。本文構建三分支網絡,各個分支網絡共享scale1與scale2中淺層特征提取,3個scale3分別采用[3×3、5×5、7×7]卷積核尺寸,scale1與scale2采用[3×3]卷積核尺寸,網絡整體結構如圖2所示。
ResNet1、ResNet2、ResNet3分別使用獨立的交叉熵損失函數,由于scale3中設置了不同尺寸的卷積核,對于scale1與scale2中的梯度調整將進行一定程度的互相正則。設scale2中一層卷積層的權值為Wc,其對應的梯度由下式產生:
圖2 三分支殘差網絡結構
[dWc= ?Lr1?Wc+?Lr2?Wc+?Lr3?Wc]? ?(1)
式(1)中,[Lr1]為ResNet1的損失函數,[Lr2]為ResNet2的損失函數,[Lr3]為ResNet3的損失函數。不同尺寸的卷積核提取特征具有不同范圍大小的感受野,對于每個獨立的網絡連接scale1與scale2,類似于產生了具有正確導向的噪聲信號。Scale2與scale3銜接部分輸入部分卷積層,損失函數對其特征圖激活值的偏導[dA]由式(2)給出。式中[H3×3]為輸出卷積層特征圖高度,[ahw]為輸出卷積層特征圖切片激活值,[dZhwc]為損失函數關于輸出卷積層第h行w列c深度被激活前特征圖像素值。scale1與scale2中的權值更新梯度由[dA]回傳,網絡最終在共享權值部分產生多梯度的混合調整。實驗證明該方法可提高單分支網絡的泛化性能。
[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]可隨機訓練一定比例失活神經元后的網絡,網絡訓練被認為是在眾多的子網絡中進行一個特殊意義的融合。本文使用多分支網絡結構,同時利用dropout技術進行網絡的正則化以提高模型的泛化性能。
Scale3將每一特征圖使用平均池化轉化為1個標量,減小分類器輸入的特征維度。分類器使用兩層全連接網絡,隱藏層使用1 024個神經元,同樣使用ReLU函數作為激活函數,全連接層間使用Batch Normalization[18]進行批歸一化。
對于ResNet的輸入,使用一定的數據增強技術。數據增強方法為:將原始圖像進行寬度為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。本文將針對不同分類樣本數據集cifar10和cifar100分類精度、泛化性能進行對比研究。
3.1 cifar10數據集實驗與分析
cifar10數據集由60 000張[32×32×3]的彩色圖片組成,總共包含10個類。其中50 000張圖片作為訓練,? ? 10 000張圖片作為測試。10個類分別為飛機(airplane)、汽車(automobile)、鳥(bird)、貓(cat)、鹿(deer)、狗(dog)、青蛙(frog)、馬(horse)、船(ship)、卡車(truck)。
本實驗采用的訓練參數:采用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會因為樣本的不同導致網絡無法完全收斂到極值點,權值會存在一定的波動,導致曲線存在一定的振蕩。本文取所有采樣值中的最大值作為模型泛化性的最終評估指標,對比在相同卷積核尺寸下分支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數據集實驗與分析
Cifar100與cifar10使用相同的訓練數據和測試數據,不同在于ciar100比cifar10具有更加精細的類區(qū)分,共分為100類,將其中50 000張作為訓練集,10 000張作為測試集。由于數據集的變動,每一類樣本數變少,原有參數設置沒有足夠的容量擬合cifar100數據。將dropout參數keep_prob值重新調整,scale1中keep_prob值為0.95,scale2中為0.9,scale3中為0.85,全連接層中值為0.8,其余的超參數與cifar10的實驗一致。
采用cifar10實驗相同的數據采樣方式進行測試集正確率數據采樣,結果如圖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 結語
本文提出一種共享中淺層特征提取的多分支殘差網絡,結合dropout,通過獨立梯度,在保證各個分支網絡scale3獨立性的同時,提高了共享網絡部分正則化,在多分類、精細化數據集方面比單重ResNet性能更好。未來將重點研究分支網絡的自適應融合。
參考文獻:
[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網絡數字字符識別[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] 李瞳, 李彤, 趙宏偉. 基于殘差神經網絡的視頻內容快速檢索系統(tǒng)研究[J]. 吉林大學學報:信息科學版, 2018(4):158-161.
[12] 張帆, 張良,劉星,等. 基于深度殘差網絡的脫機手寫漢字識別研究[J]. 計算機測量與控制, 2017(12):259-262.
[13] 胡壽松,汪晨曦,張德發(fā). 基于遞階殘差神經網絡的結構故障模式識別[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.
(責任編輯:杜能鋼)