閆 河 王 鵬 董鶯艷 羅 成 李 煥
1(重慶理工大學計算機科學與工程學院 重慶 401320)2(重慶理工大學兩江人工智能學院 重慶 401147)
圖像識別是通過計算機模擬人類對圖片的分類理解,自動的把圖片歸為不同的語義類別。目前,圖像識別在眾多領域都有廣泛的應用。對于圖像識別目前有兩個主要研究的方向:一是對特征的提取;二是對圖片分類算法的研究。目前基于支持向量機[1]的分類雖然取得較好的成績,但是還存在挑戰。由計算機表達出來的特征和人類對于大腦皮層所感知的信息還存在差距。這個問題也是我們面臨的巨大挑戰。如何用計算機構建一個對高層語義理解的方法是急需解決的關鍵問題。而隨著卷積神經網絡的提出,這個關鍵的問題也在逐漸的被解決。目前,深度學習技術在近幾年取得了突破性的進展,特別是在視覺方面。卷積神經網絡在圖像分類[2]、圖像檢索[3]、圖片識別[4]等方面都取得較好的效果。文獻[5]在1999年實現了對手寫體數字的識別。AlexNet[2]網絡在2012年的ImageNet大賽上取得了冠軍。VGG[3]網絡進一步提高了識別精度,同時把網絡層數增加到19層,并在2014年的比賽中取得了第一名的好成績。文獻[4]提出了更深層的網絡結構,把網絡層數進一步提高,并達到了22層,同時獲得了2014年視覺挑戰賽的冠軍。文獻[6]研究了線性整流函數,通過和GoogleNet的對比,把準確率提高了26%。通過以上大賽中應用卷積神經網絡的對比實驗可以發現。神經網絡的深度直接影響計算機視覺任務的效果。但是,如果單純地增加網絡深度又會引發網絡梯度消失問題。如果發生梯度消失,不僅不會讓網絡的性能更好,還會讓網絡的精度下降,甚至消失。針對以上的問題,文獻[7]提出了殘差網絡結構,不僅解決了網絡深度的問題,同時還有效解決了梯度消失問題,文獻[8]提出了一種全新的方案解決梯度消失問題,同時讓層之間的信息保持最大化的傳送。通過對以上網絡結構的對比發現,在解決問題的時候都是向網絡的深度發展。但是隨著網絡深度的加深,需要訓練的參數也會逐漸增多,對于電腦的存儲空間也提出了新的要求,同時也需要性能更好的計算設備。對于實際應用情況會出現種種困難,如今已有學者在研究如何減低計算開銷[9-10],目前有效的方法是用特定的數據在預訓練網絡上訓練特定的目標網絡,簡單講就是遷移學習。也有研究[11]用改進的網絡結構計算類別間的相似度實現圖片的分類。還有研究[12]對于在圖片分類中有多個標簽的情況。由此設計出了HCP網絡,并取得了較好的效果,卷積神經網絡提取特征時具有平移、縮放和旋轉不變性[13]等優點。
卷積神經網絡的最后一層一般可以看成一個線性分類器,所以卷積神經網絡雖然能夠提取特征,但不是一個最優的分類器。2016年,趙亮等[14]利用卷積神經網絡結合HOG和HSV特征構造圖像特征,通過用支持向量機對圖片進行分類。支持向量機(SVM )是最廣泛的分類器之一,但隨著分類器的進一步發展,Huang等[15]于2004年提出單隱層前向神經網絡(SLFNs)的ELM算法,并于2006年對ELM進行了進一步的研究,給出了一些理論證明和應用[15-16]。文獻[17]提出了P-ELM[17],根據ELM算法并利用統計學原理,對網絡分類效果影響較弱的隱層進行裁剪,并優化網絡結構,取得了較好的分類效果。同時也有眾多學者將極限學習機應用到了實際應用,并都取得了很好的效果。張建明等[18]提出了極限學習機應用于人臉識別,文武等[19]提出了極限學習應用于車牌識別等。與其他分類器相比較,極限學習機的參數不需要迭代訓練,直接通過計算所得,所以具有訓練速度快,不需要選擇學習率等參數,避免了尋優過程,應用圖片分類識別具有較好的效果。但是極限學習機對特征較高的要求,這正好運用卷積神經網絡來彌補。以上文獻充分證明了卷積神經網絡對于特征提取的有效性,同時也證明了極限學習機在分類識別上比目前先進的分類算法表現得更優。但是,卷積神經網絡是最好的特征提取方法,卻不一定是最好的分類方法,且卷積神經網絡的訓練時間長,而極限學習機恰恰可以彌補卷積神經網絡的不足。同時卷積神經網絡對于特征提取還可以進一步優化和改進。
針對卷積神經網絡分類耗時長,誤差率有待提高和提取更豐富的特征語義,本文提出了一種AlexNet卷積神經網絡和ELM結合的圖片分類方法,采用有監督的方法學習不同層次的圖像特征,用改進網絡結構提取更具表達能力的圖片特征,并在全連接層和極限學習機結合。相比于其他的算法本文具有以下的特點:
(1) 提出一種高效的網絡框架,不僅能夠提高圖片識別率,同時也能降低計算開銷。
(2) 本文在池化層做了改進,用最大-均值的池化方式,不但擴大了局部感受野,同時還保留了圖片更加精確的特征,滿足了極限學習機對于特征的要求。
(3) 通過全連層和極限學習機的結合,提高了網絡結構的分類能力。
通過實驗結果證明,本文對卷積神經網絡提出的優化和改進,應用于圖片的分類識別取得了較好的效果,且性能優于目前最先進的方法。
卷積神經網絡[20]是提取高級語義特征表現最好的算法,通過對圖片的逐層卷積提取更加抽象的特征,越抽象的特征越能夠表現圖片的語義信息,并在圖片的分類中變現出更好的性能。
AlexNet是一種常見的卷積神經網絡結構,此網絡由五層卷積層、三層池化層和三層全連接組成。網絡結構的全連接層和池化層的主要目的是對特征的提取,全連接層把特征向量壓縮成為一維的向量。此網絡的訓練的過程主要分為兩個步驟。
(1) 前向傳播階段,計算公式如下:

