張國令,王曉丹,李 睿,來 杰,向 前
(空軍工程大學 防空反導學院,西安 710051)
極限學習機(Extreme Learning Machine,ELM)[1]是一種簡單高效的單隱層前饋神經網絡(Single Hidden Layer Feedforward Neural Network,SLFN)算法。ELM網絡的輸入權重和隱層偏置均為隨機生成,輸出權值則通過求解最小化平方損失函數得到,能夠有效解決傳統SLFN算法收斂速度慢、容易產生局部最優解的問題。ELM因實現簡單、訓練速度快和泛化性能好等特點,現已被廣泛應用于語音識別[2]、故障診斷[3-4]、生物醫學[5-6]、計算機視覺[7-8]等多個領域。
大量研究表明,ELM隨機確定輸入權值和隱層偏置,能夠提高整個網絡的學習速度,但是隱層參數的隨機賦值使得ELM比傳統基于調優的學習算法需要更多的隱層節點。然而,過多的隱層節點容易減弱隱含層的稀疏性,產生冗余節點,增加網絡結構的復雜度,降低算法分類準確率[9-10]。對此,研究者采用群體智能優化方法對網絡結構進行優化,以提高整體性能。文獻[9]通過引入差分進化算法提出E-ELM算法,利用交叉算子和差分變異并通過動態調整整個種群得到最優的輸入權值和隱層偏置,從而使網絡結構更為緊湊。文獻[10]引入粒子群優化(Particle Swarm Optimization,PSO)算法對ELM隱層節點參數進行調整,提出PSO-ELM算法,通過編碼將輸入權值和隨機偏置設為待優化的粒子,根據PSO原理得到全局最優值,以提升ELM的整體性能。采用群體智能優化隱層節點參數改進的網絡結構,可提高ELM算法的泛化能力和穩定性,但同時也增加了計算復雜度,在處理大規模高維數據集時性能較差。
研究表明,通過將ELM拓展到深度學習領域,可以在處理大規模高維數據時降低深層網絡的計算復雜度,減少訓練時間。文獻[11]提出的ELM-AE算法結合極限學習機和自編碼器的優勢,具有良好的特征表達能力和分類性能。文獻[12]通過改進ELM-AE提出的判別圖正則化極限學習機自編碼器GELM-AE,能夠提取更抽象的高層特征,提高網絡模型的整體性能。文獻[13]通過將卷積神經網絡(Convolutional Neural Network,CNN)和ELM相結合,提出CNN2ELM集成學習框架,提高了識別人臉圖像年齡的魯棒性。
棧式降噪稀疏自編碼器(stacked Denoising Sparse Auto-Encoder,sDSAE)是一種改進的自編碼器深度學習模型,其中稀疏性約束的加入使網絡結構得到優化,能夠更好地提取數據的深層特征,而去噪處理則降低了噪聲干擾,增強了算法魯棒性。本文將sDSAE與ELM相結合,提出sDSAE-ELM算法,利用sDSAE產生ELM的輸入權值和隱層偏置,以解決ELM輸入權重和隱層偏置隨機賦值導致網絡結構復雜、魯棒性弱的問題,同時保留ELM訓練速度快的優勢。
ELM是一種具有快速學習能力的SLFN算法,其網絡結構如圖1所示。

圖1 ELM網絡結構Fig.1 Network structure of ELM


(1)
其中,wi=[wi1,wi2,…,win]T為n個輸入層節點與第i個隱層節點之間的輸入權值向量,bi為第i個隱層節點偏置值,g(·)是隱層節點的激活函數,βi=[βi1,βi2,…,βim]T為第i個隱層節點與m個輸出層節點之間的輸出權值向量。令h(x)=[g1(x),g2(x),…,gl(x)]表示輸入數據x的隱層輸出,用H=[hT(x1),hT(x2),…,hT(xN)]T表示數據樣本在隱層的輸出矩陣,即:
(2)
令T=[t1,t2,…,tN]T表示樣本的目標輸出,則該系統矩陣表達式為:
Hβ=T
(3)

(4)
通常情況下,隱層節點數l小于訓練樣本數N。因此,對β求解得到:
(5)
其中,H?表示H的Moore-Penrose(MP)廣義逆,此解具有唯一性,可使網絡訓練誤差達到最小值。β具體表達式為:
(6)

(7)
其中,I為單位矩陣,C為正則化系數。
ELM的學習過程如算法1所示。
算法1ELM

