張國令,王曉丹,李 睿,來 杰,向 前
(空軍工程大學 防空反導學院,西安 710051)
極限學習機(Extreme Learning Machine,ELM)[1]是一種簡單高效的單隱層前饋神經(jīng)網(wǎng)絡(Single Hidden Layer Feedforward Neural Network,SLFN)算法。ELM網(wǎng)絡的輸入權(quán)重和隱層偏置均為隨機生成,輸出權(quán)值則通過求解最小化平方損失函數(shù)得到,能夠有效解決傳統(tǒng)SLFN算法收斂速度慢、容易產(chǎn)生局部最優(yōu)解的問題。ELM因?qū)崿F(xiàn)簡單、訓練速度快和泛化性能好等特點,現(xiàn)已被廣泛應用于語音識別[2]、故障診斷[3-4]、生物醫(yī)學[5-6]、計算機視覺[7-8]等多個領域。
大量研究表明,ELM隨機確定輸入權(quán)值和隱層偏置,能夠提高整個網(wǎng)絡的學習速度,但是隱層參數(shù)的隨機賦值使得ELM比傳統(tǒng)基于調(diào)優(yōu)的學習算法需要更多的隱層節(jié)點。然而,過多的隱層節(jié)點容易減弱隱含層的稀疏性,產(chǎn)生冗余節(jié)點,增加網(wǎng)絡結(jié)構(gòu)的復雜度,降低算法分類準確率[9-10]。對此,研究者采用群體智能優(yōu)化方法對網(wǎng)絡結(jié)構(gòu)進行優(yōu)化,以提高整體性能。文獻[9]通過引入差分進化算法提出E-ELM算法,利用交叉算子和差分變異并通過動態(tài)調(diào)整整個種群得到最優(yōu)的輸入權(quán)值和隱層偏置,從而使網(wǎng)絡結(jié)構(gòu)更為緊湊。文獻[10]引入粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法對ELM隱層節(jié)點參數(shù)進行調(diào)整,提出PSO-ELM算法,通過編碼將輸入權(quán)值和隨機偏置設為待優(yōu)化的粒子,根據(jù)PSO原理得到全局最優(yōu)值,以提升ELM的整體性能。采用群體智能優(yōu)化隱層節(jié)點參數(shù)改進的網(wǎng)絡結(jié)構(gòu),可提高ELM算法的泛化能力和穩(wěn)定性,但同時也增加了計算復雜度,在處理大規(guī)模高維數(shù)據(jù)集時性能較差。
研究表明,通過將ELM拓展到深度學習領域,可以在處理大規(guī)模高維數(shù)據(jù)時降低深層網(wǎng)絡的計算復雜度,減少訓練時間。文獻[11]提出的ELM-AE算法結(jié)合極限學習機和自編碼器的優(yōu)勢,具有良好的特征表達能力和分類性能。文獻[12]通過改進ELM-AE提出的判別圖正則化極限學習機自編碼器GELM-AE,能夠提取更抽象的高層特征,提高網(wǎng)絡模型的整體性能。文獻[13]通過將卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)和ELM相結(jié)合,提出CNN2ELM集成學習框架,提高了識別人臉圖像年齡的魯棒性。
棧式降噪稀疏自編碼器(stacked Denoising Sparse Auto-Encoder,sDSAE)是一種改進的自編碼器深度學習模型,其中稀疏性約束的加入使網(wǎng)絡結(jié)構(gòu)得到優(yōu)化,能夠更好地提取數(shù)據(jù)的深層特征,而去噪處理則降低了噪聲干擾,增強了算法魯棒性。本文將sDSAE與ELM相結(jié)合,提出sDSAE-ELM算法,利用sDSAE產(chǎn)生ELM的輸入權(quán)值和隱層偏置,以解決ELM輸入權(quán)重和隱層偏置隨機賦值導致網(wǎng)絡結(jié)構(gòu)復雜、魯棒性弱的問題,同時保留ELM訓練速度快的優(yōu)勢。
ELM是一種具有快速學習能力的SLFN算法,其網(wǎng)絡結(jié)構(gòu)如圖1所示。
圖1 ELM網(wǎng)絡結(jié)構(gòu)Fig.1 Network structure of ELM
(1)
其中,wi=[wi1,wi2,…,win]T為n個輸入層節(jié)點與第i個隱層節(jié)點之間的輸入權(quán)值向量,bi為第i個隱層節(jié)點偏置值,g(·)是隱層節(jié)點的激活函數(shù),βi=[βi1,βi2,…,βim]T為第i個隱層節(jié)點與m個輸出層節(jié)點之間的輸出權(quán)值向量。令h(x)=[g1(x),g2(x),…,gl(x)]表示輸入數(shù)據(jù)x的隱層輸出,用H=[hT(x1),hT(x2),…,hT(xN)]T表示數(shù)據(jù)樣本在隱層的輸出矩陣,即:
(2)
令T=[t1,t2,…,tN]T表示樣本的目標輸出,則該系統(tǒng)矩陣表達式為:
Hβ=T
(3)
(4)
通常情況下,隱層節(jié)點數(shù)l小于訓練樣本數(shù)N。因此,對β求解得到:
(5)
其中,H?表示H的Moore-Penrose(MP)廣義逆,此解具有唯一性,可使網(wǎng)絡訓練誤差達到最小值。β具體表達式為:
(6)
(7)
其中,I為單位矩陣,C為正則化系數(shù)。
ELM的學習過程如算法1所示。
算法1ELM
輸出輸出權(quán)重β
步驟1隨機生成輸入權(quán)值ωi和隱層偏置bi。
步驟2根據(jù)式(2)計算隱層輸出矩陣H。
步驟3據(jù)式(7)計算輸出權(quán)重β。
傳統(tǒng)的自動編碼器(AE)對輸入數(shù)據(jù)的重構(gòu)能力有限,提取數(shù)據(jù)特征的能力較差[15]。在自編碼器的基礎上添加稀疏性約束得到稀疏自編碼器(SAE),即迫使大多數(shù)隱層節(jié)點置0,少數(shù)隱層節(jié)點不為0,網(wǎng)絡更加稀疏,從而具有良好的調(diào)節(jié)能力,使得模型與人腦的學習過程更相似,有利于提取更具代表性的特征,提高算法分類準確率[16]。降噪稀疏自編碼器(DSAE)是在SAE基礎上,對原始樣本數(shù)據(jù)進行退化處理,其目的在于排除噪聲干擾,更好地重構(gòu)原始輸入,增強算法的魯棒性[17-18]。DSAE網(wǎng)絡結(jié)構(gòu)如圖2所示。
圖2 DSAE網(wǎng)絡結(jié)構(gòu)Fig.2 Network structure of DSAE
稀疏編碼和解碼過程的計算公式分別如式(8)和式(9)所示:
(8)
y=f(h)=sf(w′h+b′)
(9)
(10)
采用相對熵(KL)的方法進行稀疏懲罰,如式(11)所示:
(11)
DSAE屬于淺層網(wǎng)絡,學習能力有限,而棧式降噪稀疏自編碼器(sDSAE)由多個DSAE堆棧而成,其以前一隱層輸出作為后一隱層輸入,逐層訓練,在處理高維大數(shù)據(jù)集時整體性能優(yōu)于淺層網(wǎng)絡。但sDSAE的性能取決于網(wǎng)絡的層數(shù)和節(jié)點數(shù),網(wǎng)絡層數(shù)并非越多越好,層數(shù)太多容易引起梯度彌散現(xiàn)象,也會訓練過擬合[17]。因此,本文設置2層sDSAE網(wǎng)絡。
ELM在訓練過程中隨機生成輸入權(quán)值和隱層偏置,為得到理想的分類效果,往往需要產(chǎn)生大量的隱含層節(jié)點,而過多的隱含層節(jié)點會導致網(wǎng)絡結(jié)構(gòu)復雜,影響整體的學習性能。為避免ELM中出現(xiàn)過多的隨機冗余節(jié)點,本文利用sDSAE獲取輸入數(shù)據(jù)的特征表達,通過加入稀疏性限制使網(wǎng)絡可以學到輸入數(shù)據(jù)中更優(yōu)的結(jié)構(gòu)特征,從而更好地描述輸入數(shù)據(jù),為ELM提供所需的輸入權(quán)值和隱層偏置,更有利于ELM進行分類。
理論上,sDSAE-ELM算法比ELM算法能夠獲得更優(yōu)的輸入權(quán)值和隱層偏置。一方面,sDSAE-ELM算法利用sDSAE具有稀疏化的網(wǎng)絡結(jié)構(gòu)對原始輸入數(shù)據(jù)進行學習訓練,將得到的輸入權(quán)值和隱層偏置分別作為sDSAE-ELM算法的輸入權(quán)值和隱層偏置,其包含了輸入數(shù)據(jù)的相關特征信息,有利于發(fā)掘更本質(zhì)的高級抽象特征,對數(shù)據(jù)重構(gòu)和算法整體性能有促進作用,而ELM算法的輸入權(quán)值和隱層偏置隨機賦值,與輸入數(shù)據(jù)無關,對數(shù)據(jù)重構(gòu)和算法整體性能沒有促進作用;另一方面,sDSAE-ELM算法通過sDSAE產(chǎn)生極限學習機的輸入權(quán)值與隱層偏置,克服了ELM因隱含層參數(shù)隨機賦值產(chǎn)生冗余節(jié)點、降低算法分類準確率的弊端。此外,sDSAE-ELM算法優(yōu)化了網(wǎng)絡結(jié)構(gòu),如圖3所示,其對原始輸入數(shù)據(jù)進行退化處理,從而有效消除噪聲的干擾,增強魯棒性。
圖3 sDSAE-ELM網(wǎng)絡結(jié)構(gòu)Fig.3 Network structure of sDSAE-ELM
sDSAE-ELM訓練過程的具體步驟如下:
步驟1對原始輸入x進行預處理。依據(jù)上文所述,利用梯度下降法訓練DSAE1,得到第一隱含層的輸出h1和網(wǎng)絡參量w1、b1。h1是對原始輸入數(shù)據(jù)和網(wǎng)絡參數(shù)的高度抽象結(jié)果,由于對原始輸入進行過退化處理以及對網(wǎng)絡添加稀疏性約束,因此更能體現(xiàn)輸入數(shù)據(jù)的本質(zhì)特征,算法魯棒性更強,并且當原始輸入維數(shù)較高時,還能起到降低數(shù)據(jù)維度的作用。
步驟2利用梯度下降法訓練DSAE2以確定ELM的參數(shù)。相比于傳統(tǒng)的學習算法,ELM不僅學習速度更快,而且分類性能更優(yōu)。然而,與基于調(diào)優(yōu)的學習算法相比,由于其輸入權(quán)值和隱層偏置產(chǎn)生的隨機性,ELM需要更多的隱層節(jié)點。此過程同步驟1,得到第一隱含層的輸出h2和網(wǎng)絡參量w2、b2。其中,w2作為ELM的輸入權(quán)值,b2作為ELM的隱層偏置,輸出矩陣為h2。此步驟能夠克服ELM隨機生成隱層參數(shù)的問題,優(yōu)化網(wǎng)絡結(jié)構(gòu),提高模型的穩(wěn)定性。
步驟3利用ELM進行分類,輸入數(shù)據(jù)為h1,輸入權(quán)值和隱層偏置分別為w2和b2,隱層輸出矩陣為h2,根據(jù)式(6)求得輸出權(quán)重。
sDSAE-ELM學習過程如算法2所示。
算法2sDSAE-ELM
輸出輸出權(quán)重β
步驟1對原始輸入x進行預處理和退化處理。訓練DSAE1,得到第一隱含層的輸出h1以及網(wǎng)絡參數(shù)w1、b1。
步驟2輸入h1,訓練DSAE2,得到第二隱含層的輸出h2以及最優(yōu)網(wǎng)絡參數(shù)w2、b2。
步驟3將h1、w2和b2分別作為ELM的輸入、輸入權(quán)值和隱含偏置,ELM的隱層輸出為h2,根據(jù)式(7)計算得到β。
本文實驗環(huán)境為Matlab R2017b,計算機配置為Intel?CoreTMi7-4790 CPU 3.60 GHz,16 GB RAM。
sDSAE-ELM屬于深度學習算法,在處理高維含噪數(shù)據(jù)時具有較好的泛化性能和魯棒性。為此,本文選用MNIST、USPS、Fashion-MNIST和Convex 4個數(shù)據(jù)集作為實驗數(shù)據(jù),詳細描述如表1所示。
在網(wǎng)絡隱含層加入稀疏性約束,可使模型模擬人腦的學習過程,其中少數(shù)節(jié)點被激活,多數(shù)處于抑制狀態(tài),保證了數(shù)據(jù)在網(wǎng)絡中的有效傳遞。同時,稀疏性約束的加入也可優(yōu)化網(wǎng)絡結(jié)構(gòu),提高模型的整體性能。
3.2.1 稀疏性約束對分類準確率的影響
為分析加入稀疏性約束對分類準確率的影響,本節(jié)比較加入不同程度稀疏性約束的sDSAE-ELM算法在MNIST數(shù)據(jù)及其加噪數(shù)據(jù)集上的分類準確率,稀疏性參數(shù)分別取0.00、0.01、0.05、0.10、0.15、0.20,網(wǎng)絡結(jié)構(gòu)設置為784-350-1600-10,其他參數(shù)設置為:激活函數(shù)選擇sigmoid函數(shù),學習速率α取0.5,退化率v取0.2,訓練集特征提取10次,稀疏懲罰權(quán)重η取0.04,系數(shù)C取1×105。實驗結(jié)果如圖4所示。
從圖4可以看出,對于加入不同程度高斯白噪聲的MNIST數(shù)據(jù),與不加入稀疏性約束的網(wǎng)絡(稀疏性參數(shù)ρ取0)相比,加入稀疏性約束的sDSAE-ELM均具有更好的分類準確率,原因在于稀疏網(wǎng)絡學到的特征表達能更好地描述輸入數(shù)據(jù),更有利于ELM進行分類。此外還可以看出,稀疏性參數(shù)取值不同,得到的分類準確率也不同,當ρ取0.05時,分類準確率達到最優(yōu),當ρ取值過大或過小時,分類準確率有所下降,說明對于同一的數(shù)據(jù)而言,網(wǎng)絡不夠稀疏或過于稀疏都不利于特征提取,不能得到較高的分類準確率。
3.2.2 稀疏性約束對特征提取效果的影響
本節(jié)對sDSAE-ELM的隱含層進行可視化處理,比較分析加入不同稀疏性約束對網(wǎng)絡特征提取效果的影響。選取MNIST數(shù)據(jù)集作為實驗數(shù)據(jù)集,其他參數(shù)設置與3.2.1節(jié)一致。稀疏性參數(shù)ρ分別取0.00、0.01、0.05、0.20時的隱含層可視化結(jié)果如圖5所示。
圖5 不同ρ取值下的隱含層可視化結(jié)果Fig.5 Hidden layer visualization results underdifferent values of ρ
從圖5可以看出,當ρ=0.05時,隱層可視化結(jié)果較未添加稀疏性約束情況下的更清晰獨立,并且結(jié)構(gòu)性更強,這是因為添加稀疏約束的網(wǎng)絡具有稀疏性,能夠?qū)W到數(shù)據(jù)更本質(zhì)的結(jié)構(gòu)特征,該特征表達能更好地描述輸入數(shù)據(jù)。由此可見,稀疏性約束的加入使得sDSAE-ELM具有更優(yōu)的網(wǎng)絡結(jié)構(gòu),有利于后續(xù)的分類工作。此外還可以看出,當ρ=0.01和ρ=0.20時,隱層可視化結(jié)果均不如ρ=0.05時清晰可見,這說明網(wǎng)絡具有最優(yōu)稀疏程度,當ρ過大時,網(wǎng)絡稀疏性不足,網(wǎng)絡復雜無法提取到更優(yōu)異的高級抽象特征,當ρ過小時,網(wǎng)絡過于稀疏,提取的特征不完整,無法代表輸入數(shù)據(jù)的完整特征,因此,預提取到數(shù)據(jù)的高級抽象特征,稀疏性參數(shù)ρ必須取值在合理范圍內(nèi)。
sDSAE-ELM對原始樣本數(shù)據(jù)進行退化處理,其目的在于消除噪聲干擾,提取更本質(zhì)的特征,從而提高模型的魯棒性。為驗證sDSAE-ELM具有良好的魯棒性,本節(jié)設置實驗如下:對MNIST數(shù)據(jù)集加入不同比例的高斯白噪聲,比較其分類準確率。為增強說服力,分別在稀疏性參數(shù)ρ取0.03、0.05、0.07的情況下進行10次實驗,結(jié)果取平均值,其他參數(shù)設置與3.2.1節(jié)一致。實驗結(jié)果如圖6所示。
圖6 加噪MNIST數(shù)據(jù)集中的分類準確率對比Fig.6 Comparison of classification accuracies inMNIST datdset with noise
從圖6可以看出,在加入一定高斯白噪聲的情況下,分類準確率只有略微下降,變化幅度不超過1%,這表明含有一定噪聲的數(shù)據(jù)不會顯著影響sDSAE-ELM的分類準確率。該算法具有很強的魯棒性和穩(wěn)定性,是因為其對原始含噪數(shù)據(jù)進行了退化處理,在對輸入數(shù)據(jù)進行稀疏編碼的同時還具有降噪功能。通過加入數(shù)據(jù)退化過程,sDSAE能夠提取到更具魯棒性的高級抽象特征,為極限學習機提供輸入權(quán)值與隱層偏置,從而增強算法魯棒性和抗噪能力。
為驗證sDSAE-ELM算法在處理高維含噪數(shù)據(jù)時的綜合性能,本節(jié)實驗將ELM、PCA-ELM[19]、ELM-AE[15]、DAE-ELM[20]以及sDSAE-ELM在多個數(shù)據(jù)集上進行性能對比。分別使用MNIST、USPS、Fashion-MNIST和Convex原始數(shù)據(jù)集,以及在其基礎上進行如下加噪操作的數(shù)據(jù)集共16個數(shù)據(jù)集作為實驗數(shù)據(jù):1)添加服從N(0,0.01)的高斯白噪聲;2)添加密度為0.1的椒鹽噪聲;3)添加服從N(0,0.01)的高斯白噪聲+密度為0.1的椒鹽噪聲。
為保證實驗的準確性和高效性(訓練時間短),實驗采用小批量數(shù)據(jù)模式,各數(shù)據(jù)集批量大小為100。為保證對比實驗的可信性,ELM、PCA-ELM、ELM-AE、DAE-ELM、sDSAE-ELM的網(wǎng)絡結(jié)構(gòu)盡可能相似,分別設置為X-1600-Y、X-1600-Y、X-350-1600-Y、X-350-1600-Y、X-350-1600-Y。PCA-ELM取前200維。DAE-ELM部分參數(shù)設置如下:激活函數(shù)選擇sigmoid函數(shù),學習速率α取0.5,退化率v取0.2,訓練集特征提取10次。sDSAE-ELM參數(shù)設置如下:稀疏性參數(shù)數(shù)ρ取0.05,稀疏懲罰權(quán)重η取0.04,系數(shù)C取1×105,其余參數(shù)設置同DAE-ELM。不同算法的分類性能比較如表2所示,其中最優(yōu)結(jié)果加粗表示。
表2 5種算法的分類準確率對比Table 2 Comparison of classification accuracies of five algorithms %
從表2可以看出:與ELM算法相比,sDSAE-ELM的分類準確率在原始MNIST數(shù)據(jù)集中提升了2.41%,在加噪MNIST數(shù)據(jù)中平均提升了6.33%;在原始USPS數(shù)據(jù)集提升了1.03%,在加噪USPS數(shù)據(jù)集中平均提升了4.28%;在原始Fashion-MNIST數(shù)據(jù)集中提升了0.62%,在加噪Fashion-MNIST數(shù)據(jù)集平均提升了3.26%;在Convex數(shù)據(jù)集中提升了15.44%,在加噪Convex數(shù)據(jù)集中平均提升了20.68%。原因在于sDSAE能夠提取輸入數(shù)據(jù)的高級抽象特征,為ELM提供輸入數(shù)據(jù)、輸入權(quán)值和隱層偏置,從而解決ELM隱層參數(shù)隨機賦值的問題,因此,sDSAE-ELM具有較其他算法更高的分類準確率。同時還可以看出,在處理加噪數(shù)據(jù)集時,sDSAE-ELM分類準確率提升更明顯,這是由于sDSAE-ELM對原始輸入進行了退化處理,從而削弱了噪聲的干擾,因此其具有較強的魯棒性和抗噪能力。
同時由表2數(shù)據(jù)可知,無論數(shù)據(jù)集是否加噪,sDSAE-ELM的分類準確率均高于PCA-ELM,原因在于PCA-ELM僅是保留部分重要特征,沒有得到數(shù)據(jù)的深層特征,而sDSAE-ELM從數(shù)據(jù)中提取的是高級抽象特征,更能體現(xiàn)數(shù)據(jù)的本質(zhì)。而個別數(shù)據(jù)集上PCA-ELM分類準確率更優(yōu),這可能是在刪減特征時將噪聲一并刪去的原因。
ELM-AE、DAE-ELM、sDSAE-ELM都屬于深層神經(jīng)網(wǎng)絡,而sDSAE-ELM展現(xiàn)出更優(yōu)的性能,原因在于其具有優(yōu)化的網(wǎng)絡結(jié)構(gòu):稀疏性約束的加入使得網(wǎng)絡的學習過程更類似于人腦的學習過程,在進行學習時,只有少量的神經(jīng)元被激活,多數(shù)處于抑制狀態(tài)[21];同時降噪規(guī)則的加入,則能夠有效防止過擬合問題,提高算法的魯棒性和泛化能力。
本文通過將sDSAE與ELM相結(jié)合,提出一種新的深度學習算法sDSAE-ELM,利用sDSAE提取數(shù)據(jù)更具代表性的深層抽象特征,為ELM提供輸入權(quán)值與隱層偏置,克服ELM隱層參數(shù)隨機賦值導致網(wǎng)絡結(jié)構(gòu)復雜、魯棒性較弱的不足,同時保留ELM運算速度快的優(yōu)勢。實驗結(jié)果表明,與ELM、PCA-ELM、ELM-AE等算法相比,本文算法具有優(yōu)化的網(wǎng)絡結(jié)構(gòu)和較強的魯棒性,在高維數(shù)據(jù)集上分類準確率更高。由于在實驗過程中發(fā)現(xiàn)隱含層數(shù)及隱層節(jié)點數(shù)的設置對實驗結(jié)果影響較大,因此后續(xù)將研究如何合理確定隱含層數(shù)和隱層節(jié)點數(shù),進一步提高算法的分類性能。