(1)
式中:y(l)為第l個卷積層的輸出,x(i)是輸入向量,?為卷積運算,b(i)為偏置,w(i)為該層的權值,m代表輸入特征的集合,f(x)為激活函數。
(2) 反向傳播階段,對于有m個樣本的數據集,會通過上述的前向傳播輸出預測值,根據預測值與網絡期望的輸出定義整體的目標函數。
(2)
式中:L(Zi)是對應網絡的損失函數。通過最小化損失函數降低網絡分類誤差,zi為反向傳播的輸入,w代表權值,λ代表歸一項所代表的比重,L(Zi)需要根據實際的分類情況具體決定。
極限學習機最初是為了解決單隱層前饋神經網絡SLFNs(Single-hidden layer feed-forward neural networks)而提出,網絡結構圖如圖1所示。

圖1 極限學習機的網絡結構
假設有N個任意的不同樣本(xi,ti),i=1,2,…,N其中,xi=[xi1,xi2,…,xin]∈Rn,ti=[ti1,ti2,…,tim]∈Rm。
則極限學習機的目標函數為:
Hβ=T
(3)
式中:H為神經網絡隱層的輸出矩陣;T為期望輸出[12]。
(4)
h(x)=g(W·x+b)
(5)
式(4)和式(5)中:W∈RL×n為輸入層到隱含層的權值;b∈RL為隱含偏置量;g(·)為激活函數。基本思想是:隨機產生W和b,然后據此計算H和β,有很多種方法,其中一種簡單的方法為[21]:
β=H+T
(6)
AlexNet網絡結構如圖2所示,此模型通過輸入相應的圖像和標簽,輸出圖片類別的概率。本文將從兩個方面優化和改進網絡結構,首先對網絡框架的優化,主要有兩點:(1) 基于最大值池化的缺點,提出了最大值和均值結合的池化方法,擴大局部感受野。(2) 在全連接層后面接上極限學習機進行分類學習。其次,對于網絡內部的優化主要是在卷積后,對數據規范化處理。