輸出輸出權重β
步驟1隨機生成輸入權值ωi和隱層偏置bi。
步驟2根據式(2)計算隱層輸出矩陣H。
步驟3據式(7)計算輸出權重β。
傳統的自動編碼器(AE)對輸入數據的重構能力有限,提取數據特征的能力較差[15]。在自編碼器的基礎上添加稀疏性約束得到稀疏自編碼器(SAE),即迫使大多數隱層節點置0,少數隱層節點不為0,網絡更加稀疏,從而具有良好的調節能力,使得模型與人腦的學習過程更相似,有利于提取更具代表性的特征,提高算法分類準確率[16]。降噪稀疏自編碼器(DSAE)是在SAE基礎上,對原始樣本數據進行退化處理,其目的在于排除噪聲干擾,更好地重構原始輸入,增強算法的魯棒性[17-18]。DSAE網絡結構如圖2所示。

圖2 DSAE網絡結構Fig.2 Network structure of DSAE

稀疏編碼和解碼過程的計算公式分別如式(8)和式(9)所示:
(8)
y=f(h)=sf(w′h+b′)
(9)

(10)
采用相對熵(KL)的方法進行稀疏懲罰,如式(11)所示:
(11)

DSAE屬于淺層網絡,學習能力有限,而棧式降噪稀疏自編碼器(sDSAE)由多個DSAE堆棧而成,其以前一隱層輸出作為后一隱層輸入,逐層訓練,在處理高維大數據集時整體性能優于淺層網絡。但sDSAE的性能取決于網絡的層數和節點數,網絡層數并非越多越好,層數太多容易引起梯度彌散現象,也會訓練過擬合[17]。因此,本文設置2層sDSAE網絡。
ELM在訓練過程中隨機生成輸入權值和隱層偏置,為得到理想的分類效果,往往需要產生大量的隱含層節點,而過多的隱含層節點會導致網絡結構復雜,影響整體的學習性能。為避免ELM中出現過多的隨機冗余節點,本文利用sDSAE獲取輸入數據的特征表達,通過加入稀疏性限制使網絡可以學到輸入數據中更優的結構特征,從而更好地描述輸入數據,為ELM提供所需的輸入權值和隱層偏置,更有利于ELM進行分類。
理論上,sDSAE-ELM算法比ELM算法能夠獲得更優的輸入權值和隱層偏置。一方面,sDSAE-ELM算法利用sDSAE具有稀疏化的網絡結構對原始輸入數據進行學習訓練,將得到的輸入權值和隱層偏置分別作為sDSAE-ELM算法的輸入權值和隱層偏置,其包含了輸入數據的相關特征信息,有利于發掘更本質的高級抽象特征,對數據重構和算法整體性能有促進作用,而ELM算法的輸入權值和隱層偏置隨機賦值,與輸入數據無關,對數據重構和算法整體性能沒有促進作用;另一方面,sDSAE-ELM算法通過sDSAE產生極限學習機的輸入權值與隱層偏置,克服了ELM因隱含層參數隨機賦值產生冗余節點、降低算法分類準確率的弊端。此外,sDSAE-ELM算法優化了網絡結構,如圖3所示,其對原始輸入數據進行退化處理,從而有效消除噪聲的干擾,增強魯棒性。

圖3 sDSAE-ELM網絡結構Fig.3 Network structure of sDSAE-ELM
sDSAE-ELM訓練過程的具體步驟如下:
步驟1對原始輸入x進行預處理。依據上文所述,利用梯度下降法訓練DSAE1,得到第一隱含層的輸出h1和網絡參量w1、b1。h1是對原始輸入數據和網絡參數的高度抽象結果,由于對原始輸入進行過退化處理以及對網絡添加稀疏性約束,因此更能體現輸入數據的本質特征,算法魯棒性更強,并且當原始輸入維數較高時,還能起到降低數據維度的作用。
步驟2利用梯度下降法訓練DSAE2以確定ELM的參數。相比于傳統的學習算法,ELM不僅學習速度更快,而且分類性能更優。然而,與基于調優的學習算法相比,由于其輸入權值和隱層偏置產生的隨機性,ELM需要更多的隱層節點。此過程同步驟1,得到第一隱含層的輸出h2和網絡參量w2、b2。其中,w2作為ELM的輸入權值,b2作為ELM的隱層偏置,輸出矩陣為h2。此步驟能夠克服ELM隨機生成隱層參數的問題,優化網絡結構,提高模型的穩定性。
步驟3利用ELM進行分類,輸入數據為h1,輸入權值和隱層偏置分別為w2和b2,隱層輸出矩陣為h2,根據式(6)求得輸出權重。
sDSAE-ELM學習過程如算法2所示。
算法2sDSAE-ELM

