張歡歡,洪 敏,袁玉波
(華東理工大學 信息科學與工程學院, 上海 200237)(*通信作者電子郵箱ybyuan@ecust.edu.cn)
近年來,隨著電子移動設備的普及,生物特征識別技術已經被廣泛應用于工業各個領域,其中人臉識別技術[1-2]以其易于接受和采集方便的特點成為身份識別的重要組成部分,在視頻監控系統、銀行支付驗證、智能門禁系統等實際應用中有著顯著的優勢,成為了目前身份識別的主流技術之一; 然而,人臉圖像樣本數據維度比較高并且混雜大量噪聲的特點極大地制約了人臉識別的準確率,因此從人臉圖像中提取有效人臉特征成為了人臉識別的重要問題。
基于自編碼器(Auto-Encoder, AE)的深度神經網絡結構可以對人臉特征進行高層次的抽象表示,利用重構的思想,逐步提取樣本的低維或高維特征,具有極強的特征表達能力,在人臉圖像混雜噪聲或受誤差干擾的情況下可以提取到重要的人臉特征。由于傳統的自編碼器模型[3-4]大部分采用反向傳播(Back Propagation, BP)算法,模型的收斂速度緩慢,需要大量的參數進行微調,且易陷入局部最優。而極端學習機(Extreme Learning Machine, ELM)算法不需要使用傳統的BP算法對網絡進行微調,只需人工設置隱含層節點數即可實現網絡功能,減少了訓練網絡的成本。許多專家學者提出了很多關于ELM的變型算法[5],但其單隱層結構具有局限性,導致其無法學習到有效的特征。2013年,Huang等[6]第一次將極端學習機與自動編碼器結合,提出基于極端學習機自編碼器(Extreme Learning Machine Auto-Encoder, ELM-AE)的多層極端學習機(Multi-layer Extreme Learning Machine based Auto-encoder, MLELM)算法,它是一種無監督學習算法,將隨機生成的隱含層輸入權值和偏置參數正交化,并將原始數據空間映射到不同維度的特征空間,從而實現不同維度的特征表達。此外,還有許多基于ELM-AE的多層模型[7-9]研究,通過增加隱含層數量構成深度學習模型,提取樣本更本質的特征。
隨著稀疏表示[10]和壓縮感知理論[11]的發展,稀疏表示被用于人臉識別領域并取得了較好的識別效果,眾多研究者提出了許多基于人臉特征的稀疏表示方法[12-14],從特征層面入手,將人臉識別看作是人臉圖像的稀疏特征表示問題。2015年,Hu等[15]提出了一種基于截斷式核范數正則化(Truncated Nuclear Norm Regularization, TNNR)[16]的可擴展的大規模多分類算法,雖然TNNR的提出主要用于圖像修復以及低秩矩陣補全,但是矩陣補全問題的核心在于獲取矩陣的未知低秩結構,即求解秩最小化的優化問題,從而得到輸入圖像的稀疏表示。此外,為了高效求解此類凸優化子問題,Zhang等[16]還提出基于加速的最近鄰梯度線性搜索算法(Accelerated Proximal Gradient Line Search, APGL)的截斷式核范數優化算法(TNNR-APGL)。只要輸入的數據矩陣的確存在低秩結構,通過求解最小化截斷式核范數問題一定可以得到最優的低秩解,輸入矩陣的低秩結構就可以被更好地估計。
對于人臉特征較少的圖像,MLELM算法相當有效,但該算法誤差模型的計算方式存在缺陷,沒有考慮數據內在的結構,當人臉特征較多時會出現識別率降低的問題。為了解決高維人臉圖像的識別率降低的問題,提高模型對于噪聲數據的抗干擾能力,本文提出了一種新的方法來解決該問題。該方法的基礎是加入截斷式核范數正則化的誤差模型,通過最小化誤差模型得到人臉圖像映射到新空間的低秩結構;然后利用極端學習機進行人臉特征的自編碼,獲取人臉特征的稀疏表示;最后得到人臉圖像的識別結果。從文中的給出的實驗結果可看出,本文方法非常有效。
本章首先介紹了基于極端學習機的稀疏自編碼器模型,將截斷式核范數正則化理論與ELM-AE相結合,提出了稀疏自編碼器(Sparse Auto-Encoder based on Extreme Learning Machine, ELM-SAE)的方法; 然后利用深度學習的思想,將多個稀疏自編碼器棧式疊加構成深度稀疏自編碼器(Deep Sparse Auto-Encoder, DSAE)模型。
如圖1所示,ELM-SAE的網絡結構是與ELM-AE相同的三層神經網絡。它是一種無監督學習算法,其輸出與輸入一致,具備極端學習機輸入參數隨機賦值、無需迭代優化等優點,在盡可能復現輸入人臉圖像的同時,對人臉特征執行自動編碼,從而得到人臉稀疏特征作為模型輸出。

