張歡歡,洪 敏,袁玉波
(華東理工大學 信息科學與工程學院, 上海 200237)(*通信作者電子郵箱ybyuan@ecust.edu.cn)
近年來,隨著電子移動設(shè)備的普及,生物特征識別技術(shù)已經(jīng)被廣泛應用于工業(yè)各個領(lǐng)域,其中人臉識別技術(shù)[1-2]以其易于接受和采集方便的特點成為身份識別的重要組成部分,在視頻監(jiān)控系統(tǒng)、銀行支付驗證、智能門禁系統(tǒng)等實際應用中有著顯著的優(yōu)勢,成為了目前身份識別的主流技術(shù)之一; 然而,人臉圖像樣本數(shù)據(jù)維度比較高并且混雜大量噪聲的特點極大地制約了人臉識別的準確率,因此從人臉圖像中提取有效人臉特征成為了人臉識別的重要問題。
基于自編碼器(Auto-Encoder, AE)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)可以對人臉特征進行高層次的抽象表示,利用重構(gòu)的思想,逐步提取樣本的低維或高維特征,具有極強的特征表達能力,在人臉圖像混雜噪聲或受誤差干擾的情況下可以提取到重要的人臉特征。由于傳統(tǒng)的自編碼器模型[3-4]大部分采用反向傳播(Back Propagation, BP)算法,模型的收斂速度緩慢,需要大量的參數(shù)進行微調(diào),且易陷入局部最優(yōu)。而極端學習機(Extreme Learning Machine, ELM)算法不需要使用傳統(tǒng)的BP算法對網(wǎng)絡(luò)進行微調(diào),只需人工設(shè)置隱含層節(jié)點數(shù)即可實現(xiàn)網(wǎng)絡(luò)功能,減少了訓練網(wǎng)絡(luò)的成本。許多專家學者提出了很多關(guān)于ELM的變型算法[5],但其單隱層結(jié)構(gòu)具有局限性,導致其無法學習到有效的特征。2013年,Huang等[6]第一次將極端學習機與自動編碼器結(jié)合,提出基于極端學習機自編碼器(Extreme Learning Machine Auto-Encoder, ELM-AE)的多層極端學習機(Multi-layer Extreme Learning Machine based Auto-encoder, MLELM)算法,它是一種無監(jiān)督學習算法,將隨機生成的隱含層輸入權(quán)值和偏置參數(shù)正交化,并將原始數(shù)據(jù)空間映射到不同維度的特征空間,從而實現(xiàn)不同維度的特征表達。此外,還有許多基于ELM-AE的多層模型[7-9]研究,通過增加隱含層數(shù)量構(gòu)成深度學習模型,提取樣本更本質(zhì)的特征。
隨著稀疏表示[10]和壓縮感知理論[11]的發(fā)展,稀疏表示被用于人臉識別領(lǐng)域并取得了較好的識別效果,眾多研究者提出了許多基于人臉特征的稀疏表示方法[12-14],從特征層面入手,將人臉識別看作是人臉圖像的稀疏特征表示問題。2015年,Hu等[15]提出了一種基于截斷式核范數(shù)正則化(Truncated Nuclear Norm Regularization, TNNR)[16]的可擴展的大規(guī)模多分類算法,雖然TNNR的提出主要用于圖像修復以及低秩矩陣補全,但是矩陣補全問題的核心在于獲取矩陣的未知低秩結(jié)構(gòu),即求解秩最小化的優(yōu)化問題,從而得到輸入圖像的稀疏表示。此外,為了高效求解此類凸優(yōu)化子問題,Zhang等[16]還提出基于加速的最近鄰梯度線性搜索算法(Accelerated Proximal Gradient Line Search, APGL)的截斷式核范數(shù)優(yōu)化算法(TNNR-APGL)。只要輸入的數(shù)據(jù)矩陣的確存在低秩結(jié)構(gòu),通過求解最小化截斷式核范數(shù)問題一定可以得到最優(yōu)的低秩解,輸入矩陣的低秩結(jié)構(gòu)就可以被更好地估計。
對于人臉特征較少的圖像,MLELM算法相當有效,但該算法誤差模型的計算方式存在缺陷,沒有考慮數(shù)據(jù)內(nèi)在的結(jié)構(gòu),當人臉特征較多時會出現(xiàn)識別率降低的問題。為了解決高維人臉圖像的識別率降低的問題,提高模型對于噪聲數(shù)據(jù)的抗干擾能力,本文提出了一種新的方法來解決該問題。該方法的基礎(chǔ)是加入截斷式核范數(shù)正則化的誤差模型,通過最小化誤差模型得到人臉圖像映射到新空間的低秩結(jié)構(gòu);然后利用極端學習機進行人臉特征的自編碼,獲取人臉特征的稀疏表示;最后得到人臉圖像的識別結(jié)果。從文中的給出的實驗結(jié)果可看出,本文方法非常有效。
本章首先介紹了基于極端學習機的稀疏自編碼器模型,將截斷式核范數(shù)正則化理論與ELM-AE相結(jié)合,提出了稀疏自編碼器(Sparse Auto-Encoder based on Extreme Learning Machine, ELM-SAE)的方法; 然后利用深度學習的思想,將多個稀疏自編碼器棧式疊加構(gòu)成深度稀疏自編碼器(Deep Sparse Auto-Encoder, DSAE)模型。
如圖1所示,ELM-SAE的網(wǎng)絡(luò)結(jié)構(gòu)是與ELM-AE相同的三層神經(jīng)網(wǎng)絡(luò)。它是一種無監(jiān)督學習算法,其輸出與輸入一致,具備極端學習機輸入?yún)?shù)隨機賦值、無需迭代優(yōu)化等優(yōu)點,在盡可能復現(xiàn)輸入人臉圖像的同時,對人臉特征執(zhí)行自動編碼,從而得到人臉稀疏特征作為模型輸出。
圖1 ELM-SAE網(wǎng)絡(luò)結(jié)構(gòu)
假設(shè)ELM-SAE具有j個輸入層節(jié)點、L個隱含層節(jié)點和j個輸出層節(jié)點,隱含層上的激活函數(shù)是g(x),根據(jù)輸入人臉特征的隱層輸出可以將ELM-SAE分為如下三種情況:若j>L,壓縮表示,將特征向量從高維空間映射到低維度特征空間;若j=L,等維表示,實現(xiàn)等維度特征映射;若j ELM-AE的損失函數(shù)如下 (1) 其中:X= [x1T,x2T,…,xNT]T∈RN×j,β為輸出權(quán)值向量,H= [h(x1)T,h(x2)T,…,h(xN)T]T∈RN×L,C為訓練誤差的懲罰因子。因此ELM-AE的輸出權(quán)值向量β可由式(2)計算得到: (2) ELM-AE使用的最小化核范數(shù)問題并不能保證輸出矩陣具有低秩結(jié)構(gòu),其弊端在于所有的奇異值被同時要求最小化,導致核范數(shù)奇異值懲罰不平衡的問題,原始矩陣的秩不能很好地被估計。由于矩陣的大奇異值決定矩陣的主要性質(zhì),因此在設(shè)計低秩懲罰項時,需要對矩陣大的奇異值懲罰力度減小,小的奇異值懲罰力度加大。ELM-SAE與ELM-AE最大的不同之處在于輸出權(quán)值的計算方式不同:ELM-AE通過最小化最小二乘估計的損失函數(shù)求得,ELM-SAE在此基礎(chǔ)上加入截斷式核范數(shù)正則化項對損失函數(shù)進行約束,只懲罰值較小的奇異值,避免對較大奇異值的懲罰,即當輸入矩陣的秩為r時,其最大的r個非零奇異值并不能影響矩陣的秩,影響較大的反而是較小的奇異值。 根據(jù)文獻[15]分析,給定矩陣X∈RN×j,假設(shè)UΣV是X的奇異值分解,參數(shù)r≤min(m,n),Σ∈RN×j,U=(u1,u2,…,uN)∈RN×N,V=(v1,v2,…,vj)∈Rj×j,則截斷式核范數(shù)與傳統(tǒng)核范數(shù)之間存在的聯(lián)系為: (3) 其中:Ur=(u1,u2,…,ur)T∈Rr×N,Vr=(v1,v2,…,vr)T∈Rr×j。即等價于以下優(yōu)化問題 (4) λ(‖W‖*-Tr(UrWVrT)) (5) 其中第一項和第二項的含義與ELM-AE相同;然后利用編碼結(jié)果的核范數(shù)和秩截斷項構(gòu)成了懲罰函數(shù),其中λ為懲罰因子,W為輸入矩陣X的低秩矩陣,Ur和Vr為X的奇異值向量。 顯然式(5)是無法直接求解的凸問題,因此需要設(shè)計有效的迭代機制對輸出權(quán)值向量進行求解。上述最優(yōu)化問題的最小化損失函數(shù)(5)形如: (6) 其中:g(·)為封閉的、可能不可微的凸函數(shù),f(·)為可微的凸函數(shù),因此本文采用TNNR-APGL優(yōu)化算法對最小化損失函數(shù)進行求解。令: (7) 根據(jù)文獻[11]中定義4.1,在第k次迭代中,給定矩陣Yk+1和參數(shù)tk+1>0。式(8)推導出Wk+1的值。Yk+1和tk+1以相同的方式更新,見式(11)~(12): λDλtk(Yk+tk(λUrTVr+μX-μYk)) (8) (9) (10) 通過對式(5)的求解,則可得到輸出權(quán)值β為: (11) 其中βTβ=I,W為輸入矩陣X的低秩矩陣。綜上所述,ELM-SAE首先隨機生成輸入層與隱含層之間的輸入權(quán)值和隱含層上的偏置并正交化, 將輸入人臉圖像映射到不同維度的特征空間,然后計算隱含層的輸出矩陣,最后計算隱含層與輸出層之間的輸出權(quán)值實現(xiàn)人臉特征的重新表述。 本節(jié)主要介紹基于極端學習機的深度稀疏自編碼器(DSAE)模型,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。 圖2 DSAE模型網(wǎng)絡(luò)結(jié)構(gòu) DSAE利用無監(jiān)督學習算法ELM-SAE對各層參數(shù)進行訓練,將ELM-SAE作為基本學習單元,執(zhí)行逐層無監(jiān)督學習。首先用ELM-SAE訓練第一層網(wǎng)絡(luò),得到第一層隱含層的輸出,再將其作為第二層輸入訓練第二層網(wǎng)絡(luò),以此類推,第k個隱層的輸出和第(k-1)個隱層上的輸出的數(shù)值關(guān)系由式(12)表示: Hk=g((βk)THk-1) (12) 其中:Hk表示第k個隱含層的輸出,當k=1時,Hk-1表示輸入層的輸出,βi表示ELM-SAE對第(k-1)個隱層和第k個隱層訓練時的權(quán)值矩陣。DSAE上的輸出權(quán)值β通過式(11)求得。 與其他深度模型相同的是,DSAE也使用無監(jiān)督學習算法對各層參數(shù)進行訓練,但不同之處是DSAE不需要對網(wǎng)絡(luò)參數(shù)反復迭代調(diào)整,對網(wǎng)絡(luò)模型的訓練速度快。 本章首先介紹使用TNNR-APGL優(yōu)化算法對ELM-SAE模型的最小化損失函數(shù)進行迭代求解的過程,然后介紹了人臉特征DSAE分類算法的具體步驟。 求解最小化截斷式核范數(shù)問題并不是一個凸優(yōu)化問題,本文采用TNNR-APGL算法對其迭代求解,首先固定其中一部分變量,得到剩余變量的封閉解;然后繼續(xù)固定剩余變量,通過求解凸優(yōu)化子問題更新之前固定的變量,交替執(zhí)行這兩個過程,就可以得到該凸優(yōu)化子問題的解。由于TNNR-APGL算法更適合處理帶噪聲的圖像,因此本文選用此優(yōu)化算法。 算法1 基于TNNR-APGL的迭代算法 輸入 人臉特征矩陣X,X的奇異值向量Ur和Vr,誤差參數(shù)ε,懲罰項系數(shù)λ和μ; 輸出 輸入矩陣X的低秩矩陣W。 1) TNNR_APGL(Ur,Vr,X,λ,μ,ε); 2) Repeat 3) 首先固定Yk和tk,式(8)更新Wk+1; 4) 固定Wk+1和Yk,式(10)更新tk+1; 5) 最后固定Wk+1和tk+1,式(9)更新Yk+1; 6) Until ‖Wk+1-Wk‖F(xiàn)≤ε 算法1是對式(5)中最小化損失函數(shù)進行迭代求解的過程,輸入為人臉特征數(shù)據(jù),輸出為人臉稀疏特征數(shù)據(jù),不斷循環(huán)執(zhí)行步驟3)~5),直到輸出誤差小于誤差參數(shù)則終止循環(huán)。由傳統(tǒng)APGL的收斂性質(zhì)得知,該迭代算法的收斂速度為O(1/n2),其中n是迭代的次數(shù)。 算法2是人臉特征DSAE分類算法的具體步驟,輸入為人臉圖像數(shù)據(jù)集,首先對原始人臉圖像進行預處理,將所有人臉圖像樣本處理為一個人臉數(shù)據(jù)矩陣,再使用主成分分析(Principle Component Analysis, PCA)對人臉數(shù)據(jù)矩陣進行壓縮降維處理,提取人臉數(shù)據(jù)中相對重要的特征即人臉特征數(shù)據(jù)作為DSAE模型的輸入;然后對DSAE神經(jīng)網(wǎng)絡(luò)結(jié)果進行初始化,選取合適的隱層節(jié)點數(shù)、模型深度以及初始化參數(shù),將人臉特征數(shù)據(jù)按照2 ∶1的比例劃分為訓練集和測試集。使用訓練集對模型進行訓練,每層進行訓練的過程都是對人臉特征數(shù)據(jù)進行不斷提取和再表示的過程,輸出人臉稀疏特征再進行下一層的訓練; 最后使用該模型在測試集上驗證分類算法的準確率,并計算循環(huán)s次算法的平均準確率。 算法2 人臉特征DSAE分類算法。 輸入 人臉特征數(shù)據(jù)集D={xi∈Rj,yi}(i=1,2,…,N),無標簽的訓練次數(shù)s,激活函數(shù)g(x),隱含層個數(shù)k,懲罰項系數(shù)λ和μ,隱含層節(jié)點數(shù)nhl(l=1,2,…,k)。 輸出 測試集s次分類結(jié)果的平均值。 1) 使用PCA對人臉特征數(shù)據(jù)集D進行預處理; 2) 初始化DSAE神經(jīng)網(wǎng)絡(luò),將樣本分為訓練集Xtrain和測試集樣本Xtest,X1=Xtrain; 3) forl=1:k 4) 隨機產(chǎn)生ELM-SAE第l層的輸入權(quán)值ai和偏置bi; 5) 計算第l層的輸出權(quán)值βl; 6) 計算輸出Xl+1=g(XlβlT); 7) end for 8) 使用輸出權(quán)值β計算測試集Xtest的分類準確度,以上過程循環(huán)s次,計算分類結(jié)果的平均值 為了證明本文算法的有效性,本文使用人臉數(shù)據(jù)集將本文提出的DSAE算法與經(jīng)典的隨機森林(Random Forest, RF)算法以及ELM、在線序列極端學習機(Online Squential Extreme Learning Machine, OS-ELM)和MLELM算法的分類效果進行比較(均采用Sigmoid激活函數(shù))。以上幾種方法都是在Intel Core i5-2450M CPU 2.5 GHz處理器、8 GB內(nèi)存、Windows10 64位操作系統(tǒng)和Matlab 2016a的環(huán)境中運行的。 本文將在ORL、IMM、Yale和UMIST 4個人臉數(shù)據(jù)集上測試本文所提方法。選取人臉數(shù)據(jù)集中每人的2/3張圖片作為訓練樣本,剩下的1/3張圖片作為測試樣本來進行實驗,每個實驗分別重復30次以獲取一個較為準確的識別率。實驗中使用的人臉數(shù)據(jù)集描述的詳細信息見表1。不同人臉庫的訓練集如圖3所示。 表1 實驗中使用的人臉數(shù)據(jù)集 圖3 人臉數(shù)據(jù)集 本節(jié)主要對比了DSAE與ELM、RF、OS-ELM、MLELM分類算法的性能。為了實驗的公平性,本文中的懲罰參數(shù)值大小相同,ELM、OS-ELM的隱層節(jié)點數(shù)與MLELM、DSAE的第一層隱層節(jié)點數(shù)相同,MLELM與DSAE的隱層層數(shù)相同。對每個數(shù)據(jù)集,通過比較分類準確率確定隱層節(jié)點個數(shù)和樣本維數(shù)。 圖4給出了ELM、RF、OS-ELM、MLELM和DSAE在ORL、IMM、Yale和UMIST數(shù)據(jù)集上隨著樣本維數(shù)的改變,五種算法的分類準確率的變化情況, 其中X軸表示樣本維數(shù),Y軸表示30次實驗的平均分類準確率。 圖4(a)為五種分類算法在ORL人臉數(shù)據(jù)集上的分類準確率曲線。當樣本維數(shù)小于40時,五種分類算法的分類準確率曲線大致保持一致;樣本維數(shù)大于40時,RF算法和ELM算法的分類準確率呈下降趨勢;當維數(shù)為60時,OS-ELM算法的分類性能達到97%,但隨著維數(shù)的升高,其分類性能不斷降低。相比較之下,MLELM和DSAE算法受維數(shù)增加的影響較小,而當維數(shù)大于100后,DSAE的分類性能保持穩(wěn)定,明顯優(yōu)于對比算法。 圖4(b)為五種分類算法在IMM數(shù)據(jù)集上的分類準確率曲線。當樣本維數(shù)小于50時,ELM相關(guān)算法的分類性能優(yōu)于隨機森林算法,當維數(shù)大于50時,RF的分類曲線在OS-ELM算法之上; 隨著維數(shù)的升高ELM的準確率不斷下降,當樣本維數(shù)大于80時,DSAE的分類準確率優(yōu)于其他四種算法。 圖4(c)為五種分類算法在Yale數(shù)據(jù)集上的分類準確率曲線。當維數(shù)小于50時,OS-ELM算法的分類準確率高于其他算法;但當維數(shù)大于50后,分類性能明顯下降并且表現(xiàn)不穩(wěn)定,RF算法在此數(shù)據(jù)集上的分類效果較差。相比之下,MLELM與DSAE的分類性能明顯優(yōu)于其他算法。 圖4(d)為五種分類算法在UMIST數(shù)據(jù)集上的分類準確率曲線。當樣本維數(shù)大于10時,五種算法的分類性能都較好,OS-ELM與RF的分類性能相差不大,相比之下,ELM、MLELM和DSAE的分類準確率更高。 圖4 不同樣本維數(shù)的分類準確率變化 由圖4可看出,隨著輸入人臉圖像特征的增多,ELM、RF、OS-ELM和MLELM算法的分類準確率會不斷降低,因此OS-ELM與RF算法不適合對高維數(shù)據(jù)進行分類,多層結(jié)構(gòu)MLELM雖受維度的影響較小,但分類準確率也明顯下降; 而DSAE算法的分類準確率雖然也有所降低,但整體上的分類效果受樣本維數(shù)的影響較小。因此DSAE算法能夠充分利用樣本的低秩信息,對于噪聲數(shù)據(jù)的抗干擾能力更強。 圖5給出了ELM、OS-ELM、MLELM和DSAE在ORL、IMM、Yale和UMIST數(shù)據(jù)集上隨著隱層節(jié)點數(shù)的改變,四種算法的分類準確率的變化情況。其中X軸表示隱層節(jié)點數(shù),Y軸表示30次實驗的平均分類準確率。 圖5 不同隱層節(jié)點數(shù)的分類準確率變化 在圖5(a)中,對于ORL數(shù)據(jù)集,當樣本維數(shù)(dim)為140時,第一個隱層節(jié)點數(shù)大于300時,DSAE的分類準確率大于ELM、OS-ELM和MLELM算法。在圖5(b)中,對于IMM數(shù)據(jù)集,當樣本維數(shù)為130時,OS-ELM與ELM的分類效果較差,隱層節(jié)點數(shù)小于400時,MLELM與DSAE的分類效果大致相同,當節(jié)點數(shù)大于400時,DSAE的分類性能更好。在圖5(c)中,對于Yale數(shù)據(jù)集,當樣本維數(shù)為140時,ELM、MLELM和DASE的分類性能較好。在圖5(d)中,對于UMIST數(shù)據(jù)集,當樣本維數(shù)為40時,五種分類算法的分類性能都較好,當隱層節(jié)點數(shù)小于600時,MLELM算法的分類準確率高于DSAE和ELM。當節(jié)點數(shù)大于600時,ELM、MLELM與和DSAE的分類效果大致相同,其中,隱層節(jié)點數(shù)為1 000時,DSAE的分類效果最好。 表2給出了ELM、RF、OS-ELM、MLELM、DSAE分別在四種數(shù)據(jù)集下30次實驗的平均分類準確率和標準偏差,當ORL、IMM和Yale數(shù)據(jù)集在維數(shù)分別為135、120、100、65的情況下,與MLELM相比,DSAE的分類準確率約提高3%,DSAE的整體分類性能好且偏差較小。 另外,圖6還展示了ORL人臉數(shù)據(jù)集中三張人臉圖像樣本的分類結(jié)果,DSAE模型皆將其分類正確,而ELM和MLELM都將其分類錯誤。 表2 五種分類算法的分類準確率對比 圖6 三個人臉圖像的分類結(jié)果 與MLELM相比,DSAE對誤差模型采用截斷式核范數(shù)正則化進行約束,并采用極端學習機自編碼器的深層結(jié)構(gòu)將輸入的原始圖像數(shù)據(jù)一層一層地抽象,得到更能描述圖像本質(zhì)的稀疏特征,更好地提取輸入原始圖像中最重要的信息用于訓練模型,從而提高模型的分類性能。 本文借助極端學習機和自編碼器提出一種用于人臉圖像的深度稀疏自編碼器方法。通過加入截斷式核范數(shù)正則化項對損失函數(shù)進行優(yōu)化,提取人臉圖像的主要信息和特征,摒棄噪聲數(shù)據(jù),將原始人臉圖像映射到一個新的稀疏特征表示空間。實驗結(jié)果表明,本文方法對于高維人臉圖像的識別率有明顯提高。1.2 深度稀疏自編碼器
2 算法設(shè)計
2.1 基于TNNR-APGL的迭代算法
2.2 人臉特征DSAE分類算法
3 實驗與結(jié)果
3.1 數(shù)據(jù)集
3.2 實驗和結(jié)果分析
4 結(jié)語