肖堃
(電子科技大學 計算機科學與工程學院,四川 成都 611731)
深度學習從大類上可以歸入神經網絡,不過在具體實現中有許多變化。深度學習的核心是特征學習,旨在通過分層網絡獲取分層次的特征信息,從而解決以往需要人工設計特征的重要難題[1-2]。深度學習是一個框架,包含卷積神經網絡、稀疏編碼器、自動編碼器等多個重要算法。針對不同問題,需要選取的網絡模型達到的處理效果也各不相同[3]。
由于圖像特征數目過少,可能無法精確地實現分類,即欠擬合,也不會由于提取的特征數目過多,導致分類過程中過于注重某個特征出現分類錯誤,即過擬合。卷積神經網絡不需要做大量的特征提取和特征選擇工作,只需要在其訓練完成后,將需要處理的問題輸入,即可得到一個較好的擬合效果[4-5]。
針對當前方法在圖像識別領域應用過程中容易受到物體形狀、位移、尺度、光照、背景等因素的影響導致識別準確率不高,魯棒性較低、方法可移植性較差的缺點,本文提出了基于多層卷積神經網絡深度學習算法的圖像識別方法,并分析了該方法在圖像識別領域的可移植性。
多層卷積神經網絡深度學習模型是由多層感知機演變而來的,主要包括輸入圖像局部感受野、圖像權值共享及圖像時間/空間下采樣3個部分,這3部分操作的最終目的是為了保證多層卷積神經網絡能夠學習到輸入圖像的更多細節特征,大大減少了神經元個數,使得輸入圖像具有形狀、尺度及位移不變性,同時又能夠減少輸入圖像的分辨率,降低計算復雜性,縮小搜索空間,更有利于圖像識別[6-7]。
本文使用了6層卷積神經模型,包括卷積層、池化層、卷積層、池化層、下采樣層、全連接層以及輸出層,如圖1所示。并采用3×3的卷積核進行了10次迭代。

圖1 卷積神經網絡結構Fig.1 Structure of convolutional neural network
訓練過程包括數據訓練和對應的類別標簽訓練。在模型初始化設置過程中,多層卷積神經網絡深度學習模型的參數多為一些較小的、各部分相同的隨機數,不僅能夠保證模型不會進入過于飽和狀態,而且還能保證模型具有較強的學習能力。多層卷積神經網絡深度學習模型的訓練方法與BP神經網絡(BP neural network)模型的訓練方法類似,主要分為2步:1)模型的前向傳播,將訓練圖像數據中的任意一個樣本(Xp,Yp)輸入模型中,通過多層卷積神經網絡深度學習,計算得到模型輸出層的實際輸出值,即最終的識別結果[8-9],具體計算公式描述為:
Op=Fn(L(F2(F1(OpW1)W2))LWn)
(1)
式中:F1、F2、LFn和W1、W2、LWn分別表示多層卷積神經網絡深度學習模型中的一組濾波器及其對應權值;n為模型中包含的訓練數據個數。
根據式(1)計算得到模型輸出層的實際輸出值Op與期望輸出值Yp之間的誤差大小,采用極小化規則反向傳播方法調整多層卷積神經網絡深度學習模型中的對應參數。具體過程如下:
1)極小化規則反向傳播方法。
①前向傳播。
采用平方誤差代價函數計算模型輸出層的實際輸出值Op與期望輸出值Yp之間的誤差大小。假設訓練的輸入圖像數據有N個,對應的類別標簽有C個,則可得模型訓練整體誤差En的計算公式:
(2)

如果只考慮單個訓練數據,則可得多層卷積神經網絡深度學習模型中第n個訓練數據的誤差為:
(3)
根據上述計算可得當前模型第l層的輸出值為:
Xl=f(ul)
(4)
ul=WlXl-1+b
(5)
式中:f(g)為模型輸出激活函數,用于獲得待識別圖像特征圖;Wl為模型第l層訓練數據的權值矩陣;Xl-1為當前模型第l-1層的輸出;b為模型偏置項。 ②模型反向傳播過程中,模型中每個神經元對于誤差偏置項的靈敏度計算公式:
(6)
(7)
式中:?E/?u為模型誤差對于輸入圖像數據u的導數。則可得模型反向傳播過程中第l層神經元偏置項靈敏度計算公式為:
δl=(Wl+1)Tδl+1⊙f(ul)
(8)
式中:δl+1為模型第l+1層神經元偏置項靈敏度;⊙表示模型中每個元素相乘。
對于誤差函數,模型輸出層的偏置項靈敏度與上述計算略有不同,表示為:
δl=f(ul)⊙(yn-tn)
(9)
在上述計算基礎上,采用delta法則,實時更新多層卷積神經網絡深度學習模型的各神經元權值,計算公式為:
(10)
(11)
式中η為模型的學習率。
2)模型中下采樣層權值更新。
對于模型中的下采樣層,輸入的特征圖數目與輸出的特征圖數目相等,即:
(12)
下采樣層神經元偏置項靈敏度,即對輸入圖像做降采樣處理:
(13)
式中down(·)表示下采樣函數。
模型中下采樣層權值更新方法與卷積層權值更新方法類似,計算公式為:
(14)
在上述多層卷積神經網絡深度學習模型訓練完成基礎上,為了提高該模型在圖像識別過程中的準確率,引入Fisher準則,提出了基于類內距離和類間距離的能量函數[10-11],計算公式為:
J=R+γJ1-ηJ2
(15)
式中:R為多層卷積神經網絡深度學習模型的代價函數;γ為能量函數調節參數;J1為待識別圖像樣本之間的相似度函數;J2為待識別圖像類別標簽之間的相似度函數。
在充分考慮類內距離J1和類間距離能量函數J2的基礎上,計算模型輸出層各個輸出單元的殘差,使得模型權值能更加快速收斂到有利于圖像識別的最優值[12],計算公式為:
(16)
(17)
式中M(i′)為待識別圖像第i′類樣本的均值。根據式(17)即可找到有利于圖像識別的最優權值,將該權值計算結果代入式(17)中,即可獲得圖像識別結果,該理論分析結果證明多層卷積神經網絡深度學習算法具有可移植性。
硬件環境:3.4 GHz雙核處理器,4 GB內存,M40顯卡,Ubuntu14.04操作系統。
軟件環境:C++編譯器。
為檢驗多層卷積神經網絡深度學習算法在圖像識別領域應用的可移植性,隨機選取PASCAL VOC2007數據庫中的2 750張圖片,6個類別標簽作為測試集,如表1所示。