圖1 ELM-SAE網絡結構
假設ELM-SAE具有j個輸入層節點、L個隱含層節點和j個輸出層節點,隱含層上的激活函數是g(x),根據輸入人臉特征的隱層輸出可以將ELM-SAE分為如下三種情況:若j>L,壓縮表示,將特征向量從高維空間映射到低維度特征空間;若j=L,等維表示,實現等維度特征映射;若j ELM-AE的損失函數如下 (1) 其中:X= [x1T,x2T,…,xNT]T∈RN×j,β為輸出權值向量,H= [h(x1)T,h(x2)T,…,h(xN)T]T∈RN×L,C為訓練誤差的懲罰因子。因此ELM-AE的輸出權值向量β可由式(2)計算得到: (2) ELM-AE使用的最小化核范數問題并不能保證輸出矩陣具有低秩結構,其弊端在于所有的奇異值被同時要求最小化,導致核范數奇異值懲罰不平衡的問題,原始矩陣的秩不能很好地被估計。由于矩陣的大奇異值決定矩陣的主要性質,因此在設計低秩懲罰項時,需要對矩陣大的奇異值懲罰力度減小,小的奇異值懲罰力度加大。ELM-SAE與ELM-AE最大的不同之處在于輸出權值的計算方式不同:ELM-AE通過最小化最小二乘估計的損失函數求得,ELM-SAE在此基礎上加入截斷式核范數正則化項對損失函數進行約束,只懲罰值較小的奇異值,避免對較大奇異值的懲罰,即當輸入矩陣的秩為r時,其最大的r個非零奇異值并不能影響矩陣的秩,影響較大的反而是較小的奇異值。 根據文獻[15]分析,給定矩陣X∈RN×j,假設UΣV是X的奇異值分解,參數r≤min(m,n),Σ∈RN×j,U=(u1,u2,…,uN)∈RN×N,V=(v1,v2,…,vj)∈Rj×j,則截斷式核范數與傳統核范數之間存在的聯系為: (3) 其中:Ur=(u1,u2,…,ur)T∈Rr×N,Vr=(v1,v2,…,vr)T∈Rr×j。即等價于以下優化問題 (4) λ(‖W‖*-Tr(UrWVrT)) (5) 其中第一項和第二項的含義與ELM-AE相同;然后利用編碼結果的核范數和秩截斷項構成了懲罰函數,其中λ為懲罰因子,W為輸入矩陣X的低秩矩陣,Ur和Vr為X的奇異值向量。 顯然式(5)是無法直接求解的凸問題,因此需要設計有效的迭代機制對輸出權值向量進行求解。上述最優化問題的最小化損失函數(5)形如: (6) 其中:g(·)為封閉的、可能不可微的凸函數,f(·)為可微的凸函數,因此本文采用TNNR-APGL優化算法對最小化損失函數進行求解。令: (7) 根據文獻[11]中定義4.1,在第k次迭代中,給定矩陣Yk+1和參數tk+1>0。式(8)推導出Wk+1的值。Yk+1和tk+1以相同的方式更新,見式(11)~(12): λDλtk(Yk+tk(λUrTVr+μX-μYk)) (8) (9) (10) 通過對式(5)的求解,則可得到輸出權值β為: (11) 其中βTβ=I,W為輸入矩陣X的低秩矩陣。綜上所述,ELM-SAE首先隨機生成輸入層與隱含層之間的輸入權值和隱含層上的偏置并正交化, 將輸入人臉圖像映射到不同維度的特征空間,然后計算隱含層的輸出矩陣,最后計算隱含層與輸出層之間的輸出權值實現人臉特征的重新表述。 本節主要介紹基于極端學習機的深度稀疏自編碼器(DSAE)模型,其網絡結構如圖2所示。 圖2 DSAE模型網絡結構 DSAE利用無監督學習算法ELM-SAE對各層參數進行訓練,將ELM-SAE作為基本學習單元,執行逐層無監督學習。首先用ELM-SAE訓練第一層網絡,得到第一層隱含層的輸出,再將其作為第二層輸入訓練第二層網絡,以此類推,第k個隱層的輸出和第(k-1)個隱層上的輸出的數值關系由式(12)表示: Hk=g((βk)THk-1) (12) 其中:Hk表示第k個隱含層的輸出,當k=1時,Hk-1表示輸入層的輸出,βi表示ELM-SAE對第(k-1)個隱層和第k個隱層訓練時的權值矩陣。DSAE上的輸出權值β通過式(11)求得。 與其他深度模型相同的是,DSAE也使用無監督學習算法對各層參數進行訓練,但不同之處是DSAE不需要對網絡參數反復迭代調整,對網絡模型的訓練速度快。 本章首先介紹使用TNNR-APGL優化算法對ELM-SAE模型的最小化損失函數進行迭代求解的過程,然后介紹了人臉特征DSAE分類算法的具體步驟。 求解最小化截斷式核范數問題并不是一個凸優化問題,本文采用TNNR-APGL算法對其迭代求解,首先固定其中一部分變量,得到剩余變量的封閉解;然后繼續固定剩余變量,通過求解凸優化子問題更新之前固定的變量,交替執行這兩個過程,就可以得到該凸優化子問題的解。由于TNNR-APGL算法更適合處理帶噪聲的圖像,因此本文選用此優化算法。 算法1 基于TNNR-APGL的迭代算法 輸入 人臉特征矩陣X,X的奇異值向量Ur和Vr,誤差參數ε,懲罰項系數λ和μ; 輸出 輸入矩陣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≤ε 算法1是對式(5)中最小化損失函數進行迭代求解的過程,輸入為人臉特征數據,輸出為人臉稀疏特征數據,不斷循環執行步驟3)~5),直到輸出誤差小于誤差參數則終止循環。由傳統APGL的收斂性質得知,該迭代算法的收斂速度為O(1/n2),其中n是迭代的次數。 算法2是人臉特征DSAE分類算法的具體步驟,輸入為人臉圖像數據集,首先對原始人臉圖像進行預處理,將所有人臉圖像樣本處理為一個人臉數據矩陣,再使用主成分分析(Principle Component Analysis, PCA)對人臉數據矩陣進行壓縮降維處理,提取人臉數據中相對重要的特征即人臉特征數據作為DSAE模型的輸入;然后對DSAE神經網絡結果進行初始化,選取合適的隱層節點數、模型深度以及初始化參數,將人臉特征數據按照2 ∶1的比例劃分為訓練集和測試集。使用訓練集對模型進行訓練,每層進行訓練的過程都是對人臉特征數據進行不斷提取和再表示的過程,輸出人臉稀疏特征再進行下一層的訓練; 最后使用該模型在測試集上驗證分類算法的準確率,并計算循環s次算法的平均準確率。 算法2 人臉特征DSAE分類算法。 輸入 人臉特征數據集D={xi∈Rj,yi}(i=1,2,…,N),無標簽的訓練次數s,激活函數g(x),隱含層個數k,懲罰項系數λ和μ,隱含層節點數nhl(l=1,2,…,k)。 輸出 測試集s次分類結果的平均值。 1) 使用PCA對人臉特征數據集D進行預處理; 2) 初始化DSAE神經網絡,將樣本分為訓練集Xtrain和測試集樣本Xtest,X1=Xtrain; 3) forl=1:k 4) 隨機產生ELM-SAE第l層的輸入權值ai和偏置bi; 5) 計算第l層的輸出權值βl; 6) 計算輸出Xl+1=g(XlβlT); 7) end for 8) 使用輸出權值β計算測試集Xtest的分類準確度,以上過程循環s次,計算分類結果的平均值 為了證明本文算法的有效性,本文使用人臉數據集將本文提出的DSAE算法與經典的隨機森林(Random Forest, RF)算法以及ELM、在線序列極端學習機(Online Squential Extreme Learning Machine, OS-ELM)和MLELM算法的分類效果進行比較(均采用Sigmoid激活函數)。以上幾種方法都是在Intel Core i5-2450M CPU 2.5 GHz處理器、8 GB內存、Windows10 64位操作系統和Matlab 2016a的環境中運行的。 本文將在ORL、IMM、Yale和UMIST 4個人臉數據集上測試本文所提方法。選取人臉數據集中每人的2/3張圖片作為訓練樣本,剩下的1/3張圖片作為測試樣本來進行實驗,每個實驗分別重復30次以獲取一個較為準確的識別率。實驗中使用的人臉數據集描述的詳細信息見表1。不同人臉庫的訓練集如圖3所示。 表1 實驗中使用的人臉數據集 圖3 人臉數據集 本節主要對比了DSAE與ELM、RF、OS-ELM、MLELM分類算法的性能。為了實驗的公平性,本文中的懲罰參數值大小相同,ELM、OS-ELM的隱層節點數與MLELM、DSAE的第一層隱層節點數相同,MLELM與DSAE的隱層層數相同。對每個數據集,通過比較分類準確率確定隱層節點個數和樣本維數。 圖4給出了ELM、RF、OS-ELM、MLELM和DSAE在ORL、IMM、Yale和UMIST數據集上隨著樣本維數的改變,五種算法的分類準確率的變化情況, 其中X軸表示樣本維數,Y軸表示30次實驗的平均分類準確率。 圖4(a)為五種分類算法在ORL人臉數據集上的分類準確率曲線。當樣本維數小于40時,五種分類算法的分類準確率曲線大致保持一致;樣本維數大于40時,RF算法和ELM算法的分類準確率呈下降趨勢;當維數為60時,OS-ELM算法的分類性能達到97%,但隨著維數的升高,其分類性能不斷降低。相比較之下,MLELM和DSAE算法受維數增加的影響較小,而當維數大于100后,DSAE的分類性能保持穩定,明顯優于對比算法。 圖4(b)為五種分類算法在IMM數據集上的分類準確率曲線。當樣本維數小于50時,ELM相關算法的分類性能優于隨機森林算法,當維數大于50時,RF的分類曲線在OS-ELM算法之上; 隨著維數的升高ELM的準確率不斷下降,當樣本維數大于80時,DSAE的分類準確率優于其他四種算法。 圖4(c)為五種分類算法在Yale數據集上的分類準確率曲線。當維數小于50時,OS-ELM算法的分類準確率高于其他算法;但當維數大于50后,分類性能明顯下降并且表現不穩定,RF算法在此數據集上的分類效果較差。相比之下,MLELM與DSAE的分類性能明顯優于其他算法。 圖4(d)為五種分類算法在UMIST數據集上的分類準確率曲線。當樣本維數大于10時,五種算法的分類性能都較好,OS-ELM與RF的分類性能相差不大,相比之下,ELM、MLELM和DSAE的分類準確率更高。 圖4 不同樣本維數的分類準確率變化 由圖4可看出,隨著輸入人臉圖像特征的增多,ELM、RF、OS-ELM和MLELM算法的分類準確率會不斷降低,因此OS-ELM與RF算法不適合對高維數據進行分類,多層結構MLELM雖受維度的影響較小,但分類準確率也明顯下降; 而DSAE算法的分類準確率雖然也有所降低,但整體上的分類效果受樣本維數的影響較小。因此DSAE算法能夠充分利用樣本的低秩信息,對于噪聲數據的抗干擾能力更強。 圖5給出了ELM、OS-ELM、MLELM和DSAE在ORL、IMM、Yale和UMIST數據集上隨著隱層節點數的改變,四種算法的分類準確率的變化情況。其中X軸表示隱層節點數,Y軸表示30次實驗的平均分類準確率。 圖5 不同隱層節點數的分類準確率變化 在圖5(a)中,對于ORL數據集,當樣本維數(dim)為140時,第一個隱層節點數大于300時,DSAE的分類準確率大于ELM、OS-ELM和MLELM算法。在圖5(b)中,對于IMM數據集,當樣本維數為130時,OS-ELM與ELM的分類效果較差,隱層節點數小于400時,MLELM與DSAE的分類效果大致相同,當節點數大于400時,DSAE的分類性能更好。在圖5(c)中,對于Yale數據集,當樣本維數為140時,ELM、MLELM和DASE的分類性能較好。在圖5(d)中,對于UMIST數據集,當樣本維數為40時,五種分類算法的分類性能都較好,當隱層節點數小于600時,MLELM算法的分類準確率高于DSAE和ELM。當節點數大于600時,ELM、MLELM與和DSAE的分類效果大致相同,其中,隱層節點數為1 000時,DSAE的分類效果最好。 表2給出了ELM、RF、OS-ELM、MLELM、DSAE分別在四種數據集下30次實驗的平均分類準確率和標準偏差,當ORL、IMM和Yale數據集在維數分別為135、120、100、65的情況下,與MLELM相比,DSAE的分類準確率約提高3%,DSAE的整體分類性能好且偏差較小。 另外,圖6還展示了ORL人臉數據集中三張人臉圖像樣本的分類結果,DSAE模型皆將其分類正確,而ELM和MLELM都將其分類錯誤。 表2 五種分類算法的分類準確率對比 圖6 三個人臉圖像的分類結果 與MLELM相比,DSAE對誤差模型采用截斷式核范數正則化進行約束,并采用極端學習機自編碼器的深層結構將輸入的原始圖像數據一層一層地抽象,得到更能描述圖像本質的稀疏特征,更好地提取輸入原始圖像中最重要的信息用于訓練模型,從而提高模型的分類性能。 本文借助極端學習機和自編碼器提出一種用于人臉圖像的深度稀疏自編碼器方法。通過加入截斷式核范數正則化項對損失函數進行優化,提取人臉圖像的主要信息和特征,摒棄噪聲數據,將原始人臉圖像映射到一個新的稀疏特征表示空間。實驗結果表明,本文方法對于高維人臉圖像的識別率有明顯提高。
1.2 深度稀疏自編碼器

2 算法設計
2.1 基于TNNR-APGL的迭代算法
2.2 人臉特征DSAE分類算法
3 實驗與結果
3.1 數據集


3.2 實驗和結果分析




4 結語