圖2 AlexNet網絡結構圖及優化
目前,深度學習中大部分的網絡結構和識別的算法都用到了池化。為了能夠提取局部感受野中精確的圖像特征,本文研究了最大值池化和均值池化的特點,發現最大值池化可以提取圖片局部的特征信息,通過局部的特征信息可以組合成為全局的特征信息。但是在特征的細節處理上效果表現欠佳,因而本文提出一種把兩者結合的池化方式,既保留了輪廓的完整性,又在細節的處理上更精確。通過結合兩者的優點,提取出更加精確的特征信息。
均值池化對細節的特征表現出更好的魯棒性,而最大值池化則表現出平移不變形。通過公式[22]定義兩個池化:
(7)
(8)
式中:vm表示圖像中T個像素點的第m個像素點,m表示該點在滑動窗口中的方位,池化即把vm映射到相應的統計值。
本文結合了兩者的優勢,重新提出了最大-平均值池化:
(9)
在AlexNet網絡結構中用于替換原有的方法,如圖2灰色所表示的方法。

本文驗證實驗在兩個公共的標準數據集:CIFAR-100[23]和ImageNet2017[24]上進行。每個數據集都進行了如下兩種深度神經網絡優化方法的對比實驗:(1) 在池化層中用最大值-均值池化替代最大值池化;(2) 在全連接層連接極限學習機即如圖2所示的網絡結構,也是本文提出的深度卷積神經網絡最重要優化方法。
定義分類性能的指標如下:

(10)
CIFAR-100[23]數據集包含了100類,所有圖像都是32×32的像素大小,每一類圖片包括600張彩色圖片,分別為500張訓練圖片和100張測試圖片。
ImageNet[24]數據集內有超過1 500萬張、共22 000多個帶標簽的高分辨率圖像。本實驗采用ILSVRC數據集,ILSVRC-2017是ImageNet的一部分,選用其中的1 000個類別做對比實驗。
CIFAR-100數據集是用于圖片分類識別的數據集,選擇100張圖片作為需要識別的圖片。網絡的輸出定義為100類,設定batchsize為64,初始學習率設定為0.001,同時用梯度下降的方法訓練數據,通過將數據分別在Stochastic Pooling[25]、AlexNet+Fine-tuning[26]、AlexNet+Max-Ave-pooling[27]等算法上做對比實驗。對比結果如表1所示。

表1 誤差率在CIFAR-100數據集的比較結果
從實驗中可以得出如下結果,不同的池化方法對于誤差率有較明顯的影響,隨機池化方式對特征的全局和細節提取不充分,實驗結果表現為誤差率較高。同時,通過AlexNet+Fine-tuning[26]調整規則后的池化方式能夠降低識別誤差率,相比于本文提出的最大值均值池化不僅考慮了特征的整體性,同時兼顧了特征的細節。通過與極限學習機的結合,并通過與目前性能最好的算法作對比,實驗分析可知,最大值-均值池化解決了極限學習機對于特征的要求,相對于噪聲和其他干擾有更好的適應能力,同時能夠提取語義更加豐富和特征更精確的特征信息,使得最終的誤識率降到26.67%,充分證明了算法的有效性。
本文提出的最大值-均值和極限學習機結合的方法在誤差率上明顯降低。通過對比單獨使用最大值池化的方法,本文提出的方法能提取更加抽象的語義特征信息,更有利于圖片分類。相比于其他算法有效地降低了誤差率,通過與其他算法的對比實驗,在CIFAR-100數據集誤差率降低到26.67%,證明了本文提出的方法在性能上明顯優于其他算法。
ImageNet數據集內有超過1 500萬張、共22 000多個帶標簽的高分辨率圖像。本文選用ILSVRC數據集(ImageNet Large-Scale Visual Recognition Challenge),ILSVRC-2017是ImageNet的一部分,選用其中的1 000個類別做對比實驗,網絡的輸出定義為1 000類,設定batchsize為64,初始學習率設定為0.001。通過將數據分別在Inception-v4[28]、ResNet-200[29]、DenseNet-161[30]、SeNET[31]和本文提出的算法作對比實驗,結果如表2所示。