輸出輸出權重β
步驟1對原始輸入x進行預處理和退化處理。訓練DSAE1,得到第一隱含層的輸出h1以及網絡參數w1、b1。
步驟2輸入h1,訓練DSAE2,得到第二隱含層的輸出h2以及最優網絡參數w2、b2。
步驟3將h1、w2和b2分別作為ELM的輸入、輸入權值和隱含偏置,ELM的隱層輸出為h2,根據式(7)計算得到β。
本文實驗環境為Matlab R2017b,計算機配置為Intel?CoreTMi7-4790 CPU 3.60 GHz,16 GB RAM。
sDSAE-ELM屬于深度學習算法,在處理高維含噪數據時具有較好的泛化性能和魯棒性。為此,本文選用MNIST、USPS、Fashion-MNIST和Convex 4個數據集作為實驗數據,詳細描述如表1所示。
在網絡隱含層加入稀疏性約束,可使模型模擬人腦的學習過程,其中少數節點被激活,多數處于抑制狀態,保證了數據在網絡中的有效傳遞。同時,稀疏性約束的加入也可優化網絡結構,提高模型的整體性能。
3.2.1 稀疏性約束對分類準確率的影響
為分析加入稀疏性約束對分類準確率的影響,本節比較加入不同程度稀疏性約束的sDSAE-ELM算法在MNIST數據及其加噪數據集上的分類準確率,稀疏性參數分別取0.00、0.01、0.05、0.10、0.15、0.20,網絡結構設置為784-350-1600-10,其他參數設置為:激活函數選擇sigmoid函數,學習速率α取0.5,退化率v取0.2,訓練集特征提取10次,稀疏懲罰權重η取0.04,系數C取1×105。實驗結果如圖4所示。
從圖4可以看出,對于加入不同程度高斯白噪聲的MNIST數據,與不加入稀疏性約束的網絡(稀疏性參數ρ取0)相比,加入稀疏性約束的sDSAE-ELM均具有更好的分類準確率,原因在于稀疏網絡學到的特征表達能更好地描述輸入數據,更有利于ELM進行分類。此外還可以看出,稀疏性參數取值不同,得到的分類準確率也不同,當ρ取0.05時,分類準確率達到最優,當ρ取值過大或過小時,分類準確率有所下降,說明對于同一的數據而言,網絡不夠稀疏或過于稀疏都不利于特征提取,不能得到較高的分類準確率。
3.2.2 稀疏性約束對特征提取效果的影響
本節對sDSAE-ELM的隱含層進行可視化處理,比較分析加入不同稀疏性約束對網絡特征提取效果的影響。選取MNIST數據集作為實驗數據集,其他參數設置與3.2.1節一致。稀疏性參數ρ分別取0.00、0.01、0.05、0.20時的隱含層可視化結果如圖5所示。

圖5 不同ρ取值下的隱含層可視化結果Fig.5 Hidden layer visualization results underdifferent values of ρ
從圖5可以看出,當ρ=0.05時,隱層可視化結果較未添加稀疏性約束情況下的更清晰獨立,并且結構性更強,這是因為添加稀疏約束的網絡具有稀疏性,能夠學到數據更本質的結構特征,該特征表達能更好地描述輸入數據。由此可見,稀疏性約束的加入使得sDSAE-ELM具有更優的網絡結構,有利于后續的分類工作。此外還可以看出,當ρ=0.01和ρ=0.20時,隱層可視化結果均不如ρ=0.05時清晰可見,這說明網絡具有最優稀疏程度,當ρ過大時,網絡稀疏性不足,網絡復雜無法提取到更優異的高級抽象特征,當ρ過小時,網絡過于稀疏,提取的特征不完整,無法代表輸入數據的完整特征,因此,預提取到數據的高級抽象特征,稀疏性參數ρ必須取值在合理范圍內。
sDSAE-ELM對原始樣本數據進行退化處理,其目的在于消除噪聲干擾,提取更本質的特征,從而提高模型的魯棒性。為驗證sDSAE-ELM具有良好的魯棒性,本節設置實驗如下:對MNIST數據集加入不同比例的高斯白噪聲,比較其分類準確率。為增強說服力,分別在稀疏性參數ρ取0.03、0.05、0.07的情況下進行10次實驗,結果取平均值,其他參數設置與3.2.1節一致。實驗結果如圖6所示。

