楊 悅,王士同
江南大學(xué) 人工智能與計算機學(xué)院,江蘇 無錫 214122
隨著人工智能研究的復(fù)興,許多機器學(xué)習(xí)算法大展頭角,推動著人工智能研究的發(fā)展。其中多層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)已經(jīng)應(yīng)用于許多領(lǐng)域,并在許多應(yīng)用中取得突破性成果[1-3],比如卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)[4]、反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation,BP)[5-6]、極限學(xué)習(xí)機(extreme learning machine,ELM)[7-8]、模糊神經(jīng)網(wǎng)絡(luò)(neuro-fuzzy netwoks,F(xiàn)NN)[9]以及寬度學(xué)系統(tǒng)(broad learning system,BLS)[10-13]。CNN 結(jié)構(gòu)是一種多層神經(jīng)網(wǎng)絡(luò),通過卷積和池化操作進(jìn)行特征提取和適當(dāng)?shù)臋?quán)重調(diào)整。CNN 及其變體已成功地在各種數(shù)據(jù)集測試中實現(xiàn)了非常高的識別率。盡管這種深層結(jié)構(gòu)非常強大,但由于大多數(shù)網(wǎng)絡(luò)都涉及大量超參數(shù)和復(fù)雜結(jié)構(gòu),其訓(xùn)練過程非常耗時。此外,這種復(fù)雜性使得從理論上分析深度結(jié)構(gòu)很困難,為了獲得更好的精度,大多數(shù)工作涉及大量參數(shù)傳遞或堆疊更多的層數(shù)。另外,基于梯度下降[14]的算法也被廣泛應(yīng)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),如BP 神經(jīng)網(wǎng)絡(luò)利用誤差的反向傳播來調(diào)整網(wǎng)絡(luò)的權(quán)值。然而,這樣的網(wǎng)絡(luò)結(jié)構(gòu)在訓(xùn)練過程中若選擇了不恰當(dāng)?shù)牟介L會導(dǎo)致訓(xùn)練失?。翰介L過小會容易導(dǎo)致訓(xùn)練陷入局部最小值,或訓(xùn)練過程非常耗時。如果訓(xùn)練陷入局部最小值,將導(dǎo)致訓(xùn)練永遠(yuǎn)達(dá)不到期望的收斂狀態(tài),以至導(dǎo)致訓(xùn)練失敗;步長過大會使得尋解不仔細(xì)而得不到最優(yōu)解。
隨機向量功能鏈路神經(jīng)網(wǎng)絡(luò)(random vector functional-link neural network,RVFLNN)[15-16]提供了另一種代表性的方法來學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中的參數(shù)。它基于功能鏈路神經(jīng)網(wǎng)絡(luò)(functional-link neural network,F(xiàn)LNN)[17]的框架,與傳統(tǒng)的單層神經(jīng)網(wǎng)絡(luò)一樣,F(xiàn)LNN 通常依賴于反向傳播算法來迭代地訓(xùn)練所有參數(shù)。隨著隱層數(shù)量的增加,這種參數(shù)學(xué)習(xí)方法會存在局部最優(yōu)、耗時大和收斂慢等問題。RVFLNN為了克服這些缺點,提出了具有隨機權(quán)重的FLNN,其中輸入權(quán)重在恰當(dāng)?shù)挠蛑须S機生成,并且訓(xùn)練過程不需進(jìn)行反復(fù)迭代。Igelnik 和Pao[16]以及Pao 和Takefuji[17]對RVFLNN 在訓(xùn)練速度方面的優(yōu)勢及其在一般前饋網(wǎng)絡(luò)上的泛化特性給出了經(jīng)典的數(shù)學(xué)討論。
近幾年提出的ELM 算法和BLS 算法都是簡單高效的單隱層前饋神經(jīng)網(wǎng)絡(luò),算法在沒有堆疊層結(jié)構(gòu)的情況下,設(shè)計的神經(jīng)網(wǎng)絡(luò)能夠廣泛地擴展神經(jīng)節(jié)點,并且在需要增加隱藏節(jié)點或者輸入數(shù)據(jù)不斷進(jìn)入網(wǎng)絡(luò)時遞增地更新神經(jīng)網(wǎng)絡(luò)的權(quán)重。在結(jié)構(gòu)上,ELM 是具有單隱層的三層神經(jīng)網(wǎng)絡(luò),它的隱藏層取自整個原數(shù)據(jù)集特征域,對其進(jìn)行非線性特征映射;BLS 包含兩個隱藏層,需進(jìn)行兩次特征映射生成特征節(jié)點和增強節(jié)點,第二層隱藏層包含了原數(shù)據(jù)特征域的映射特征及其增強節(jié)點。ELM 和BLS 算法的核心思想是隨機選取網(wǎng)絡(luò)的輸入權(quán)值和偏置,在訓(xùn)練過程中保持不變,僅需要優(yōu)化隱層神經(jīng)元個數(shù)。網(wǎng)絡(luò)的輸出權(quán)值則是通過求解Moore-Penrose 廣義逆運算得到。相比于其他傳統(tǒng)的基于梯度下降的前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,這種訓(xùn)練方法具有實現(xiàn)簡單、學(xué)習(xí)速度極快和人為干預(yù)較少等顯著優(yōu)勢。
為了保持網(wǎng)絡(luò)在訓(xùn)練速度上的優(yōu)勢,并且優(yōu)化算法的結(jié)構(gòu),本文提出了基于隨機映射特征的四層神經(jīng)網(wǎng)絡(luò)(four-layer neural network based on randomly mapped feature,F(xiàn)RMFNN)模型,包含輸入層、第一層隱藏層、第二層隱藏層和輸出層。其中,第一層隱藏層為特征映射層,在第一層隱藏層中對輸入的原始特征做了稀疏化處理以獲得更好的數(shù)據(jù)特征,然后在第二層隱藏層中對原始特征域的稀疏化特征[18]進(jìn)行再次隨機映射。
基于隨機映射的四層神經(jīng)網(wǎng)絡(luò)提供了一種不需要負(fù)反饋迭代訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,其基于RVFLNN模型,而區(qū)別于RVFLNN 的是它不直接用輸入節(jié)點來構(gòu)建隱藏節(jié)點而是先把輸入節(jié)點映射成一系列的特征節(jié)點,再對特征節(jié)點進(jìn)行再次隨機映射。在隨機映射網(wǎng)絡(luò)中,輸入數(shù)據(jù)通過一系列的特征映射傳輸至第一個隱藏層存儲為隨機特征,這些隨機特征再通過非線性激活函數(shù)進(jìn)一步映射形成第二層隱藏層節(jié)點;然后,第二層隱藏節(jié)點再傳輸?shù)捷敵鰧印F渲?,輸出層的?quán)重則是通過求解Moore-Penrose 廣義逆[19]運算得到最小范數(shù)最小二乘解確定。另外,模型還開發(fā)了增量學(xué)習(xí)算法,用于動態(tài)地更新系統(tǒng),擴展網(wǎng)絡(luò)。
基于隨機映射的四層神經(jīng)網(wǎng)絡(luò)(FRMFNN)模型是如圖1 所示的一個四層網(wǎng)絡(luò),設(shè)訓(xùn)練樣本數(shù)為N,特征數(shù)為d,類別數(shù)為c,則訓(xùn)練集為{(X,T)|X∈?N×d,T∈?N×c},其中X=[x1,x2,…,xd]為輸入向量,T=[t1,t2,…,tc]為對應(yīng)的輸出向量。原始輸入數(shù)據(jù)X經(jīng)過隨機映射后組成n組隨機特征,這n組隨機映射特征組成第一層隱藏層,其中的特征映射函數(shù)為ζi,i=1,2,…,n。記原始輸入數(shù)據(jù)矩陣為X=[x1,x2,…,xd]∈?N×d,于是第一層隱藏層中第i組映射特征為。其中是隨機生成的權(quán)重和偏置矩陣,用于連接輸入層到第一層隱藏層中第i組特征節(jié)點。
Fig.1 Frameworks of four-layer neural network based on randomly mapped feature圖1 基于隨機特征映射的四層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
定義
表示第一層隱藏層中N個訓(xùn)練樣本的n組映射特征節(jié)點集合,然后把Hf傳輸?shù)降诙€隱藏層。
由于模型的特征是隨機選擇的,為了克服隨機性,獲得輸入特征的稀疏化表達(dá),在第一次隨機映射時利用稀疏自動編碼器[20-22],應(yīng)用線性逆問題對隨機生成的初始權(quán)重矩陣wf進(jìn)行微調(diào),使用X來解決優(yōu)化問題[23]:
式(1)中的問題可以等價為下列一般性問題:
上述優(yōu)化問題可以通過下列迭代步驟解決:
其中,ρ>0,S是軟閾值運算符,定義為:
經(jīng)過稀疏處理,降低了特征表示的復(fù)雜度,減少了系數(shù)參數(shù),可以充分發(fā)揮數(shù)據(jù)所含有的信息,去掉數(shù)據(jù)信息的冗余部分,達(dá)到最大化利用數(shù)據(jù),并且加快模型訓(xùn)練速度。
在建立模型時,每一組映射的函數(shù)ζi(?)和gj(?)可以選擇不同的函數(shù)。為了不失一般性,在下文中ζi(?)和gj(?)的下標(biāo)i和j將被省略。于是,基于隨機映射的四層神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型被表示為:
本節(jié)將討論基于隨機映射特征的四層神經(jīng)網(wǎng)絡(luò)的通用逼近能力。根據(jù)本節(jié)中定理1,對于任何定義于標(biāo)準(zhǔn)超立方體Id=[0;1]d??d上的連續(xù)函數(shù)f∈C(Id),具有非恒定有界特征映射ζ(?)和激活函數(shù)g(?)的隨機映射特征網(wǎng)絡(luò)可以等價地表示為:
其中,Wf、和be、bh取自上述所給的概率密度。因為特征映射函數(shù)ζ是有界的,所以顯然復(fù)合后的函數(shù)g(ζ(x))是有界可積的,并且無限可微,上述結(jié)論的詳細(xì)理論依據(jù)可見文獻(xiàn)[24]。這樣,上述問題可以轉(zhuǎn)化為單層前饋神經(jīng)網(wǎng)絡(luò)(single-hidden layer feedforward networks,SLFNs)的通用逼近能力:
定理2如果激活函數(shù)無限可微,權(quán)重和偏置向量w和b依連續(xù)概率隨機選取,那么具有n個隱藏節(jié)點的SLFNs 能以零誤差逼近n個不同樣本。此定理在文獻(xiàn)[25]中已給出詳細(xì)證明。
根據(jù)上述定理,對于任意光滑函數(shù)fs∈L2(χ),存在一個系列,對于?ε>0,有。而根據(jù)定理1 證明,函數(shù)f是連續(xù)可微的光滑函數(shù)。
因此,
因此,定理2 成立,可以得出結(jié)論:
證明成立。
基于以上結(jié)論,可以提出FRMFNN 的基本算法,算法的實現(xiàn)步驟如算法1 所示。
算法1FRMFNN 基本算法
FRMFNN 算法的時間復(fù)雜度主要包括四個部分,分別對應(yīng)上述算法過程中的四個步驟。在步驟1中時間復(fù)雜度集中于第一層隱藏節(jié)點的計算,其時間復(fù)雜度為O(Ndn)。同樣,步驟2 中第二層隱藏節(jié)點的計算的時間復(fù)雜度為O(Nnm),其中N為輸入訓(xùn)練樣本數(shù),d為輸入樣本特征維數(shù),n為第一層隱藏節(jié)點數(shù),m為第二層隱藏節(jié)點數(shù)。在步驟3 中,計算偽逆時,當(dāng)m≤N,即隱層節(jié)點數(shù)小于訓(xùn)練樣本個數(shù),此時時間復(fù)雜度為O(m2N);而當(dāng)訓(xùn)練樣本數(shù)小于隱層節(jié)點個數(shù),即m>N時,偽逆計算的時間復(fù)雜度為O(N2m)。在步驟4 中,計算輸出權(quán)重的時間復(fù)雜度為O(mNc),其中,c為目標(biāo)類別數(shù)。
本文提出的基于隨機映射特征的四層神經(jīng)網(wǎng)絡(luò)(FRMFNN)結(jié)構(gòu)與前面提到的寬度學(xué)習(xí)系統(tǒng)(BLS)都是基于隨機功能鏈路神經(jīng)網(wǎng)絡(luò)(RVFLNN)的結(jié)構(gòu),生成一系列的隨機權(quán)重,對原始數(shù)據(jù)特征進(jìn)行隨機特征映射。不同的是,BLS 把隨機特征進(jìn)行再次映射轉(zhuǎn)化為增強節(jié)點后,把特征映射節(jié)點Zn和增強節(jié)點Hm結(jié)合起來,傳輸?shù)捷敵鰧覻中,如圖2 所示。而本文提出的FRMFNN 輸入數(shù)據(jù)通過一系列的特征映射轉(zhuǎn)化成隨機特征,這些隨機特征通過非線性激活函數(shù)進(jìn)一步連接到隱藏層后,隨機特征節(jié)點和隱藏節(jié)點不再結(jié)合到一起傳輸?shù)捷敵鰧樱请[藏節(jié)點直接傳輸?shù)捷敵鰧印_@樣,網(wǎng)絡(luò)剔除了特征傳輸過程中的冗余部分,結(jié)構(gòu)更加簡單,并且具有良好的分類和回歸特性。
Fig.2 Framework of typical BLS圖2 典型寬度學(xué)習(xí)系統(tǒng)的模型框架
給定N個訓(xùn)練樣本{X,T},特征域X∈?N×d,目標(biāo)域T∈?N×c,設(shè)FRMFNN 網(wǎng)絡(luò)第一層隱藏層具有n個隱藏層神經(jīng)元,其特征映射函數(shù)為ζ(?),第二層隱藏層中具有m個隱藏層神經(jīng)元且激活函數(shù)為g(?),則網(wǎng)絡(luò)的數(shù)學(xué)模型表示為:
上述偽逆快速學(xué)習(xí)算法是線性方程組的最小二乘估計,是一個基于經(jīng)驗風(fēng)險最小化原理的學(xué)習(xí)過程,其目標(biāo)是在訓(xùn)練誤差最小的情況下獲得輸出權(quán)值,訓(xùn)練出的模型容易產(chǎn)生過擬合現(xiàn)象,而正則化理論可以有效地解決這個問題。在正則化方法中,將一項L2懲罰項加入到損失函數(shù)中,這成為了L2正則化,它也被稱為嶺回歸(ridge regression)[26],由此下列優(yōu)化問題成為求解偽逆的另一種方法:
設(shè)需要被最小化的目標(biāo)函數(shù)如下:
對β進(jìn)行微分可以得到:
讓梯度為0,可以得到:
易得:
于是可得:
其中,當(dāng)m≤N時,即隱層節(jié)點數(shù)小于訓(xùn)練樣本個數(shù),此時I為m×m維單位矩陣;而當(dāng)訓(xùn)練樣本數(shù)小于隱層節(jié)點個數(shù),即m>N時,利用Woodbury 公式可以等價地求出,此時I為N×N維單位矩陣,顯然這種情況下計算N×N維逆矩陣要比計算m×m維逆矩陣高效得多。這樣,就可以快速地求出網(wǎng)絡(luò)的輸出權(quán)重。
在很多情況下,網(wǎng)絡(luò)的輸入數(shù)據(jù)和網(wǎng)絡(luò)的神經(jīng)元個數(shù)不是恒定不變的,在動態(tài)變化的環(huán)境中,或者當(dāng)網(wǎng)絡(luò)的輸出精度不足時,可以增加輸入訓(xùn)練樣本或者增加網(wǎng)絡(luò)的各隱藏層節(jié)點數(shù)來增加網(wǎng)絡(luò)輸出精度,很多傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)在增加了新的節(jié)點或者訓(xùn)練樣本后,需要對網(wǎng)絡(luò)的權(quán)重進(jìn)行重新訓(xùn)練,這樣的過程非常耗時,而FRMFNN 算法可以進(jìn)行快速的增量學(xué)習(xí),當(dāng)網(wǎng)絡(luò)中新增加訓(xùn)練樣本或者特征節(jié)點、隱藏節(jié)點時,不需要對整個網(wǎng)絡(luò)進(jìn)行重新訓(xùn)練,而僅需對新增部分對應(yīng)的權(quán)重進(jìn)行訓(xùn)練即可,大大節(jié)省了網(wǎng)絡(luò)的訓(xùn)練時間。下面對FRMFNN 的三種增量學(xué)習(xí)形式進(jìn)行討論。
2.2.1 第二層隱藏節(jié)點的增量
其中,
所以,
從上述公式可以看出,增加增強節(jié)點后只需要計算新增部分的權(quán)重而不需要重新計算整個的權(quán)重,使網(wǎng)絡(luò)能夠快速學(xué)習(xí)。具體算法過程詳見算法2。
算法2FRMFNN 增量算法:第二層隱藏節(jié)點的增量
輸入:原始網(wǎng)絡(luò)中的最終連接權(quán)重β,第一層隱層Hf和第二層隱層He以及偽逆(He)+,訓(xùn)練樣本標(biāo)簽T。
上述增量算法的時間復(fù)雜度包括四部分,分別對應(yīng)上述四個步驟,設(shè)N為輸入訓(xùn)練樣本數(shù),d為初始輸入樣本特征維數(shù),p為新增第二層隱藏節(jié)點個數(shù),n為第一層隱藏節(jié)點數(shù),m為第二層隱藏節(jié)點數(shù),c為目標(biāo)類別數(shù)。步驟1 中時間復(fù)雜度集中于隱藏層新節(jié)點的計算,為O(Nnp),步驟2 中更新第二層隱藏層輸出矩陣的時間復(fù)雜度為O(1),步驟3 中計算更新后的第二層隱藏層輸出矩陣的偽逆的時間復(fù)雜度為O(3mNp+2p2m+Nnp),步驟4 中計算輸出權(quán)重的偽逆的時間復(fù)雜度為O((m+p)Nc)。于是此增量算法時間復(fù)雜度為O(Nnp+1+3mNp+2p2m+pnN+(m+p)Nc)。由于通常情況下新增隱藏節(jié)點數(shù)量p?N,p?m,p?n且c?N,因此算法時間復(fù)雜度為O(Nnp+mNp+pnN+mNc) 。而如果選擇對網(wǎng)絡(luò)進(jìn)行重新訓(xùn)練,每一次重新訓(xùn)練的時間復(fù)雜度為,化簡后為,而由于p?N,p?m,p?n且c?N,顯然重新訓(xùn)練的時間復(fù)雜度將遠(yuǎn)大于增量學(xué)習(xí)算法的時間復(fù)雜度。
2.2.2 第一層隱藏節(jié)點的增量
當(dāng)模型精度不夠時,可以往網(wǎng)絡(luò)第一層隱藏層中增添新的特征節(jié)點,多提取一些有用特征。在FRMFNN 中實現(xiàn)新特征映射的增加非常方便,并且可以通過增量學(xué)習(xí)算法容易地訓(xùn)練新的連接權(quán)重,類似于上述添加新的隱藏節(jié)點。
設(shè)原FRMFNN 網(wǎng)絡(luò)第一層隱藏層中有n組隱藏節(jié)點,第二層隱藏層中有m組隱藏節(jié)點,需要在網(wǎng)絡(luò)中增加第n+1 組隱藏節(jié)點,定義為:
則其所連接的第二層隱藏層節(jié)點的輸出為:
其中:
于是,更新后的權(quán)重為:
具體算法過程詳見算法3。
算法3FRMFNN 增量算法:第一層隱藏節(jié)點的增量
輸入:原網(wǎng)絡(luò)中的網(wǎng)絡(luò)權(quán)重β,第一層隱層Hf和第二層隱層He以及偽逆(He)+,訓(xùn)練樣本標(biāo)簽T。
上述增量學(xué)習(xí)算法時間復(fù)雜度主要包括上述四部分,假設(shè)增加1 組第一層隱藏節(jié)點,設(shè)N為輸入訓(xùn)練樣本數(shù),d為輸入樣本特征維數(shù),n為第一層隱藏節(jié)點數(shù),m為第二層隱藏節(jié)點數(shù),c為目標(biāo)類別數(shù),k為新增的第一層特征映射節(jié)點所對應(yīng)的第二層隱藏節(jié)點數(shù)。此時步驟1 中的時間復(fù)雜度為O(nd),步驟2中計算新增節(jié)點對應(yīng)的第二層隱藏層節(jié)點的時間復(fù)雜度為O(Nk),步驟3 中計算第二層隱藏層新輸出矩陣的偽逆的時間復(fù)雜度為O(3mkN+2k2m),步驟4 中計算連接權(quán)值的時間復(fù)雜度為O((m+k)Nc)。綜上所述,第一層隱藏節(jié)點的增量算法的時間復(fù)雜度為O(nd+Nk+3mkN+2mk2+(m+k)Nc)≈O(mNk+mNc) 。而重新訓(xùn)練整個網(wǎng)絡(luò)的時間復(fù)雜度為,一般情況下,1 2.2.3 輸入數(shù)據(jù)的增量 在實際應(yīng)用中,訓(xùn)練數(shù)據(jù)集并不是一次性獲取的,當(dāng)一些新的訓(xùn)練數(shù)據(jù)加入到網(wǎng)絡(luò)中時,就需要動態(tài)更新網(wǎng)絡(luò)的輸出權(quán)重,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)通常使用的方法是重新訓(xùn)練整個訓(xùn)練集,這樣會對已經(jīng)計算過的數(shù)據(jù)進(jìn)行重新訓(xùn)練,這個過程會浪費大量的時間。在FRMFNN 網(wǎng)絡(luò)中,只需要更新新增的樣本部分及其對應(yīng)的映射特征節(jié)點和隱藏節(jié)點的權(quán)重就可以適應(yīng)新的訓(xùn)練集,不僅減少了時間的消耗,還能更好地滿足實際應(yīng)用。詳細(xì)過程如下: 記{Xa,Ya}為新增的訓(xùn)練數(shù)據(jù),則由Xa映射的特征節(jié)點為: 則新輸入數(shù)據(jù)的第二層隱藏層的輸出矩陣為: 更新后的網(wǎng)絡(luò)的權(quán)重可以通過下式計算: 其中, 同樣,增加新的輸入數(shù)據(jù)后的網(wǎng)絡(luò)只需計算包含Hea部分的權(quán)重,大大節(jié)約了計算時間。具體算法過程詳見算法4。 算法4FRMFNN 增量算法:增加訓(xùn)練樣本Xa 輸入:新增訓(xùn)練樣本{Xa,Ya},原網(wǎng)絡(luò)中的網(wǎng)絡(luò)權(quán)重β,第一層隱層Hf和第二層隱層He以及偽逆(He)+,初始樣本標(biāo)簽。 上述增量學(xué)習(xí)部分的算法復(fù)雜度主要包括三部分,對應(yīng)上述三個步驟。假設(shè)新增a個訓(xùn)練樣本,并設(shè)N為輸入訓(xùn)練樣本數(shù),d為輸入樣本特征維數(shù),n為第一層隱藏節(jié)點數(shù),m為第二層隱藏節(jié)點數(shù),c為目標(biāo)類別數(shù),則在步驟1 中計算新輸入樣本的對應(yīng)第一層隱藏層節(jié)點的時間復(fù)雜度為O(adn),步驟2 中計算對應(yīng)新增第二層隱藏層的時間復(fù)雜度為O(anm),步驟3 中更新網(wǎng)絡(luò)輸出權(quán)重的時間復(fù)雜度為O(a2N+2m2N+amN+2amc),c?N,m,n,因此,輸入數(shù)據(jù)增量算法時間復(fù)雜度為O(adn+amn+a2N+2m2N+amN),而重新訓(xùn)練網(wǎng)絡(luò)的時間復(fù)雜度為由上述分析可以看出,所提算法的時間復(fù)雜度只與訓(xùn)練樣本的數(shù)據(jù)量和其隱藏節(jié)點數(shù)有關(guān),如果增加的樣本數(shù)遠(yuǎn)大于原始的樣本數(shù),則理論上會增大算法的時間復(fù)雜度。但是在實際應(yīng)用中這種情況并不多見。如果增加的訓(xùn)練樣本數(shù)沒有原始樣本數(shù)多,則對算法的時間復(fù)雜度沒有影響??梢娫趯嶋H情況中,應(yīng)用增量算法的時間復(fù)雜度將比多次重新訓(xùn)練網(wǎng)絡(luò)的復(fù)雜度要小得多。 為了檢驗基于隨機映射特征的四層神經(jīng)網(wǎng)絡(luò)(FRMFNN)的函數(shù)逼近性能,本章在大量的回歸和分類數(shù)據(jù)集上檢驗其網(wǎng)絡(luò)的函數(shù)逼近效果,并對比了寬度學(xué)習(xí)系統(tǒng)的分類和回歸模型。為保證實驗結(jié)果的真實準(zhǔn)確,每個數(shù)據(jù)集對應(yīng)的分類及回歸實驗都進(jìn)行了10 次實驗,然后計算其平均值和標(biāo)準(zhǔn)差作為最終結(jié)果。對于分類問題,本文采用常用的準(zhǔn)確率(accuracy)作為衡量指標(biāo);對于回歸問題,采用均方根誤差(RMSE)評估算法的預(yù)測性能。 本文所有實驗均在同一環(huán)境下完成,采用在Windows 10 環(huán)境下搭建系統(tǒng),計算機處理器配置為Intel?CoreTMi3-4150 CPU@3.5 GHz,內(nèi)存4 GB,主算法在Python3.7 中完成。在實驗中,嶺回歸的正則化參數(shù)λ通過網(wǎng)格搜索從{2-24,2-23,…,225}中確定,在生成初始權(quán)重時可以選擇任意的隨機分布,如高斯分布、均勻分布等。在實驗中,由于對于初始特征是毫無了解的,因此對于特征的隨機選擇應(yīng)該是不具有偏向性的,對于每一個特征的選擇機會都應(yīng)該是均等的,故實驗中初始權(quán)重和偏置,i=1,2,…,n,j=1,2,…,m,抽取自[-1,1]的標(biāo)準(zhǔn)均勻分布。在建立第二層隱層時,選用Sigmoid 函數(shù)作為激活函數(shù)。 本節(jié)實驗從國際通用的加州大學(xué)歐文分校的UCI 數(shù)據(jù)庫[27]中選擇了10 個回歸數(shù)據(jù)集,它們分為3類:小尺寸低維度、中等尺寸中等維度、大尺寸低維度。表1 列出了數(shù)據(jù)集的詳細(xì)信息。這些數(shù)據(jù)將用于比較FRMFNN 模型和BLS 模型。 Table 1 Details of UCI data sets for regession表1 UCI回歸數(shù)據(jù)集的詳細(xì)信息 模型的參數(shù)對于回歸模型是否具有良好性能具有很大影響,因此為了進(jìn)行公平的對比,需要選擇合適的參數(shù)。對于BLS 模型和FRMFNN 模型的3 個參數(shù):第一層隱藏層映射特征節(jié)點個數(shù)Nf,映射組個數(shù)Nm,第二層隱藏層隱節(jié)點個數(shù)Ne使用網(wǎng)格搜索分別從[1,10],[1,30],[1,200]范圍內(nèi)搜索,搜索步長為1。各模型參數(shù)的設(shè)置詳見表2。 表中每個數(shù)據(jù)集從10 次運行結(jié)果中選擇最佳結(jié)果,并計算10 次結(jié)果的平均值與標(biāo)準(zhǔn)差,所對應(yīng)的每個模型的均方根誤差(RMSE)在表3中給出。由表2、表3 可以看出,F(xiàn)RMFNN 在10 個函數(shù)逼近數(shù)據(jù)集上的回歸測試精度與BLS 模型相近,而在模型結(jié)構(gòu)上,F(xiàn)RMFNN 在訓(xùn)練過程中需要的隱節(jié)點總數(shù)比BLS 要少得多。充分證明了FRMFNN模型的函數(shù)逼近能力。 本節(jié)使用了MNIST 手寫數(shù)字?jǐn)?shù)據(jù)集[28]、NORB數(shù)據(jù)集[29]和3 個UCI 分類數(shù)據(jù)集對FRMFNN 模型的分類性能進(jìn)行了檢驗,并與BLS 模型在相同的數(shù)據(jù)集上進(jìn)行了比較。 3.2.1 MNIST 數(shù)據(jù)集和NORB 數(shù)據(jù)集 在本小節(jié)中,在經(jīng)典的MNIST 手寫數(shù)字圖像和NORB 數(shù)據(jù)集上進(jìn)行了一系列實驗。MNIST 數(shù)據(jù)集包括70 000個手寫數(shù)字,這些數(shù)字被劃分為包含60 000個樣本的訓(xùn)練集和10 000 個樣本的測試集。每個數(shù)字由尺寸為28×28 像素的灰度圖像表示。NORB 數(shù)據(jù)集相比MNIST 更加復(fù)雜,共有48 600 個圖像,每個圖像具有2×32×32 像素。NORB 包含50 個不同的3D玩具物體的圖像,這些物體屬于5 種不同的類別:動物、人類、飛機、卡車和汽車。采樣對象在不同光照條件、高度、方位上成像,其中訓(xùn)練集包含25 個物體(每類5 個)共24 300 幅立體圖像,測試集包含其余25個物體的24 300 幅圖像。 為了測試FRMFNN 模型在分類數(shù)據(jù)集上的準(zhǔn)確性和效率,在本文的實驗中,使用網(wǎng)格尋優(yōu)尋找最優(yōu)參數(shù)。在BLS 網(wǎng)絡(luò)模型中,對于MNIST 數(shù)據(jù)集由總共10×10 個特征節(jié)點和1×11 000 個增強節(jié)點構(gòu)成,對于NORB 數(shù)據(jù)集由100×10 個特征節(jié)點和1×9 000 個增強節(jié)點組成。FRMFNN 模型的3 個參數(shù):隨機映射特征個數(shù)Nf,映射組個數(shù)Nm,隱藏節(jié)點個數(shù)Ne,通過網(wǎng)格搜索分別從[1,20],[1,20],[5 000,15 000]中搜索,Nf和Nm的搜索步長為1,Ne的搜索步長為100。各模型的參數(shù)設(shè)置詳見表4。 Table 3 RMSE comparison of BLS and FRMFNN on data sets for regression表3 BLS 和FRMFNN 用于回歸數(shù)據(jù)集的均方根誤差比較 Table 4 Parameter settings of BLS and FRMFNN for MNIST and NORB data sets表4 用于MNIST 和NORB 數(shù)據(jù)集的BLS 和FRMFNN 的參數(shù)設(shè)置 分類實驗結(jié)果在表5 中顯示。可見,F(xiàn)RMFNN模型對于MNIST 數(shù)據(jù)集僅需要8×11 個和9 400 個隱藏節(jié)點,并且分類精度比BLS 模型更高;而對于NORB 數(shù)據(jù)集FRMFNN 模型在達(dá)到與BLS 模型相似的分類精度時僅需要9×8 個和9 600 個隱藏節(jié)點。兩個數(shù)據(jù)集中FRMFNN 模型結(jié)構(gòu)都比BLS 簡單,參數(shù)規(guī)模更小,有力地證明了FRMFNN 的有效性。 3.2.2 UCI數(shù)據(jù)集 本小節(jié)中選取了3 個UCI 數(shù)據(jù)集,隨機選取數(shù)據(jù)集70%的樣本作為訓(xùn)練集,剩余部分作為測試集,數(shù)據(jù)集的詳細(xì)信息在表6 中列出。在實驗過程中通過網(wǎng)格尋優(yōu)法來尋找各個數(shù)據(jù)集對應(yīng)FRMFNN 的3 個參數(shù):特征節(jié)點個數(shù)Nf,映射組個數(shù)Nm,增強節(jié)點個數(shù)Ne,通過網(wǎng)格搜索分別從[1,20],[1,20],[500,12 000]中搜索,Nf和Nm的搜索步長為1,Ne的搜索步長為100,尋優(yōu)結(jié)果在表7 中顯示。各個數(shù)據(jù)集的分類準(zhǔn)確率實驗結(jié)果在表8 中顯示。 Table 5 Accuracy comparison of BLS and FRMFNN on data sets for classification表5 BLS 和FRMFNN 用于分類的數(shù)據(jù)集的準(zhǔn)確率比較 % Table 6 Details of UCI data sets for classification表6 UCI分類數(shù)據(jù)集的詳細(xì)信息 Table 7 Parameter settings of BLS and FRMFNN for UCI data sets表7 用于UCI數(shù)據(jù)集的BLS 和FRMFNN 的參數(shù)設(shè)置 Table 8 Classification accuracy comparison of BLS and FRMFNN for UCI data sets表8 BLS 和FRMFNN 用于UCI數(shù)據(jù)集的分類準(zhǔn)確度比較 % 從表8 中可以看出相比于BLS,F(xiàn)RMFNN 在3 個數(shù)據(jù)集中Robot Navigation 數(shù)據(jù)集的測試精度與BLS相當(dāng),Letter 數(shù)據(jù)集和USPS 數(shù)據(jù)集的測試精度都略高于BLS,并且FRMFNN 中的隱節(jié)點數(shù)相比BLS 要少,從參數(shù)規(guī)模和分類精度上顯示了FRMFNN的優(yōu)勢。 本節(jié)將通過在MNIST 數(shù)據(jù)集上的一系列實驗,并與ELM 的兩個增量模型I-ELM 和OS-ELM 進(jìn)行對比來驗證增量學(xué)習(xí)算法的有效性。使用3 種不同的初始網(wǎng)絡(luò)來測試增量學(xué)習(xí): (1)增加第二層隱藏節(jié)點數(shù),設(shè)置初始網(wǎng)絡(luò)結(jié)構(gòu)第二層由8×11 個映射特征節(jié)點,第三層由3 000 個隱藏節(jié)點組成,然后每次動態(tài)地向網(wǎng)絡(luò)中第二層隱藏層中增加1 280 個隱藏節(jié)點,增加5 次,達(dá)到9 400 個隱藏節(jié)點,并與I-ELM 增量模型實驗對比,每一次更新結(jié)果在表9 中列出。 Table 9 Classification accuracy of I-FRMFNN and I-ELM using incremental learning表9 I-FRMFNN 和I-ELM 增量學(xué)習(xí)分類精度 (2)增加第一層隱層的特征節(jié)點數(shù),其對應(yīng)的第二層隱藏節(jié)點也需要隨之增加,在這里使用3 個動態(tài)增量來進(jìn)行動態(tài)增量學(xué)習(xí):①第一層隱層特征節(jié)點;②新增特征節(jié)點對應(yīng)的第二層隱藏節(jié)點;③新增的第二層隱層節(jié)點。設(shè)置初始網(wǎng)絡(luò)結(jié)構(gòu)第一層由8×7個特征節(jié)點,第二層隱藏層由5 400 個隱藏節(jié)點組成,然后每次動態(tài)地向網(wǎng)絡(luò)中第一層隱藏層中的特征節(jié)點由8×7 個增加4 次,達(dá)到8×11 個,每次所增加的特征節(jié)點所對應(yīng)增加的第二層隱層節(jié)點數(shù)目為250,每次額外增加的隱節(jié)點數(shù)為750,最終達(dá)到9 400個,每一次更新結(jié)果在表10 中列出。 ^qUxJg$cf6532179d12d99fb699a7a04fac298140459fca4 (3)增加訓(xùn)練樣本數(shù),初始網(wǎng)絡(luò)取MNIST 數(shù)據(jù)集中的前10 000 個訓(xùn)練樣本進(jìn)行訓(xùn)練,然后應(yīng)用增量學(xué)習(xí)算法,每次動態(tài)地向網(wǎng)絡(luò)中添加10 000 個輸入樣本,直到60 000 個訓(xùn)練樣本都被輸入。測試網(wǎng)絡(luò)中的參數(shù)設(shè)置為第一層隱藏層8×11 個特征節(jié)點和第二層隱藏層5 000 個隱藏節(jié)點,并在相同模型參數(shù)下與OS-ELM 模型進(jìn)行對比實驗,每一次更新結(jié)果在表11 中列出。 Table 11 Classification accuracy of I-FRMFNN and OS-ELM using incremental learning表11 I-FRMFNN 和OS-ELM 增量學(xué)習(xí)算法分類精度 在實驗中本文選取了和FRMFNN 模型類似的基于隨機特征選取的ELM 增量模型進(jìn)行對比實驗:增加隱藏節(jié)點的I-ELM 模型和增加輸入數(shù)據(jù)的OSELM 模型。為了保證公平性,選取了和FRMFNN 相同的參數(shù)規(guī)模,I-ELM 在線序列學(xué)習(xí)模型隱藏節(jié)點參數(shù)逐個增加到3 000,OS-ELM 初始網(wǎng)絡(luò)取MNIST 數(shù)據(jù)集中的前10 000 個訓(xùn)練樣本進(jìn)行訓(xùn)練,每次動態(tài)地向網(wǎng)絡(luò)中添加10 000 個輸入樣本,直到60 000 個訓(xùn)練樣本都被輸入。每次增量的實驗精度變化在圖3 中顯示,其中圖3(a)顯示第二層隱藏節(jié)點的增量實驗精度變化,圖3(b)顯示輸入樣本的增量實驗的精度變化,可以看出FRMFNN 模型經(jīng)過增量學(xué)習(xí)的結(jié)果與其一次性訓(xùn)練的結(jié)果相比非常接近,每一次增量學(xué)習(xí)增加隱藏節(jié)點或者增加訓(xùn)練樣本,對于網(wǎng)絡(luò)的輸出精度的提高比較穩(wěn)定,而由于參數(shù)隨機性的問題會有所波動,但整體在提高。并且,每一次增量學(xué)習(xí)訓(xùn)練耗時非常短,而若對網(wǎng)絡(luò)進(jìn)行重新訓(xùn)練,隨著隱藏節(jié)點或訓(xùn)練樣本的增加,每一次重新訓(xùn)練的時長也在增加,根據(jù)表中所得實驗結(jié)果,可以看出對網(wǎng)絡(luò)進(jìn)行增量學(xué)習(xí)的訓(xùn)練時間比多次重新訓(xùn)練網(wǎng)絡(luò)的耗時少得多。而I-ELM 和OS-ELM 增量模型的訓(xùn)練非常耗時,在分類精度上增量算法所得精度也不如一次訓(xùn)練的結(jié)果。以上實驗結(jié)果充分表明了增量學(xué)習(xí)算法的有效性和優(yōu)勢。 Fig.3 Accuracy variation curves of incremental learning圖3 增量學(xué)習(xí)精度變化圖 針對數(shù)據(jù)的分類和回歸問題,本文提出了一種基于隨機特征映射的四層神經(jīng)網(wǎng)絡(luò)并提出了它的增量學(xué)習(xí)算法。該算法通過改進(jìn)功能鏈路神經(jīng)網(wǎng)絡(luò),其各層隱層權(quán)重都是通過標(biāo)準(zhǔn)均勻分布隨機生成的,并且在第一層隱藏層中對輸入特征做了稀疏化處理,最后利用嶺回歸算法求偽逆計算出最終輸出權(quán)重。在訓(xùn)練過程中可以動態(tài)地對網(wǎng)絡(luò)進(jìn)行增量學(xué)習(xí),向網(wǎng)絡(luò)中添加特征節(jié)點和隱藏節(jié)點或者輸入新的訓(xùn)練樣本而不需要對全部網(wǎng)絡(luò)權(quán)重進(jìn)行重新訓(xùn)練。文中將提出的算法應(yīng)用于常見的分類和回歸數(shù)據(jù)集中做了大量實驗,并與BLS 和ELM 的增量算法進(jìn)行了對比。實驗結(jié)果表明:FRMFNN 模型擁有比寬度學(xué)習(xí)等神經(jīng)網(wǎng)絡(luò)模型更簡單的模型結(jié)構(gòu)和更小的參數(shù)規(guī)模,并且可以在各分類和回歸數(shù)據(jù)集上取得和目前BLS 模型相當(dāng)?shù)慕Y(jié)果,在增量學(xué)習(xí)中的表現(xiàn)不論從訓(xùn)練速度還是分類精度上,都優(yōu)于I-ELM和OS-ELM 模型,顯示了FRMFNN 模型的優(yōu)勢。下一步將對隨機映射神經(jīng)網(wǎng)絡(luò)的各種結(jié)構(gòu)進(jìn)行更加深入的研究,對其在增量學(xué)習(xí)時隨機映射的穩(wěn)定性提出更好的解決辦法。3 實驗及結(jié)果分析
3.1 回歸
3.2 分類
3.3 增量學(xué)習(xí)
4 結(jié)束語