尹 征,唐春暉,張軒雄
(上海理工大學 光電信息與計算機工程學院,上?!?00093)
基于改進型稀疏自動編碼器的圖像識別
尹征,唐春暉,張軒雄
(上海理工大學 光電信息與計算機工程學院,上海200093)
摘要傳統(tǒng)的稀疏自動編碼器不具備平移不變性,同時對非高斯噪聲較為敏感。為增加網(wǎng)絡平移不變的特性,借鑒卷積神經(jīng)網(wǎng)絡的相關理論,通過對原始的像素塊進行卷積運算以達到上述目的;而為了提高對非高斯噪聲的魯棒性,自動編碼器的代價函數(shù)由均方誤差改為了最大相關熵準則。通過在MNIST和CIFAR-10數(shù)據(jù)集上進行試驗,結果證明,改進后的方法較傳統(tǒng)的自動編碼器具有更好地識別效果,識別率提高了2%~6%。
關鍵詞深度學習;自動編碼器;卷積神經(jīng)網(wǎng)絡;最大相關熵
Image Recognition Based on Improved Sparse Auto-encoder
YIN Zheng,TANG Chunhui,ZHANG Xuanxiong
(School of Optical-Electrical and Computer Engineering,University of Shanghai for
Science and Technology,Shanghai 200093,China)
AbstractThe traditional sparse auto-encoder lacks invariant translation and is sensitive to non-Gauss noise.A method convolving the original pixel block is proposed to increase the network invariance with the mean square error (MSE) replaced by the maximum correntropy criterion (MCC) in cost function to improve the anti-noise ability.The proposed method is evaluated using the MINIST and CIFAR-10 datasets.Experimental results show that the proposed approach improves the recognition rate by 2% in the condition of non-noise and by 6% in the noise condition.
Keywordsdeep learning;auto-encoder;convolutional neural network;maximum correntropy criterion
由于深度學習能夠具有模擬人類大腦結構的功能,通過組合底層特征形成更加抽象有效的特征表達來完成對圖像的整體描述[1]。深度學習可看成是神經(jīng)網(wǎng)絡發(fā)展的產(chǎn)物,傳統(tǒng)的多層神經(jīng)網(wǎng)絡在采用深度架構時,因采用BP訓練算法,系統(tǒng)容易陷入局部最優(yōu)。而深度學習有效地克服了這種弊端,已成功應用于圖像識別、語音識別、人臉識別等領域。
自動編碼器(Auto-Encoder)是典型的深度學習框架之一,由Bourlard在文獻[2]中被提出,但主要的應用和發(fā)展是在2006年Hinton在文獻[3]中提出了一種解決深度信念網(wǎng)(Deep Belief Network,DBN)不易訓練問題的方法--貪婪逐層訓練算法,該種算法通過無監(jiān)督學習對網(wǎng)絡進行逐層訓練,與傳統(tǒng)的BP算法訓練多層神經(jīng)網(wǎng)絡相比,主要有3大優(yōu)勢:(1)無需大量含有標簽的數(shù)據(jù)集,降低了網(wǎng)絡對數(shù)據(jù)集的要求;(2)加快了神經(jīng)網(wǎng)絡的收斂速度;(3)通過無監(jiān)督學習,系統(tǒng)在進行微調之前,網(wǎng)絡參數(shù)已設定在最優(yōu)參數(shù)附近,解決了傳統(tǒng)神經(jīng)網(wǎng)絡易陷入局部最優(yōu)的問題。在文獻[4]中將這種算法應用到自動編碼器中,解決了多層自動編碼器—堆疊自動編碼器(Stacked Auto-Encoder,SAE)不易訓練的問題。
1基本理論
傳統(tǒng)的自動編碼器分為3層,分別為輸入層、隱層和輸出層。
編碼器通過非線性映射函數(shù)將輸入向量x以一定的方式映射到隱層y,由此y便成為了輸入x的另一種表現(xiàn)形式。編碼器的原理為
y=fθ(x)=s(Wx+b)
(1)
s(t)=1/(1+exp(-t))
(2)
其中,x∈[0,1]d,y∈[0,1]d,W是d×d′的權重矩陣;b為輸入層偏置向量;θ={W,b},s(·)為Sigmoid函數(shù),如式(2)所示。
解碼器負責將隱層形成的編碼y映射到輸出層z,輸出層具有和輸入層相同的單元數(shù),映射關系如下所示
z=gθ′(y)=s(W′+y+b′)
(3)
其中,z∈[0,1]d,W′是隱層到輸出層的權重矩陣;在數(shù)值上與W的轉置相同;b′為隱層的偏置向量;θ′={W′,b′},將參數(shù)合并為θ={θ,θ′}={W,b,b′}。
文中通過訓練來調節(jié)參數(shù)θ,使得輸入與輸出之間重構誤差函數(shù)—代價函數(shù)最小。傳統(tǒng)自動編碼器采用的代價函數(shù)為MSE
(4)
其中,m為樣本的數(shù)量;xi為輸入向量;zi為輸出向量;θ為網(wǎng)絡中所有參數(shù)的集合。
但為解決自動編碼器中過擬合的問題,通常會在代價函數(shù)中增加一個權重衰減項,權重衰減項相當于對網(wǎng)絡的權重矩陣做了一定的限制,代價函數(shù)變?yōu)?/p>
(5)
其中,λ決定了權重衰減項在代價函數(shù)中所起的作用;l為網(wǎng)絡的層數(shù);sl為l層單元的個數(shù);wji為權重矩陣中角標為j,i的元素值。
稀疏自動編碼器是自動編碼器的一種改進形式。在計算機視覺中,稀疏性約束能夠使得編碼后的表達更有意義,在獨立成分分析(ICA),稀疏編碼等算法中已經(jīng)表現(xiàn)出了良好的性能[5],因此人們在深度學習的優(yōu)化過程中也加入了稀疏性的限制,主要是通過對每個隱層單元的響應添加約束條件,使隱層單元的大多數(shù)神經(jīng)元處于“抑制”狀態(tài),只有少數(shù)神經(jīng)元處于“興奮”狀態(tài)。這種約束反映到數(shù)學模型中是通過向代價函數(shù)中添加稀疏約束項來實現(xiàn)的,公式如下
Jcost(θ)=JMSE(θ)+Jweight(θ)+Jsparse(θ)
(6)
(7)
(8)
其中,ρj為隱層單元神經(jīng)元的平均激活度;ρ是人為設置的參數(shù),一般比較小,從式(8)可看出,ρj和ρ越接近,代價函數(shù)就越小;β決定了稀疏約束項在代價函數(shù)中所起的作用。
2改進的稀疏自動編碼器
傳統(tǒng)的稀疏自動編碼器雖然已經(jīng)具有良好的分類性能,但其不具有空間平移不變的特性。本文通過將卷積神經(jīng)網(wǎng)絡中卷積層的相關理論與稀疏自動編碼器相結合,形成卷積稀疏自動編碼器;同時為了增加網(wǎng)絡的抗躁能力,用MCC取代MSE作為編碼器的代價函數(shù)。
卷積稀疏自動編碼器結構如圖1所示。
圖1 卷積自動編碼器結構圖
從圖像中隨機抽取一個8×8的圖像塊作為輸入,之后用相同大小的卷積核分別與此圖像塊進行卷積,為實現(xiàn)稀疏性,采用卷積核種類數(shù)與圖像塊像素數(shù)相等的策略,即64種;64種卷積核對應隱層中的神經(jīng)元個數(shù)為64,每一個神經(jīng)元所需參數(shù)為8×8+1=65個,而64個神經(jīng)元參數(shù)共為4 160個;在解碼階段,輸出層的每個神經(jīng)元與隱層的所有神經(jīng)元全連接,參數(shù)個數(shù)為64×64+1=4 097個。對不同的圖像塊進行編碼、解碼時,由CNN的權重共享[6]可知,同一種卷積核對應不同的神經(jīng)元,網(wǎng)絡參數(shù)值不變。這樣當組合輸入圖像時,雖然隱層的神經(jīng)元總數(shù)增加了,但參數(shù)個數(shù)并未改變。
此算法采用無重疊滑動窗口策略進行遍歷,即步長與窗口大小相同。每個圖像塊都按照上面的過程進行編、解碼,在編碼階段通過加入稀疏性約束,使得隱層響應稀疏。最后,通過合并各個圖像塊的表示來形成整幅圖像的描述,原理如圖2所示。
圖2 完整圖像描述原理示意圖
從文獻[7]可得到不同的代價函數(shù)對網(wǎng)絡的性能起著至關重要的作用。傳統(tǒng)自動編碼器的代價函數(shù)采用MSE,但MSE對于非高斯噪聲敏感。針對此問題,本文提出用MCC替換代價函數(shù)中的MSE以達到抑制非高斯噪聲的目的。
2.2.1相關熵
在文獻[8]中,相關熵作為一種局部相似性衡量標準被提出,并已被應用到信號處理領域中,在對抗非高斯噪聲上其比MSE具有更好的效果[9]。相關熵是對兩個隨機變量與相似度的通用計算方法,定義為[10]
Vσ(X,Y)=E[κσ(X-Y)]
(9)
其中,E[·]代表期望;κσ是滿足Mercer理論[11]的核函數(shù),本文采用高斯核函數(shù)
(10)
相關熵利用核函數(shù),將輸入空間非線性地映射到高維空間,但與傳統(tǒng)的核方法不同,其使每個樣本不相關。相關熵是一種局部的相似性度量方法,這點與全局的MSE不同。
(11)
2.2.2MCC代價函數(shù)
在傳統(tǒng)的稀疏自動編碼器中,網(wǎng)絡的代價函數(shù)如式(6)所示,本文將用MCC代替MSE,網(wǎng)絡的代價函數(shù)變?yōu)?/p>
Jcost(θ)=-JMSE(θ)+Jweight(θ)+Jsparse(θ)
(12)
(13)
其中,m為樣本數(shù)量;n為每個樣本的維數(shù),從式(12)和式(13)可知,要使代價函數(shù)最小,則需要相關熵項最大。
3實驗結果與分析
為驗證本文算法的有效性,選取MINIS和CIFAR-10數(shù)據(jù)集進行實驗。自動編碼器只完成了圖像的特征提取,本文選用Soft-Max分類器作為網(wǎng)絡的輸出層來實現(xiàn)分類,并在Matlab-2010軟件上進行仿真實驗。
MNIST是一個手寫的數(shù)字庫,其共有60 000張訓練圖片,10 000張測試圖片,每張圖片大小為28×28像素,MNIST數(shù)據(jù)集,圖片背景單一,相對而言較易識別。
CIFAR-10是一種小圖像的數(shù)據(jù)集,每幅圖像的大小為32×32像素、彩色圖像,共有60 000張圖像,其中50 000張作為訓練圖像,10 000張作為測試圖像。
在實驗之初,首先對CIFAR-10圖像數(shù)據(jù)進行簡單的預處理,包括灰度轉換及歸一化處理。
實驗采用3層神經(jīng)網(wǎng)絡結構,并以識別錯誤率為標準。實驗1對MNIST數(shù)據(jù)集進行實驗,分別采用傳統(tǒng)的神經(jīng)網(wǎng)絡、稀疏自動編碼器、深度信念網(wǎng)和本文提出的標準卷積自動編碼器(代價函數(shù)為MSE)進行實驗。網(wǎng)絡的各層單元數(shù)為784-784-10,卷積自動編碼器采用49種7×7大小的卷積核,步長為7。采用MSE作為編碼器的代價函數(shù),是為了與實驗3中將對加入非高斯噪聲的樣本進行分類,屆時再采用MCC的卷積自動編碼器,這樣有利于更好地分析MCC的性能。在實驗1中,由于MNIST數(shù)據(jù)集相對容易識別,文中將迭代次數(shù)(包括預訓練和微調階段)設置為20和50,每種網(wǎng)絡進行5次實驗,取其平均值作為結果,如表1所示。
表1 MNIST的分類結果
從表1可看出,本文所提方法較傳統(tǒng)的神經(jīng)網(wǎng)絡(NN),DBN,SpAE在識別率上有了一定的提高。與傳統(tǒng)的稀疏自動編碼器相比,識別率提高了2%,說明將卷積層的相關理論應用到自動編碼器中能夠提高網(wǎng)絡的識別性能。
實驗2采用CIFAR-10數(shù)據(jù)集進行實驗,各層網(wǎng)絡單元數(shù)為1024-1024-10,迭代次數(shù)為50和100;卷積自動編碼器采用64種不同的8×8卷積核,步長為8,代價函數(shù)為MSE。實驗結果,如表2所示。
表2 CIFAR-10的分類結果
從表2可看出,在CIFAR-10數(shù)據(jù)集上,卷積自動編碼器比傳統(tǒng)的稀疏自動編碼器識別錯誤率低了將近6%,比DBN網(wǎng)絡低了將近5%。
實驗3在MNIST數(shù)據(jù)集中加入非高斯噪聲,實驗參數(shù)與實驗1基本相同,但卷積自動編碼器的代價函數(shù)由MCC代替MSE,結果如表3所示。
表3 加噪聲的MNIST數(shù)據(jù)集分類結果
從表3中可看出,與實驗1相比所有模型的錯誤識別率均有不同程度地提高,但采用MCC代價函數(shù)的卷積自動編碼器相對于其他模型錯誤率增加較小;當加大非高斯噪聲的強度時,MCC編碼器識別變化速率最小,說明MCC作為代價函數(shù)對于非高斯噪聲具有良好的魯棒性。
4結束語
本文通過對傳統(tǒng)的自動編碼器進行改進,將CNN和MCC理論應用到稀疏自動編碼器中,實驗證明此方法是有效的。雖然深度學習已經(jīng)得到了廣泛地應用,但仍有諸多方面需要研究,例如探索新的深度學習模型等。此外,有效的可并行訓練算法也是值得研究的方向之一。
參考文獻
[1]BengioY,DelalleauO.Ontheexpressivepowerofdeeparchitectures[C].Berlin,Heidelberg:AlgorithmicLearningTheory,Springer:2011.
[2]BourlardH,KampY.Auto-associationbymultilayerperceptronsandsingularvaluedecomposition[J].BiologicalCybernetics,1988,59(4-5):291-294.
[3]HintonG,OsinderoS,TehYW.Afastlearningalgorithmfordeepbeliefnets[J].NeuralComputation,2006,18(7):1527-1554.
[4]BengioY,LamblinP,PopoviciD,etal.Greedylayer-wisetrainingofdeepnetworks[J].AdvancesinNeuralInformationProcessingSystems,2007(19):153-160.
[5]鄭胤,陳權崎,章毓晉.深度學習及其在目標和行為識別中的新進展[J].中國圖象圖形報,2014,19(2):175-184.
[6]LeCunY,BottouL,BengioY,etal.Gradient-basedlearningappliedtodocumentrecognition[J].ProceedingsoftheIEEE,1998,86(11):2278-2324.
[7]AmaralT,SilvaLM,AlexandreLA,etal.Usingdifferentcostfunctionstotrainstackedauto-encoders[C].12thMexicanInternationalConferenceonArtificialIntelligence(MICAI),IEEE,2013.
[8]LiuW,PokharelPP,PrincipeJC.Correntropy:Alocalizedsimilaritymeasure[C].IJCNN’06,InternationalJointConferenceonNeuralNetworks,IEEE,2006.
[9]HeR,ZhengWS,HuBG,etal.Aregularizedcorrentropyframeworkforrobustpatternrecognition[J].NeuralComputation,2011,23(8):2074-2100.
[10]LiuW,PokharelPP,PríncipeJC.Correntropy:propertiesandapplicationsinnon-gaussiansignalprocessing[J].IEEETransactionsonSignalProcessing,2007,55(11):5286-5298.
[11]VapnikV.Thenatureofstatisticallearningtheory[M].Berlin:SpringerConpration,2000.
作者簡介:尹征(1989—),男,碩士研究生。研究方向:計算機視覺等。唐春暉(1971—),男,講師。研究方向:數(shù)字圖像處理等。張軒雄(1965—),男,教授。研究方向:微電子機械系統(tǒng)等。
收稿日期:2015- 05- 05
中圖分類號TN762;TP242
文獻標識碼A
文章編號1007-7820(2016)01-124-04
doi:10.16180/j.cnki.issn1007-7820.2016.01.034