表1 實驗測試數據集Table 1 Experimental test data set
選取識別準確率、魯棒性、以及識別耗時3項指標作為評價指標,識別表1中的6種圖像類型,測試基于多層卷積神經網絡深度學習算法的圖像識別方法的有效性,測試結果如表2所示。
從表2中可以看出,采用多層卷積神經網絡深度學習算法識別6種不同類型圖像的平均準確率為96.3%;識別6種不同類型圖像的平均魯棒性為96.8%;識別6種不同類型圖像的平均耗時為17.8 ms。這是由于所提方法在訓練完多層卷積神經網絡深度學習模型基礎上,引入Fisher準則,并提出了基于類內距離和類間距離的能量函數,使得模型權值能夠更加快速收斂到有利于圖像識別的最優值,大大提高了6種不同類型圖像識別準確率和魯棒性,同時加快了識別速度,平均識別耗時均達到毫秒級。假設道路上發生交通事故,所提方法具有毫秒級處理速度,有利于決策者及時作出應對措施,避免交通事故造成的經濟損失和人員傷亡。
為了進一步檢驗所提方法的有效性和可移植性,選取比較復雜的人臉圖像和容易受光照、背景、位移等影響的車輛圖像作為訓練樣本,訓練樣本中喜歡、憤怒、悲傷、快樂4種表情各200張,受背景干擾、光照干擾、噪聲干擾和霧霾干擾的車輛各250張,其中部分樣本示例如圖2和圖3所示,采用所提方法識別4類人臉圖像和4類不同類型干擾車輛圖像,測試結果如圖4和圖5所示。

圖2 人臉圖像訓練樣本Fig.2 Face image training sample

圖3 車輛圖像訓練樣本Fig.3 Vehicle image training sample
分析圖4和圖5的實驗結果可以發現,采用所提方法無論是識別具有復雜表情的人臉圖像訓練樣本,還是具有各種干擾因素影響的車輛圖像訓練樣本均取得了較好的成果,識別準確率和魯棒性均較高,識別耗時較少。這是由于所提方法構建的識別模型中包括輸入圖像局部感受野、圖像權值共享以及圖像時間/空間下采樣3個部分,這3部分操作保證了多層卷積神經網絡能夠學習到輸入圖像的更多細節特征,大大減少神經元個數,使得輸入圖像具有形狀、尺度以及位移不變性,同時又能夠減少輸入圖像的分辨率、降低計算復雜性、縮小搜索空間,更有利于識別。通過多層卷積神經網絡深度學習算法對樣本數據進行多次迭代訓練,通過分類器輸出訓練后的實驗樣本,降低了原始數據的偏置程度,以提高實驗結果的準確性。

圖4 人臉圖像訓練樣本的識別結果Fig.4 Recognition results of face image training samples

圖5 車輛圖像訓練樣本的識別結果Fig.5 Recognition results of vehicle image training samples
上述實驗結果表明,多層卷積神經網絡深度學習算法應用在圖像識別領域具有可移植性,這與上述理論分析結果一致。
1)本文提出了基于多層卷積神經網絡深度學習算法的圖像識別方法,利用模型權值共享、更新、下采樣等操作對輸入圖像做降采樣處理,有效降低了計算復雜度。
2)利用delta法則、Fisher準則以及基于類內距離和類間距離的能量約束函數實時調整多層卷積神經網絡深度學習模型參數,計算模型輸出層各個輸出單元的殘差,讓模型權值能夠更加快速收斂到有利于圖像識別的最優值。
3)本文實現了所提出的算法,并隨機選取PASCAL VOC2007數據庫中的圖片,從理論和實驗兩方面證明了所提方法的可移植性。