苗軍,劉曉,常藝茹,喬元華
(1.北京信息科技大學(xué) 網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點(diǎn)實(shí)驗(yàn)室,北京 100101;2.北京工業(yè)大學(xué) 應(yīng)用數(shù)理學(xué)院,北京 100124)
單隱層前饋神經(jīng)網(wǎng)絡(luò)(single-hidden layer feedforward neural network,SLFN)是一個(gè)簡(jiǎn)單的三層網(wǎng)絡(luò)結(jié)構(gòu),由輸入層、隱藏層和輸出層組成。SLFN具有泛逼近性,可以逼近復(fù)雜的非線性函數(shù),也可以對(duì)經(jīng)典參數(shù)化技術(shù)難以處理的自然和人工合成數(shù)據(jù)進(jìn)行建模,因此在許多領(lǐng)域得到了廣泛的應(yīng)用。
極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)是一種SLFN學(xué)習(xí)算法,因其學(xué)習(xí)速度快、泛化能力強(qiáng),被廣泛應(yīng)用于發(fā)動(dòng)機(jī)轉(zhuǎn)速控制[1]、RNA識(shí)別[2]、蛋白質(zhì)交互預(yù)測(cè)[3]、故障診斷[4-5]、圖像編碼[6]、自動(dòng)降噪[7]和儲(chǔ)能系統(tǒng)選址[8]等領(lǐng)域。
在訓(xùn)練階段,ELM首先用隨機(jī)值初始化其三層全連接網(wǎng)絡(luò)的參數(shù),然后使用最小二乘法解析計(jì)算網(wǎng)絡(luò)輸出權(quán)重,且不對(duì)輸入權(quán)重修改和學(xué)習(xí),使之始終保持隨機(jī)初始化值。在測(cè)試或運(yùn)算階段,ELM首先通過Sigmoid非線性激活函數(shù)獲得隱藏層的響應(yīng),然后該響應(yīng)由隱藏層映射到輸出層,后面這一層映射可視為一個(gè)線性系統(tǒng)[9]。因此,ELM的本質(zhì)是求解線性系統(tǒng),即在最大程度地減少訓(xùn)練誤差的同時(shí)確定輸出權(quán)重[10]。
為了達(dá)到理想的性能,ELM通常需要有大量的隱藏節(jié)點(diǎn),這增加了計(jì)算成本,容易導(dǎo)致訓(xùn)練后的模型過擬合。有2種方法可以有效地減少隱藏節(jié)點(diǎn)的數(shù)量:1)基于在線增量式,例如進(jìn)化ELM[11];2)基于剪枝的方法,例如最優(yōu)剪枝ELM(optimally pruned ELM,OP-ELM)[12]。此外,針對(duì)隨機(jī)生成的參數(shù)缺乏緊湊性,Yu等[13]使用基于梯度的方法對(duì)ELM中輸入層到隱藏層的參數(shù)進(jìn)行更新,在少量隱藏節(jié)點(diǎn)上實(shí)現(xiàn)更好的性能。Kasun等[14]利用極限學(xué)習(xí)機(jī)自編碼器(ELM based autoencoder,ELM-AE)學(xué)習(xí)特征表示,有助于對(duì)深層ELM的輸入權(quán)重進(jìn)行初始化。Zhu等[15]提出了約束ELM(constrained ELM,C-ELM),并將輸入權(quán)值約束作為訓(xùn)練數(shù)據(jù)中類間樣本的一組差分向量。Tapson等[16]所選的輸入層權(quán)重是隨機(jī)的,但偏向訓(xùn)練數(shù)據(jù)樣本,該方法稱為計(jì)算輸入權(quán)重ELM(computation of input weights ELM,CIW-ELM)。McDonnell等[17]提出了形狀化輸入權(quán)重,并結(jié)合了不同的參數(shù)初始化方法來(lái)探索緊湊性。本文重點(diǎn)研究了基于誤差反向傳播(back propagation,BP)和自編碼器(autoencoder,AE)進(jìn)行ELM參數(shù)初始化的方法,在文獻(xiàn)[14]的基礎(chǔ)上,提出一種新的學(xué)習(xí)訓(xùn)練方法,不僅獲得了更緊湊的參數(shù),而且以更少的隱藏節(jié)點(diǎn)和時(shí)間獲得了更好的性能。
ELM是一個(gè)三層全連接網(wǎng)絡(luò)。在ELM中,輸入層和隱藏層之間的權(quán)值參數(shù)是隨機(jī)生成的,而隱藏層和輸出層之間的權(quán)重值通過最小二乘法獲得的解析表達(dá)式進(jìn)行求解。也就是說,在ELM中唯一需要學(xué)習(xí)的就是輸出權(quán)重,且學(xué)習(xí)過程不需要迭代計(jì)算權(quán)重,因此具有高效的學(xué)習(xí)效率。
對(duì)于一個(gè)輸入樣本x,ELM輸出單元的響應(yīng)值所組成的輸出向量由下式定義:
式中:L為隱藏層節(jié)點(diǎn)個(gè)數(shù);βi為第i個(gè)隱單元指向所有輸出單元的連接權(quán)向量;β=[β1,β2,…,βL]為輸出權(quán)重;h(x)=[h1(x),h2(x),…,hL(x)]為輸入樣本x在隱藏層上的響應(yīng)向量,可以看作是ELM的特征空間,其中第i個(gè)隱單元對(duì)于輸入樣本x的響應(yīng)值為
hi(x)=f(wix+bi)i=1,2,…,L
(1)
式中:wi為輸入層所有輸入單元指向第i個(gè)隱單元的連接權(quán)向量;bi為第i個(gè)隱單元的偏置或門限閾值;f為隱單元的激活函數(shù),通常取Sigmoid函數(shù)。在ELM中wi和bi的值在模型訓(xùn)練開始前經(jīng)隨機(jī)初始化后就始終保持不變,測(cè)試階段也采用相同的值。
N個(gè)輸入樣本x1、x2、…、xN在隱藏層上的N個(gè)響應(yīng)向量組成了一個(gè)隱藏層響應(yīng)矩陣H=[h(x1),h(x2),…,h(xN)]T。同理,N個(gè)輸入樣本在輸出層上的N個(gè)輸出向量組成了一個(gè)輸出矩陣O=[o(x1),o(x2),…,o(xN)]T,因此有如下等式:
Hβ=O
(2)
在監(jiān)督學(xué)習(xí)的情形下,ELM直接令輸出矩陣O等于由N個(gè)樣本的標(biāo)簽向量t(x1)、t(x2)、…、t(xN)所組成的標(biāo)簽矩陣T,T=[t(x1),t(x2),…,t(xN)]T,即O=T,則得到:
Hβ=T
(3)
這樣輸出權(quán)重β能夠由下式來(lái)計(jì)算:
β=H?T
(4)
式中:H?為關(guān)于矩陣H的Moore-Penrose廣義逆矩陣[18]。
ELM的訓(xùn)練算法如下[19]:
步驟1:隨機(jī)分配輸入權(quán)重wi和偏置bi,i=1,2,…,L。
步驟2:計(jì)算N個(gè)樣本的隱藏層響應(yīng)矩陣H:
步驟3:通過式(4)求解輸出權(quán)重β。
當(dāng)設(shè)置極限學(xué)習(xí)機(jī)ELM的期望輸出t=x時(shí),即將式(3)中的期望輸出矩陣T換成輸入樣本矩陣X時(shí),就得到了如下公式:
Hβ=X
(5)
式(5)意味著讓ELM的輸出t以無(wú)監(jiān)督的方式重構(gòu)輸入數(shù)據(jù)x,即通過重建輸入樣本來(lái)學(xué)習(xí)樣本的無(wú)監(jiān)督重構(gòu)特征表示[5],那么ELM經(jīng)過學(xué)習(xí)訓(xùn)練后的輸出權(quán)重β可以看作是原始輸入數(shù)據(jù)x的特征重構(gòu)矩陣。此時(shí)的ELM稱之為基于極限學(xué)習(xí)機(jī)的自編碼器(ELM-AE)。把ELM-AE的輸出權(quán)重β用βELM-AE表示,由式(4)可得到求解公式:
βELM-AE=H?X
(6)
由于t=x,所以ELM-AE的輸入層和輸出層的單元數(shù)目相同。
如1.1節(jié)所述,ELM的輸入權(quán)重W在用隨機(jī)值初始化后始終保持不變,ELM在學(xué)習(xí)訓(xùn)練的過程中不對(duì)其進(jìn)行更新。這樣雖然能節(jié)省ELM學(xué)習(xí)訓(xùn)練的時(shí)間,但由于輸入權(quán)重是隨機(jī)值,使得ELM在測(cè)試時(shí)并不能取得很好的效果。主要原因是隨機(jī)確定從輸入層到隱藏層的連接權(quán)重,導(dǎo)致ELM的特征表示不緊湊,即指在隨機(jī)映射的過程中,輸入向量通過映射到隱層空間所得到的隱單元響應(yīng)值h(x)在特征映射方向的確定上具有隨機(jī)性。
在ELM-AE中,通過非監(jiān)督方式可以對(duì)輸入樣本學(xué)習(xí)較好的特征表達(dá),這種表達(dá)由原來(lái)隨機(jī)的特征方向映射統(tǒng)一到一個(gè)基于輸入數(shù)據(jù)的映射方向。Kasun等[14]發(fā)現(xiàn),通過ELM-AE得到的特征能夠減少類內(nèi)距離,增大類間距離。不過這種特征映射沒有引入類別標(biāo)簽信息,缺少了類別信息來(lái)約束表達(dá)數(shù)據(jù)的判別性。
為了解決這一問題,本文提出了基于權(quán)重微調(diào)的極限學(xué)習(xí)機(jī)自編碼器(簡(jiǎn)稱微調(diào)ELM-AE)。下面以圖1所示的示例性神經(jīng)網(wǎng)絡(luò)對(duì)訓(xùn)練過程進(jìn)行說明。
圖1 微調(diào)ELM-AE的訓(xùn)練過程Fig.1 Training procedure of fine-tuned ELM-AE
第一步,采用非監(jiān)督學(xué)習(xí)方式得到ELM-AE網(wǎng)絡(luò)的輸出權(quán)重。
第二步,采用監(jiān)督學(xué)習(xí)的方式對(duì)ELM-AE網(wǎng)絡(luò)學(xué)習(xí)到的權(quán)重進(jìn)行微調(diào)更新。
然后,使用ELM-AE學(xué)習(xí)到的權(quán)重βELM-AE來(lái)初始化BP神經(jīng)網(wǎng)絡(luò)從輸入層到隱藏層的權(quán)重W,即:
第三步,用微調(diào)的ELM-AE權(quán)重初始化一個(gè)ELM的輸入權(quán)重,并采用最小二乘算法訓(xùn)練ELM用于分類。
然后,通過前饋運(yùn)算和最小二乘求解,得到ELM隱藏層的響應(yīng)值和輸出權(quán)重:
式中:b為隱單元的偏置;βELM為ELM的輸出權(quán)重。
在沒有任何失真的原始MNIST手寫數(shù)字?jǐn)?shù)據(jù)集[20]上進(jìn)行分類實(shí)驗(yàn),使用所有60 000個(gè)訓(xùn)練樣本來(lái)訓(xùn)練模型,并使用10 000個(gè)測(cè)試樣本來(lái)評(píng)估性能。實(shí)驗(yàn)在臺(tái)式計(jì)算機(jī)上進(jìn)行,該臺(tái)式計(jì)算機(jī)具有運(yùn)行在MATLAB R2014a中的核心i7-4770 3.4 GHz處理器和32 GB RAM。
MNIST數(shù)據(jù)集樣本圖像的大小是28×28像素,包含10類數(shù)字樣本,因此本實(shí)驗(yàn)中模型的輸入節(jié)點(diǎn)數(shù)是784,輸出節(jié)點(diǎn)數(shù)是10。為了評(píng)估微調(diào)ELM-AE的性能,分別使用微調(diào)ELM-AE與其他方法初始化ELM,并對(duì)分類結(jié)果進(jìn)行比較。對(duì)比方法如下:
1)ELM。隨機(jī)選擇輸入權(quán)重和偏差。
2)ELM-AE。使用ELM-AE輸出權(quán)重的轉(zhuǎn)換來(lái)初始化ELM的輸入權(quán)重,隨機(jī)選擇偏差。
3)BP。首先使用隨機(jī)參數(shù)訓(xùn)練BP網(wǎng)絡(luò),然后使用調(diào)整后的參數(shù)(輸入權(quán)重和偏差)來(lái)初始化ELM[13]。
4)自編碼器。首先訓(xùn)練自編碼器來(lái)學(xué)習(xí)原始數(shù)據(jù)的特征表示,然后使用學(xué)習(xí)到的參數(shù)來(lái)初始化ELM輸入權(quán)重和偏差。
結(jié)果如圖2所示??梢园l(fā)現(xiàn)BP、自編碼器和微調(diào)ELM-AE的測(cè)試分類準(zhǔn)確率曲線幾乎相同,且優(yōu)于ELM和ELM-AE。BP、自編碼器和微調(diào)ELM-AE的平均準(zhǔn)確率分別為97.66%、97.75%和97.81%。這表明微調(diào)ELM-AE的性能更優(yōu)。
圖2 測(cè)試分類準(zhǔn)確率曲線Fig.2 Curves of test classification accuracies
以97.6%的測(cè)試準(zhǔn)確率為例,對(duì)比5種方法為了達(dá)到相似的測(cè)試準(zhǔn)確率所需要的隱藏節(jié)點(diǎn)數(shù)量和時(shí)間,結(jié)果如表1所示。
表1 相似測(cè)試準(zhǔn)確率的計(jì)算成本比較Table 1 Computation cost comparison with similar test accuracies
從表1可以看出,ELM和ELM-AE達(dá)到目標(biāo)準(zhǔn)確率的總時(shí)間最少,但所需隱藏節(jié)點(diǎn)數(shù)量均超過10 000個(gè),并且這2種方法的訓(xùn)練時(shí)間遠(yuǎn)高于其他方法。相比之下,經(jīng)過微調(diào)的ELM-AE只需要200個(gè)隱藏節(jié)點(diǎn)就可以獲得目標(biāo)準(zhǔn)確率,并且其時(shí)間主要花費(fèi)在預(yù)訓(xùn)練階段,訓(xùn)練時(shí)間只需2 s。
ELM-AE可以看作是一個(gè)雙向無(wú)監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。利用這一性質(zhì),可將微調(diào)的ELM-AE作為基本模塊兩兩堆疊成深層全連接神經(jīng)網(wǎng)絡(luò),這種結(jié)構(gòu)可稱為堆疊的微調(diào)ELM-AE(stacked fine-tuned ELM-AE,SFEA)。
將SFEA與多隱藏層前饋神經(jīng)網(wǎng)絡(luò)(multiple-hidden layer feedforward neural network,MLFN)和堆疊式自編碼器(stacked autoencoder,SAE)[21]進(jìn)行對(duì)比。這3個(gè)模型都為多層全連接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包含1個(gè)輸入層、3個(gè)隱藏層和1個(gè)輸出層,各層的節(jié)點(diǎn)數(shù)為784、1 000、1 000、1 000、10。在SFEA中,使用ELM-AE初始化前4層之間的參數(shù),然后使用BP對(duì)深層結(jié)構(gòu)進(jìn)行微調(diào)。最后,使用微調(diào)參數(shù)以相同的結(jié)構(gòu)初始化ELM,即使用前4層提取特征,然后使用最小二乘法確定輸出權(quán)重。MLFN和SAE由BP網(wǎng)絡(luò)訓(xùn)練。
此外,選擇主流的非全連接多層神經(jīng)網(wǎng)絡(luò):卷積深度學(xué)習(xí)模型LeNet-5[20]、ResNet-34[22]和DenseNet[23]與本文方法進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果如表2所示。SFEA的性能好于MLFN,并與SAE和其他卷積深度學(xué)習(xí)模型可比。這表明經(jīng)過微調(diào)的ELM-AE可以作為深層結(jié)構(gòu)的一個(gè)可供考慮的組件,以幫助構(gòu)建深層全連接神經(jīng)網(wǎng)絡(luò)。
表2 深層結(jié)構(gòu)實(shí)驗(yàn)結(jié)果Table 2 Experimental results on deep structures
本文集中使用無(wú)監(jiān)督和監(jiān)督的方法進(jìn)行ELM的初始化,即使用無(wú)監(jiān)督的ELM-AE將參數(shù)初始化從隨機(jī)特征空間限制到有限的輸入空間,產(chǎn)生了緊湊的特征表示;使用有監(jiān)督的BP算法來(lái)微調(diào)ELM-AE權(quán)重,在特征表示中增加了區(qū)分度,使特征表示具有判別性。實(shí)驗(yàn)結(jié)果表明,與對(duì)比方法相比,本文提出的方法在時(shí)間消耗類似的情況下,節(jié)省了存儲(chǔ)空間,綜合性能最優(yōu)。
北京信息科技大學(xué)學(xué)報(bào)(自然科學(xué)版)2024年1期