圖6 加噪MNIST數據集中的分類準確率對比Fig.6 Comparison of classification accuracies inMNIST datdset with noise
從圖6可以看出,在加入一定高斯白噪聲的情況下,分類準確率只有略微下降,變化幅度不超過1%,這表明含有一定噪聲的數據不會顯著影響sDSAE-ELM的分類準確率。該算法具有很強的魯棒性和穩定性,是因為其對原始含噪數據進行了退化處理,在對輸入數據進行稀疏編碼的同時還具有降噪功能。通過加入數據退化過程,sDSAE能夠提取到更具魯棒性的高級抽象特征,為極限學習機提供輸入權值與隱層偏置,從而增強算法魯棒性和抗噪能力。
為驗證sDSAE-ELM算法在處理高維含噪數據時的綜合性能,本節實驗將ELM、PCA-ELM[19]、ELM-AE[15]、DAE-ELM[20]以及sDSAE-ELM在多個數據集上進行性能對比。分別使用MNIST、USPS、Fashion-MNIST和Convex原始數據集,以及在其基礎上進行如下加噪操作的數據集共16個數據集作為實驗數據:1)添加服從N(0,0.01)的高斯白噪聲;2)添加密度為0.1的椒鹽噪聲;3)添加服從N(0,0.01)的高斯白噪聲+密度為0.1的椒鹽噪聲。
為保證實驗的準確性和高效性(訓練時間短),實驗采用小批量數據模式,各數據集批量大小為100。為保證對比實驗的可信性,ELM、PCA-ELM、ELM-AE、DAE-ELM、sDSAE-ELM的網絡結構盡可能相似,分別設置為X-1600-Y、X-1600-Y、X-350-1600-Y、X-350-1600-Y、X-350-1600-Y。PCA-ELM取前200維。DAE-ELM部分參數設置如下:激活函數選擇sigmoid函數,學習速率α取0.5,退化率v取0.2,訓練集特征提取10次。sDSAE-ELM參數設置如下:稀疏性參數數ρ取0.05,稀疏懲罰權重η取0.04,系數C取1×105,其余參數設置同DAE-ELM。不同算法的分類性能比較如表2所示,其中最優結果加粗表示。

表2 5種算法的分類準確率對比Table 2 Comparison of classification accuracies of five algorithms %
從表2可以看出:與ELM算法相比,sDSAE-ELM的分類準確率在原始MNIST數據集中提升了2.41%,在加噪MNIST數據中平均提升了6.33%;在原始USPS數據集提升了1.03%,在加噪USPS數據集中平均提升了4.28%;在原始Fashion-MNIST數據集中提升了0.62%,在加噪Fashion-MNIST數據集平均提升了3.26%;在Convex數據集中提升了15.44%,在加噪Convex數據集中平均提升了20.68%。原因在于sDSAE能夠提取輸入數據的高級抽象特征,為ELM提供輸入數據、輸入權值和隱層偏置,從而解決ELM隱層參數隨機賦值的問題,因此,sDSAE-ELM具有較其他算法更高的分類準確率。同時還可以看出,在處理加噪數據集時,sDSAE-ELM分類準確率提升更明顯,這是由于sDSAE-ELM對原始輸入進行了退化處理,從而削弱了噪聲的干擾,因此其具有較強的魯棒性和抗噪能力。
同時由表2數據可知,無論數據集是否加噪,sDSAE-ELM的分類準確率均高于PCA-ELM,原因在于PCA-ELM僅是保留部分重要特征,沒有得到數據的深層特征,而sDSAE-ELM從數據中提取的是高級抽象特征,更能體現數據的本質。而個別數據集上PCA-ELM分類準確率更優,這可能是在刪減特征時將噪聲一并刪去的原因。
ELM-AE、DAE-ELM、sDSAE-ELM都屬于深層神經網絡,而sDSAE-ELM展現出更優的性能,原因在于其具有優化的網絡結構:稀疏性約束的加入使得網絡的學習過程更類似于人腦的學習過程,在進行學習時,只有少量的神經元被激活,多數處于抑制狀態[21];同時降噪規則的加入,則能夠有效防止過擬合問題,提高算法的魯棒性和泛化能力。
本文通過將sDSAE與ELM相結合,提出一種新的深度學習算法sDSAE-ELM,利用sDSAE提取數據更具代表性的深層抽象特征,為ELM提供輸入權值與隱層偏置,克服ELM隱層參數隨機賦值導致網絡結構復雜、魯棒性較弱的不足,同時保留ELM運算速度快的優勢。實驗結果表明,與ELM、PCA-ELM、ELM-AE等算法相比,本文算法具有優化的網絡結構和較強的魯棒性,在高維數據集上分類準確率更高。由于在實驗過程中發現隱含層數及隱層節點數的設置對實驗結果影響較大,因此后續將研究如何合理確定隱含層數和隱層節點數,進一步提高算法的分類性能。