表2 誤識率在ILSVRC上面的誤差率的比較結果
通過對比實驗可以得出結論,本文提出最大值-均值池化和極限學習機結合的方法,改進了AlexNet深度卷積網絡的結構,在提取特征時運用均值和最大值結合的池化方式提取特征,替代了原有的最大值池化方式,有效地融合了特征提取方法對微小形變不變形和平移不變形的優勢,在特征提取中保留了更加重要的圖片特征,更加有利于極限學習機最后的分類識別。同時,極限學習機在分類識別過程中通過廣義逆計算所得,在分類識別時耗時較短,因而和目前最優的算法做了實驗對比,本文提出的算法有更好的性能表現。
為了驗證極限學習機隱含層神經元的個數對圖像分類的影響,分別在以上兩個公共數據集上做了不同神經元個數的對比實驗。第一個公共的數據集CIFAR-100共有100類,為了能夠匹配網絡,選用的神經元的個數分別為n=(80,90,100,125,130)。第二個公共數據集ILSVRC-2017共有1 000類,為了更好地匹配網絡,選用神經元的個數為n=(800,900,1 000,1 250,1 300)。通過在本文提出的方法AlexNet+Max-Ave-pooling+ELM上進行實驗。
從表3和表4可以得出極限學習機誤差率會隨著神經元的個數的變化而改變。當極限學習機隱含層的神經元個數越接近分類個數時,錯誤分類率越低。由于極限學習機是通過求廣義逆的方法直接計算出權值,當隱層神經元的個數越接近分類的目標時,誤差率越小,同時通過計算得到的分類效果也越好。當我們在CIFAR100做實驗時,由于分類的類別是100,因而誤識率在隱含層神經元接近100時效果達到最優。當在ILSVRC-2017做實驗時,由于分類的類別是1 000,當隱層神經元達到1 000,ILSVRC-2017數據集上表現的分類性能達到最優。
表3錯誤分類率在不用隱層神經元上的比較結果%


表4 不用隱層神經元上的錯誤分類率(top-1) %
為了驗證改進后的網絡結構對計算開銷的影響,通過本文算法和最新的深度學習算法做對比實驗,并選用ILSVRC-2017作為數據集。Alexnet深度神經網絡結構在池化層后連接全連接層,并把所有特征信息延展為4 096維的特征向量,并通過Softmax分類器對圖片分類。此結構在全連接層中需更新迭代的參數較多,迭代更新耗時長,且訓練之后模型參數內存需218 MB。改進后的模型一次前向和反向傳播速率如表5所示,同時改進后的模型參數內存需要21 MB,縮小為原AlexNet模型的0.1倍。通過對網絡結構一次前向傳播和反向傳播耗時作為對比標準,比較不同算法的耗時比較,結果如表5所示。由于極限學習機對于特征分類采用求廣義逆的計算方式,相比于傳統的卷積神經網絡反向迭代更新權值,節約了大量的計算耗時,一次前向傳播和反向傳播總耗時降低到54 ms,達到了優化的目的。通過實驗結果表明了本文改進的網絡結構有效地降低了計算開銷。

表5 一次前向傳播和反向傳播總耗時結果比較
本文提出了基于AlexNet深度卷積神經網絡的分類框架,通過改進網絡結構,提高特征的表達能力,進一步提高識別精度。本文嘗試單獨使用最大值池化和運用常規的分類方法作為對比方法,通過在標準數據集上的對比實驗,證明本文提出的方法在準確率和計算開銷上優于其他算法。未來的工作是進一步改進網絡的結構,提取更具有區分度的特征和進一步改善計算的耗時,進一步提高識別率并應用于圖片識別等具體應用領域。