馬致穎,趙佰亭,馮 鑄,張 華
(1.安徽理工大學(xué) 機(jī)械工程學(xué)院,安徽 淮南232001;2.安徽理工大學(xué) 電氣與信息工程學(xué)院,安徽 淮南232001)
社會(huì)進(jìn)步與科技高速發(fā)展,圖像成為人們獲取信息重要的手段.圖像作為一種直觀的信息,被廣泛應(yīng)用在各個(gè)領(lǐng)域.圖像數(shù)量龐大,要實(shí)現(xiàn)快速檢索圖像信息,就要對(duì)海量圖像進(jìn)行有效分類.圖像分類的重要依據(jù)是分類算法.因此,分類算法的設(shè)計(jì)成為探索的重點(diǎn).
圖像研究領(lǐng)域日益深入,多位學(xué)者陸續(xù)提出了各具特色的圖像分類算法.Vapnik[1]在1993年提出支持向量機(jī)(Support Vector Machine,SVM),使用核函數(shù)把輸入空間的非線性可分?jǐn)?shù)據(jù)映射到高維特征空間使其線性可分[2].當(dāng)前圖像種類繁多,數(shù)量龐大,SVM算法在處理多分類問題時(shí)難以施展.K近鄰(K-Nearest Neighbor,KNN)算法雖然具有較好的準(zhǔn)確性和穩(wěn)定性,但缺點(diǎn)也很顯著,效率低和容錯(cuò)性差.傳統(tǒng)的圖像分類方法并不能應(yīng)對(duì)極具復(fù)雜性的圖像分類任務(wù).在過去的幾年里,已經(jīng)見證了人工智能領(lǐng)域的顯著進(jìn)步.深度學(xué)習(xí)是很多先進(jìn)技術(shù)的應(yīng)用基礎(chǔ)[3].卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是深度學(xué)習(xí)的一種重要算法,可以輕松處理高緯數(shù)據(jù).2010年,ImageNet挑戰(zhàn)賽中出現(xiàn)了一個(gè)CNN架構(gòu),LeNet5,是由Yann Lecun創(chuàng)建[4].該網(wǎng)絡(luò)隨后應(yīng)用于郵政編碼識(shí)別,取得了較好的效果.在此之后,多位學(xué)者在CNN結(jié)構(gòu)的輸入和特征提取上做改進(jìn),提升了模型性能.同時(shí),CNN特征提取模型和不同的分類原理的結(jié)合也取得了令人矚目的成績.目前,使用CNN與SVM共同搭建的混合模型,是最普遍的結(jié)合方式.Matsugu和Ebert驗(yàn)證了CNN與SVM的混合模型比CNN模型更具有優(yōu)勢[5-6].由于SVM的設(shè)計(jì)非常復(fù)雜,SVM算法通過代價(jià)高昂的交叉驗(yàn)證法實(shí)現(xiàn)來實(shí)現(xiàn)可能性預(yù)計(jì),所以尋找其他參數(shù)少、分類性能好、泛化能力強(qiáng)的分類器來處理圖像分類任務(wù)具有重要意義.黃廣斌教授提出了極限學(xué)習(xí)機(jī)(Extreme Learning Machine, ELM)算法[7],因?qū)W習(xí)速度優(yōu)異,泛化性能很強(qiáng)而受到廣泛關(guān)注.隨后,ELM迅速發(fā)展,應(yīng)用潛力不斷被挖掘,為構(gòu)建新的混合模型提供了方向.
采用ELM代替SVM,與CNN共同搭建新的混合模型應(yīng)用于圖像分類領(lǐng)域,充分利用CNN優(yōu)良的特征提取能力和ELM優(yōu)異的分類特性,不僅可以更加高效的完成分類任務(wù),還能進(jìn)一步提升分類精度.
CNN主要有三層,分別是卷積層、池化層和全連接層[8].卷積層的主要功能是提取局部特征.卷積運(yùn)算的輸出包含多個(gè)特征映射,在每個(gè)特征映射中,濾波節(jié)點(diǎn)的權(quán)值共享使網(wǎng)絡(luò)參數(shù)數(shù)量減少,同時(shí)還降低了相關(guān)層的復(fù)雜度.池化層與卷積層一樣,前一層中位于感受野中有限數(shù)量的神經(jīng)元的輸出端都與池化層中每個(gè)神經(jīng)元相連.池化的目標(biāo)是對(duì)輸入圖像進(jìn)行二次抽樣,減少計(jì)算負(fù)載,避免出現(xiàn)過度擬合.特征被編碼成全連接層中的一維向量之后,進(jìn)行分類.圖1為CNN的結(jié)構(gòu)圖.
圖1 CNN結(jié)構(gòu)圖Figure 1 CNN structure chart
使用傳統(tǒng)的梯度下降法來訓(xùn)練單隱層前饋神經(jīng)網(wǎng)絡(luò)(SLFN),需要不斷更新權(quán)重直到找到最優(yōu)解,增加了計(jì)算時(shí)間.ELM作為一種快速學(xué)習(xí)算法,在訓(xùn)練過程中隨機(jī)初始化輸入層權(quán)重和隱層偏差[9-13],最后通過廣義逆矩陣?yán)碚撚?jì)算得到最優(yōu)解.ELM的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
圖2 ELM網(wǎng)絡(luò)結(jié)構(gòu)圖Figure 2 ELM network structure diagram
假設(shè)有N個(gè)訓(xùn)練樣本xi=[xi1,xi2,…xin]T∈Rn,ti=[ti1,ti2,…,tim]T∈Rm,xi為輸入向量,ti為輸出向量,則有L個(gè)隱層節(jié)點(diǎn)的單隱層神經(jīng)網(wǎng)絡(luò)可以表示為:
(1)
其中:g(x)為激活函數(shù),ωi=[ωi1,ωi2,…,ωin]T為輸入權(quán)重,βi為輸出權(quán)重,bi是第i個(gè)隱層神經(jīng)元的偏置.單隱層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)是以oj無限趨近于tj為目的,所以存在:
(2)
矩陣表示為:
Hβ=T
(3)
H是隱層節(jié)點(diǎn)的輸出,T為期望輸出.等式(3)代表一個(gè)線性系統(tǒng),唯一的最優(yōu)解可以通過最小二乘法計(jì)算得到.輸出權(quán)重可以被確定為:
(4)
其中:H+是矩陣H的Moore-Penrose廣義逆.
混合模型CNN-ELM的原理是利用ELM代替已經(jīng)訓(xùn)練好的CNN的輸出層做分類,其結(jié)構(gòu)圖見圖3.混合模型主要包括兩個(gè)階段,特征提取和分類.首先在訓(xùn)練過程中調(diào)整CNN參數(shù)直到網(wǎng)絡(luò)結(jié)構(gòu)達(dá)到期望狀態(tài);然后調(diào)用ELM來接收被編碼成一維向量的特征映射,由ELM給出分類結(jié)果.
圖3 混合模型CNN-ELM結(jié)構(gòu)Figure 3 CNN-ELM structure of hybrid model
3.1.1 卷積層
(5)
3.1.2 最大池化層
(6)
3.1.3 分類層
輸入圖像經(jīng)過卷積和池化運(yùn)算后,所提取的特征轉(zhuǎn)化成一維向量作為ELM的輸入,由ELM進(jìn)行分類[10-17].如上所述,輸入的權(quán)重和隱層偏差是隨機(jī)決定的.因此,只需計(jì)算輸出訓(xùn)練過程中的權(quán)重,多層感知機(jī)(Multilayer Perceptron,MLP)計(jì)算最優(yōu)權(quán)重是通過重復(fù)迭代的誤差反向傳播(Error Back Propagation,BP)算法,不僅增加計(jì)算復(fù)雜度,還促使過擬合的概率增加.與MLP相比,ELM提高了網(wǎng)絡(luò)的泛化能力、魯棒性和抗噪聲能力.
訓(xùn)練階段,混合模型首先在學(xué)習(xí)過程中調(diào)整CNN的參數(shù).然后,每迭代1 000次,驗(yàn)證模型的準(zhǔn)確性,即是否調(diào)整參數(shù)并提取特征.如果精度接近70%,將調(diào)用ELM層.此時(shí),計(jì)算隱層權(quán)重,緩存β矩陣.當(dāng)混合模型的訓(xùn)練精度接近100%或整體迭代次數(shù)超過設(shè)定的最大迭代次數(shù)時(shí),停止訓(xùn)練過程并計(jì)算β矩陣的平均值.最后,混合模型將用于在測試階段對(duì)圖像進(jìn)行分類.步驟總結(jié)如下:
步驟1 當(dāng)卷積層和輸出標(biāo)簽之間的連接是全連接層時(shí),在訓(xùn)練階段調(diào)整CNN的參數(shù).
步驟2 計(jì)算隱層權(quán)值,緩存β矩陣,同時(shí)驗(yàn)證微調(diào)網(wǎng)絡(luò)的精度.
步驟3 停止訓(xùn)練過程,計(jì)算β的平均值.
步驟4 使用混合模型對(duì)圖像進(jìn)行分類.
ELM是一個(gè)前饋算法,只需將誤差從ELM的輸出層轉(zhuǎn)換到卷積層,而不是在這個(gè)過程中調(diào)整ELM的參數(shù).如何計(jì)算ELM的梯度并將其轉(zhuǎn)化為卷積部分是成為關(guān)鍵步驟.與CNN相比,混合模型在前向傳播過程中將特征映射轉(zhuǎn)化為一系列一維向量,只需將ELM輸入層的局部梯度轉(zhuǎn)化為卷積.因此,反向傳播過程可以寫成如表1所示的算法.
表1 CNN-ELM混合模型的反向傳播算法Table 1 Back propagation algorithm of CNN-ELM hybrid model
續(xù)表1
實(shí)驗(yàn)環(huán)境是Core(TM)_i7-7700HQ_CPU_@_2.8GHz,NVIDIA GeForce GTX1060和Python 3.7.實(shí)驗(yàn)采用的CNN-ELM混合模型網(wǎng)絡(luò)結(jié)構(gòu),由兩個(gè)卷積層、兩個(gè)池化層和一個(gè)ELM分類器組成.CNN的非線性激活函數(shù)是RELU函數(shù),ELM分類器使用Sigmoid函數(shù).CNN-ELM混合模型的網(wǎng)絡(luò)參數(shù)如表2所示.
表2 CNN-ELM混合模型的網(wǎng)絡(luò)參數(shù)Table 2 Network parameters of CNN-ELM hybrid model
實(shí)驗(yàn)采用的數(shù)據(jù)集是MNIST手寫數(shù)字?jǐn)?shù)據(jù)集、GTSRB德國交通標(biāo)志數(shù)據(jù)集和CIFAR-10數(shù)據(jù)集.MNIST數(shù)據(jù)集包含了從0~9的手寫數(shù)字.GTSRB德國交通標(biāo)志數(shù)據(jù)集由43種交通標(biāo)志組成,共含有50 000張圖像.CIFAR-10數(shù)據(jù)集分為10類,每類有6 000張圖像.
ELM隱層神經(jīng)元的數(shù)量是人為設(shè)定的,需要進(jìn)行多次的實(shí)驗(yàn).隱層神經(jīng)元的數(shù)量對(duì)ELM分類器的泛化性能有顯著的影響.圖4反映了ELM分類誤差值與隱層神經(jīng)元數(shù)量的關(guān)系.
圖4 ELM分類誤差值與隱層神經(jīng)元數(shù)量關(guān)系圖Figure 4 Relationship between ELM classification error and the number of hidden layer neurons
隨著隱層神經(jīng)元數(shù)量的增加,誤差值逐漸減小.當(dāng)隱層神經(jīng)元數(shù)量達(dá)到10 000時(shí),誤差值趨于穩(wěn)定,所以將ELM隱層神經(jīng)元的數(shù)量設(shè)定為10 000,然后在MNIST數(shù)據(jù)集和GTSRB德國交通標(biāo)志數(shù)據(jù)集上對(duì)所提出的CNN-ELM混合模型分類精度進(jìn)行評(píng)估.在MNIST數(shù)據(jù)集上的分類精度達(dá)到了99.32%,GTSRB德國交通標(biāo)志數(shù)據(jù)集上的分類精度達(dá)到99.35%.為了進(jìn)一步驗(yàn)證CNN-ELM混合模型性能,把CNN-ELM混合模型與CNN模型,CNN-SVM模型的分類精度進(jìn)行對(duì)比.三種不同的模型也在MNIST數(shù)據(jù)集和GTSRB數(shù)據(jù)集進(jìn)行過實(shí)驗(yàn),CNN-ELM混合模型的分類結(jié)果優(yōu)于其他模型.表3、4列出了CNN-ELM混合模型和其他模型實(shí)驗(yàn)的結(jié)果.
表4 分類結(jié)果對(duì)比-GTSRBTable 4 Comparison of classification results-GTSRB
圖5、6給出了在MNIST數(shù)據(jù)集和CIFAR-10數(shù)據(jù)集下,CNN模型和CNN-ELM混合模型的訓(xùn)練時(shí)間和測試速度.批尺寸(Batch_Size)相同時(shí),CNN-ELM混合模型的訓(xùn)練時(shí)間僅為CNN模型的9.9%~10.3%,同時(shí)測試速度是CNN模型的1.50~1.56倍.實(shí)驗(yàn)結(jié)果直觀的反映出CNN-ELM混合模型的快速性優(yōu)勢,解決了CNN模型訓(xùn)練時(shí)間和測試過程耗時(shí)較長的問題.
圖5 訓(xùn)練時(shí)間Figure 5 Training time
圖6 測試速度Figure 6 Test speed
在研究圖像分類算法的基本理論,分析經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)分類模型的優(yōu)缺點(diǎn)前提下,設(shè)計(jì)了一種復(fù)雜度較低的CNN-ELM混合模型.使用ELM作為分類器,在保證分類精度的基礎(chǔ)上顯著降低了計(jì)算量,克服了其他混合模型計(jì)算復(fù)雜導(dǎo)致學(xué)習(xí)和分類時(shí)間較長的問題.實(shí)驗(yàn)結(jié)果表明,ELM的隱層神經(jīng)元數(shù)量設(shè)置為10 000時(shí),CNN-ELM混合模型在圖像分類的精度方面優(yōu)于其余兩種方法,且泛化性能更強(qiáng).在MNIST數(shù)據(jù)集上的分類精度達(dá)到了99.32%,GTSRB德國交通標(biāo)志數(shù)據(jù)集上的分類精度達(dá)到99.35%且泛化性能更強(qiáng).CNN-ELM混合模型的訓(xùn)練時(shí)間僅為CNN模型的9.9%~10.3%,同時(shí)測試速度是CNN模型的1.50~1.56倍,大幅縮短了時(shí)間.