黃婷婷 馮 鋒
(寧夏大學(xué)信息工程學(xué)院 寧夏 銀川 750021)
近年來(lái),前饋神經(jīng)網(wǎng)絡(luò)(FNNs)以其結(jié)構(gòu)的靈活性和良好的表示能力而受到越來(lái)越多的關(guān)注。前饋神經(jīng)網(wǎng)絡(luò)(FNNs)具有自適應(yīng)特性和普遍逼近特性,在回歸和分類中得到了廣泛的應(yīng)用,同時(shí)為大量的自然和人為現(xiàn)象提供了研究模型,已經(jīng)應(yīng)用于科學(xué)研究和工程的各個(gè)領(lǐng)域。在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)理論中,FNNs的所有參數(shù),例如輸入權(quán)值、偏置和輸出權(quán)值都需要在特定的情況下進(jìn)行調(diào)整,但由于網(wǎng)絡(luò)結(jié)構(gòu)的層次性,這一過(guò)程復(fù)雜并且低效。通常采用基于梯度的優(yōu)化方法,如反向傳播(BP)算法,但是這種方法通常存在局部極小值、收斂速度慢和學(xué)習(xí)速度敏感等問(wèn)題。此外,一些參數(shù),如隱藏節(jié)點(diǎn)的數(shù)量或?qū)W習(xí)算法參數(shù),必須手動(dòng)調(diào)整[1-6]。針對(duì)這一系列的問(wèn)題,具有隨機(jī)權(quán)值的前饋神經(jīng)網(wǎng)絡(luò)(FNNRWs)應(yīng)運(yùn)而生。FNNRWs是Schmidt等[7]在1992首次提出的,其中輸入權(quán)值和偏置隨機(jī)分配,均勻分布在[-1,1]中,輸出權(quán)值可以用著名的最小二乘法進(jìn)行分析確定。許多文獻(xiàn)的仿真研究表明,隨機(jī)化模型與完全適應(yīng)模型相比具有較高的性能,提供了更簡(jiǎn)單的實(shí)現(xiàn)和更快的訓(xùn)練速度。
從理論上講,輸入權(quán)值和偏置的隨機(jī)分配很明顯不能保證全局的逼近能力[8-9]。針對(duì)各種各樣的側(cè)重點(diǎn),隨機(jī)學(xué)習(xí)算法層出不窮。例如,文獻(xiàn)[3]提出了一種具有隨機(jī)權(quán)值的前饋神經(jīng)網(wǎng)絡(luò)迭代學(xué)習(xí)算法;文獻(xiàn)[6]對(duì)隨機(jī)權(quán)重網(wǎng)絡(luò)的稀疏算法及隨機(jī)單隱層前饋神經(jīng)網(wǎng)絡(luò)元啟發(fā)式優(yōu)化進(jìn)行了研究;文獻(xiàn)[9]為了確保普遍逼近性質(zhì),針對(duì)隨機(jī)權(quán)值和偏置的約束,推動(dòng)了神經(jīng)網(wǎng)絡(luò)隨機(jī)化方法的發(fā)展;文獻(xiàn)[10]對(duì)隨機(jī)向量函數(shù)鏈網(wǎng)絡(luò)的分布式學(xué)習(xí)進(jìn)行了研究;文獻(xiàn)[11]提出了一種利用隨機(jī)權(quán)值神經(jīng)網(wǎng)絡(luò)進(jìn)行魯棒建模的概率學(xué)習(xí)算法。此外,文獻(xiàn)[12]對(duì)于神經(jīng)網(wǎng)絡(luò)的隨機(jī)化方法進(jìn)行了完整的論述。但是,隨著信息技術(shù)的不斷發(fā)展,數(shù)據(jù)處在一個(gè)爆炸增長(zhǎng)的階段。隨之而來(lái)的問(wèn)題就是NNRWs模型中數(shù)據(jù)樣本或神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)的數(shù)量變得非常大,從而計(jì)算輸出權(quán)值的方法非常耗時(shí)。針對(duì)這個(gè)問(wèn)題,在過(guò)去的幾十年里,也有很多關(guān)于大規(guī)模數(shù)據(jù)建模問(wèn)題的研究。文獻(xiàn)[13]描述了如何在大數(shù)據(jù)集上有效地訓(xùn)練基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型;文獻(xiàn)[14]介紹了一個(gè)用于大規(guī)模數(shù)據(jù)建模和分類的節(jié)能框架;文獻(xiàn)[15]分析了一種便于神經(jīng)網(wǎng)絡(luò)大規(guī)模建模的種群密度方法;文獻(xiàn)[16]提出了一種用于大規(guī)模神經(jīng)網(wǎng)絡(luò)訓(xùn)練的并行計(jì)算平臺(tái);文獻(xiàn)[17]介紹了一種用于大規(guī)模神經(jīng)網(wǎng)絡(luò)仿真的多處理機(jī)結(jié)構(gòu)。其中處理大規(guī)模數(shù)據(jù)集的最簡(jiǎn)單的策略可能是通過(guò)子抽樣減少數(shù)據(jù)集的大小。這種分解方法首先是由Osuna等[18-19]提出的,Lu等[20]也提出過(guò)該方法,用于解決模式分類問(wèn)題。不過(guò)本文所采用的對(duì)于大規(guī)模數(shù)據(jù)處理的方法與文獻(xiàn)[21-22]提出的貝葉斯委員會(huì)支持向量機(jī)(Bayesian committee SVM)處理大規(guī)模數(shù)據(jù)的方法類似。這種方法是將數(shù)據(jù)集劃分為大小相同的子集,并從各個(gè)子集派生出一些模型,各個(gè)子模型單獨(dú)訓(xùn)練,最后進(jìn)行匯總得出最終的結(jié)論。
本文針對(duì)大規(guī)模數(shù)據(jù)集,研究了基于分解技術(shù)的具有隨機(jī)權(quán)值的前饋神經(jīng)網(wǎng)絡(luò)模型。本文主要采用的方法就是將樣本隨機(jī)地分為大小相同的小子集,每個(gè)子集派生出相對(duì)應(yīng)的子模型。在具有隨機(jī)權(quán)值的前饋神經(jīng)網(wǎng)絡(luò)中,決定非線性特征映射的隱藏節(jié)點(diǎn)的權(quán)值和偏差是隨機(jī)設(shè)置的,不需要學(xué)習(xí)。選擇適當(dāng)?shù)膮^(qū)間來(lái)選擇權(quán)重和偏差是非常重要的。這個(gè)話題在很多文獻(xiàn)中還沒(méi)有得到充分的探討。本文所采用的方法根據(jù)激活函數(shù)計(jì)算出最優(yōu)的輸入權(quán)值和偏置的取值范圍,每個(gè)子模型在該最優(yōu)取值范圍內(nèi)初始化相同的輸入權(quán)值和閾值,同時(shí)采用迭代的方案對(duì)輸出權(quán)值進(jìn)行評(píng)估。
前饋神經(jīng)網(wǎng)絡(luò)在很多領(lǐng)域都有廣泛的應(yīng)用,單隱層前饋神經(jīng)網(wǎng)絡(luò)一般描述為:
(1)
式中:x=[x1,x2,…,xn]T∈Rn表示輸入;ωi=[ωi1,ωi2,…,ωin]∈Rn表示輸入權(quán)重;bi∈Rn是偏置;g(·)表示激活函數(shù),激活函數(shù)一般采用比較常見(jiàn)的Sigmoid函數(shù),如式(2)所示;βi∈R表示輸出權(quán)重。前饋神經(jīng)網(wǎng)絡(luò)神經(jīng)元的數(shù)學(xué)模型如圖1所示。
圖1 前饋神經(jīng)網(wǎng)絡(luò)神經(jīng)元的數(shù)學(xué)模型
s={(xj,tj):xj∈Rn,tj∈R,j=1,2,…,M}為訓(xùn)練樣本,針對(duì)該訓(xùn)練樣本有Hβ=T,其中:β=[β1,β2,…,βN]T是輸出權(quán)重;T=[t1,t2,…,tM]T是目標(biāo)輸出。并且:
一般情況下,輸入權(quán)值和偏置都是隨機(jī)分配的,并且ωi~U(ωmin,ωmax),bi~U(bmin,bmax),輸出權(quán)值可以通過(guò)著名的最小二乘法來(lái)確定。
式中:β=(HTH)-1HTT。但最小二乘問(wèn)題一般是不適定的,可以使用L2正則化方法來(lái)解決這類問(wèn)題:
式中:μ>0是一個(gè)正則化因子。如果HTH+μI是可逆的,則式(5)可以寫成:
β=(HTH+μI)-1HTT
(6)
式中:I表示單位矩陣。
針對(duì)大規(guī)模數(shù)據(jù),將樣本隨機(jī)分為m個(gè)部分,s={s1,s2,…,sm},對(duì)于每一個(gè)子集si派生出相對(duì)應(yīng)的子模型,初始化相同的輸入權(quán)值和偏置,計(jì)算隱含層輸出矩陣Hsi,并且使Hsi為正定矩陣。同時(shí),在初始化子模型的過(guò)程中,每個(gè)子模型的隱含層輸出矩陣Hsi和目標(biāo)輸出Tsi等相關(guān)的參數(shù)會(huì)確定下來(lái),在后期計(jì)算過(guò)程中不再發(fā)生改變。整體結(jié)構(gòu)如圖2所示。
圖2 整體結(jié)構(gòu)
在本文算法中,激活函數(shù)使用最常見(jiàn)的Sigmoid函數(shù),為方便起見(jiàn),激活函數(shù)可以記為:
式中:參數(shù)ω是輸入權(quán)值,參數(shù)b是偏置,根據(jù)式(7)可以看出參數(shù)b控制g(x)的圖像在x軸上的移動(dòng)。對(duì)激活函數(shù)求導(dǎo)如式(8)所示,可以看出當(dāng)ω>0時(shí),導(dǎo)數(shù)也大于零,也就是激活函數(shù)g(x)的斜率大于零;同理,當(dāng)ω<0時(shí),激活函數(shù)g(x)的斜率也小于零,所以可以將ω作為g(x)的斜率參數(shù)。由圖3可知,當(dāng)x=0時(shí),g(x)=0.5;x=1時(shí),假設(shè)g(x)=r。當(dāng)r=0.5時(shí),g(x)是最平坦的;當(dāng)r=0時(shí),g(x)是最陡峭的??梢钥闯?r控制了激活函數(shù)g(x)的陡峭程度。
圖3 激活函數(shù)中最平坦的部分
當(dāng)x=1時(shí),g(x)=r,當(dāng)偏置b=0時(shí),可以得到:
(9)
通過(guò)式(9)得到:
從激活函數(shù)的圖像中可以看出,圖像中最平坦的區(qū)間在x=1周圍,則:
ω≤-|ω1|或者ω≥|ω1|
(11)
為了更準(zhǔn)確地確定參數(shù)的范圍,令ω2=s·ω1,其中參數(shù)s>1,用來(lái)定義最大的輸入權(quán)值,也就是激活函數(shù)中最陡的部分,則:
ωi∈[-|ω2|,-|ω1|]∪[|ω1|,|ω2|]
(12)
從而得到:
式中:參數(shù)s決定了激活函數(shù)中最陡的部分,其具體取值通過(guò)目標(biāo)函數(shù)來(lái)確定。
對(duì)于參數(shù)b的確定,當(dāng)x∈[0,1]時(shí),根據(jù)圖3可以得到:
(14)
從而可以得到:
b=-ω·x
(15)
對(duì)于x=0,可以得到b的第一個(gè)邊界b1=0;對(duì)于x=1,可以得到b的第二個(gè)邊界b2=-ω。可以看出,偏置b是依賴于輸入權(quán)重ω的,從而可以得到偏置b的范圍為:
在輸入權(quán)值ω和偏置b的隨機(jī)確定過(guò)程中,最優(yōu)的確定范圍如式(16)所示。
在輸出權(quán)值的確定過(guò)程中,隨機(jī)初始化輸出矩陣為β(0),分別計(jì)算局部梯度為:
和全局梯度:
同時(shí)計(jì)算出:
式中:Tsi是第i個(gè)局部模型的目標(biāo)輸出。
在進(jìn)行每次迭代運(yùn)算時(shí)對(duì)每個(gè)局部模型進(jìn)行優(yōu)化:
(20)
為了更好地理解這個(gè)局部模型,引入Bregman散度:
Bψ(β,β′)=ψ(β)-ψ(β′)-▽?duì)?β′)·(β-β′)
(21)
在本算法中,對(duì)于每個(gè)fsi(β),有:
式中:σ是正則化參數(shù)。其對(duì)應(yīng)的Bregman散度為:
(23)
根據(jù)式(23),式(20)可以轉(zhuǎn)化為:
與此同時(shí),根據(jù)泰勒展開式,Bregman散度轉(zhuǎn)化為:
(β-β(t-1))
(25)
從而,式(20)可以更進(jìn)一步轉(zhuǎn)化為:
由上述推導(dǎo),可以得到最終的輸出權(quán)值為:
▽fs(β(t-1))
(27)
本節(jié)對(duì)本文算法的性能進(jìn)行了驗(yàn)證,所有實(shí)驗(yàn)均在MATLAB 7.10.0 (2010a)環(huán)境下進(jìn)行,運(yùn)行奔騰(R)雙核E5400處理器,速度2.70 GHz,內(nèi)存2 GB。算法使用的激活函數(shù)是Sigmoid函數(shù)g(x)=1/(1+e-x)。由于是針對(duì)大規(guī)模數(shù)據(jù)的處理,因此,本文采用的數(shù)據(jù)集是UCI標(biāo)準(zhǔn)數(shù)據(jù)集中的Statlog數(shù)據(jù)集、Bank Marketing數(shù)據(jù)集和Letter Recognition數(shù)據(jù)集。為驗(yàn)證算法的有效性,首先將樣本分為m個(gè)相等的子集,并對(duì)所有樣本進(jìn)行歸一化處理。在實(shí)驗(yàn)過(guò)程中,在計(jì)算輸入權(quán)重和閾值的過(guò)程中選用的參數(shù)r=0.1、s=3。采用的正則化參數(shù)σ=0.05、學(xué)習(xí)速率η=10-3、閾值ε=10-3。
表1-表3分別展示了當(dāng)子集個(gè)數(shù)m=15時(shí)的Statlog數(shù)據(jù)集、子集個(gè)數(shù)m=15時(shí)的Bank Marketing數(shù)據(jù)集和子集個(gè)數(shù)m=10時(shí)的Letter Recognition數(shù)據(jù)集的FNNRWs學(xué)習(xí)算法和優(yōu)化后的FNNRWs學(xué)習(xí)算法的精確度對(duì)比??梢钥闯?隨著樣本的大小或者隱含層節(jié)點(diǎn)數(shù)量的增大,優(yōu)化后的FNNRWs學(xué)習(xí)算法的精確度高于FNNRWs學(xué)習(xí)算法的精確度。圖4、圖5和圖6從折線圖的角度更直觀地展示了優(yōu)化后的FNNRWs學(xué)習(xí)算法的精確度和FNNRWs學(xué)習(xí)算法的精確度隨著隱含層節(jié)點(diǎn)數(shù)量的增大,其訓(xùn)練精度和測(cè)試精度的對(duì)比,可以非常直觀地看到優(yōu)化后的FNNRWs學(xué)習(xí)算法在精確度方面的優(yōu)勢(shì)。圖7通過(guò)計(jì)算相對(duì)誤差,從相對(duì)誤差方面展示了優(yōu)化后的FNNRWs學(xué)習(xí)算法在三個(gè)數(shù)據(jù)集上的性能優(yōu)勢(shì)。
表1 算法在Statlog數(shù)據(jù)集上的精度
表2 算法在Bank Marketing數(shù)據(jù)集上的精度
表3 算法在Letter Recognition數(shù)據(jù)集上的精度
(a)
(b)圖4 算法在Statlog數(shù)據(jù)集的訓(xùn)練精確度和測(cè)試精確度對(duì)比
圖5 算法在Bank Marketing數(shù)據(jù)集的訓(xùn)練精確 度和測(cè)試精確度對(duì)比
(a)
(b)圖6 算法在Letter Recognition數(shù)據(jù)集的訓(xùn)練精確 度和測(cè)試精確度對(duì)比
(a) Statlog數(shù)據(jù)集
(b) Bank Marketing數(shù)據(jù)集
(c) Letter Recognition數(shù)據(jù)集圖7 算法的誤差對(duì)比
本文在具有隨機(jī)權(quán)值的前饋神經(jīng)網(wǎng)絡(luò)(FNNRWs)的基礎(chǔ)之上,針對(duì)大規(guī)模數(shù)據(jù)集,研究基于分解技術(shù)的具有隨機(jī)權(quán)值的前饋神經(jīng)網(wǎng)絡(luò)模型。將樣本分為大小相同的子集,每個(gè)子集派生出相應(yīng)的子模型。本文主要是通過(guò)對(duì)于三個(gè)參數(shù)的產(chǎn)生方法的優(yōu)化來(lái)提高整體的性能。在具有隨機(jī)權(quán)值的前饋神經(jīng)網(wǎng)絡(luò)中,輸入權(quán)值和偏置是隨機(jī)設(shè)置的,不需要學(xué)習(xí),選擇適當(dāng)?shù)膮^(qū)間是非常重要的。本文根據(jù)激活函數(shù)計(jì)算出最優(yōu)取值范圍,從輸入權(quán)值和偏置的取值范圍入手,提高整體性能。同時(shí)采用迭代方案克服隨機(jī)模型輸出權(quán)重評(píng)估的困難。在UCI標(biāo)準(zhǔn)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明了該算法的有效性。