曾曉勤,何嘉晟
(河海大學(xué)計(jì)算機(jī)與信息工程學(xué)院,江蘇南京 210098)
神經(jīng)網(wǎng)絡(luò)對于參數(shù)擾動(dòng)的敏感性是衡量網(wǎng)絡(luò)性能的重要尺度,如衡量容錯(cuò)性能與泛化性能等。目前有關(guān)學(xué)者已從不同角度、采用不同方法對不同神經(jīng)網(wǎng)絡(luò)模型做了許多研究[1-6],研究結(jié)果被應(yīng)用于解決神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域里的一些熱點(diǎn)問題,如提高網(wǎng)絡(luò)容錯(cuò)性能與泛化性能[7-8]、網(wǎng)絡(luò)結(jié)構(gòu)和屬性的篩選[9-10]、改進(jìn)學(xué)習(xí)算法[11-12]等。筆者擬在Zeng等[5-6]的研究基礎(chǔ)上,通過函數(shù)逼近來避免求解多重積分,推導(dǎo)2層前饋連續(xù)型單隱層感知機(jī)(MLP)神經(jīng)網(wǎng)絡(luò)對權(quán)擾動(dòng)的敏感性計(jì)算公式。推導(dǎo)中只要求輸入層輸入的分量相互獨(dú)立,不再假設(shè)隱層輸入的分量必須相互獨(dú)立,使得計(jì)算出的敏感性更符合實(shí)際情況,也在一定程度上提高了計(jì)算精度。
通常情況下,設(shè)一個(gè)MLP神經(jīng)網(wǎng)絡(luò)有L層,第l(1≤l≤L)層有nl(nl≥1)個(gè)神經(jīng)元。對第i(1≤i≤nl)個(gè)神經(jīng)元,輸入為 Xl=(xl,1,xl,2,…,xl,nl-1)T,輸入擾動(dòng)為 ΔXl=(Δxl,1,Δxl,2,…,Δxl,nl-1)T,它的權(quán)為 Wl,i=(wl,i1,wl,i2,…,wl,inl-1)T,它的權(quán)擾動(dòng)為 ΔWl,i=(Δwl,i1,Δwl,i2,…,Δwl,inl-1)T,偏置為bl,i,激活函數(shù)為fl(x),輸出為yl,i=fl(XlT·Wl,i+bl,i)。對于第l層,每一個(gè)神經(jīng)元的輸入都是相同的 Xl。層權(quán)為 Wl={Wl,1,Wl,2,…,Wl,nl},輸出為 Yl=(yl,1,yl,2,…,yl,nl)。神經(jīng)網(wǎng)絡(luò)的輸入是第 1 層的輸入 X1,輸出是最后一層的輸出YL。
MLP神經(jīng)網(wǎng)絡(luò)是由若干個(gè)神經(jīng)元組合成層,然后層與層之間前后連接構(gòu)成的網(wǎng)絡(luò)。相鄰層的神經(jīng)元全連接,同一層與非相鄰層的神經(jīng)元無連接,除了輸入層與輸出層之外的層都稱為隱層。不計(jì)輸入層,其余每一層的輸入都是前一層的輸出。同一層每一個(gè)神經(jīng)元都有相同的激活函數(shù)fl(x),常見的激活函數(shù)為S形函數(shù):
在解決某些問題時(shí),根據(jù)網(wǎng)絡(luò)輸出范圍的要求,輸出層的激活函數(shù)可能設(shè)為線性函數(shù):
筆者只討論單隱層的MLP神經(jīng)網(wǎng)絡(luò),即L=2,因?yàn)橐呀?jīng)證明,只要隱層神經(jīng)元數(shù)目足夠多,單隱層的MLP神經(jīng)網(wǎng)絡(luò)可以逼近任意的連續(xù)函數(shù)[13]。本文用E(x),D(x),φ(x)分別代表隨機(jī)變量x的數(shù)學(xué)期望、方差、密度函數(shù)。
在MLP神經(jīng)網(wǎng)絡(luò)的參數(shù)發(fā)生擾動(dòng)時(shí),網(wǎng)絡(luò)輸出會(huì)產(chǎn)生相應(yīng)變化。MLP神經(jīng)網(wǎng)絡(luò)參數(shù)敏感性就是反映參數(shù)改變對網(wǎng)絡(luò)輸出的影響程度。敏感性的定義通常不唯一?,F(xiàn)實(shí)中,網(wǎng)絡(luò)輸入或者權(quán)發(fā)生擾動(dòng)最為常見。筆者主要研究權(quán)擾動(dòng)產(chǎn)生的輸出擾動(dòng):在隱層中Xl也有擾動(dòng),這是因?yàn)镸LP神經(jīng)網(wǎng)絡(luò)前一層權(quán)的改變會(huì)影響后一層的輸入。對于一個(gè)訓(xùn)練好的MLP 神 經(jīng)網(wǎng)絡(luò),它的 Wl,i,bl,i都是確定的,理論上只要有 Xl和 Δ Wl,i就可以計(jì)算得到 Δyl,i。在定義敏感性時(shí),把網(wǎng)絡(luò)的輸入看作是隨機(jī)變量,其他參數(shù)都視為常數(shù),這樣的敏感性是基于所有輸入的敏感性。又由于輸入擾動(dòng)產(chǎn)生的影響可正可負(fù),為避免求期望時(shí)正負(fù)相消,敏感性便定義為輸出變化絕對值對所有輸入的期望。
定義1:對第l(1≤l≤L)層的第i個(gè)神經(jīng)元,定義它的敏感性sl,i是 Δ Wl,i的函數(shù):
定義2:第l層的敏感性定義為該層所有神經(jīng)元的敏感性構(gòu)成的向量:
定義3:整個(gè)MLP神經(jīng)網(wǎng)絡(luò)的敏感性定義為輸出層的敏感性:
對于單隱層MLP神經(jīng)網(wǎng)絡(luò),需要計(jì)算的敏感性只有2個(gè),即隱層和輸出層的敏感性。在本文的計(jì)算過程中,始終假設(shè)輸入層的輸入分量x1,i是相互獨(dú)立的。
3.1 隱層神經(jīng)元的敏感性
第1層第i個(gè)神經(jīng)元的敏感性為
為簡化推導(dǎo)過程,作如下符號替換:
因?yàn)榧せ詈瘮?shù)(S形函數(shù))是單調(diào)遞增函數(shù):
因此要得到s1,i,只需要計(jì)算E(f1(z1,i+ Δz1,i+b1,i))和E(f1(z1,i+b1,i))。
根據(jù)期望的定義,有
式(10)為一個(gè)n0重積分,直接計(jì)算很難。筆者使用Remez算法 將激活函數(shù)f1(x)逼近為一個(gè)多項(xiàng)式之和,同時(shí)式中的每一項(xiàng)可以繼續(xù)展開。Remez算法是采用逐次逼近思想的求連續(xù)函數(shù)最佳一致逼近多項(xiàng)式的近似算法。對于一個(gè)給定的連續(xù)函數(shù),可以找到在給定區(qū)間上的p次最佳一致逼近多項(xiàng)式P(x):
式中:p——多項(xiàng)式的最高次,且當(dāng)它取值越大時(shí),f1(x)和P(x)的差距越小;ct——多項(xiàng)式系數(shù),對于給定的p和f1(x),在指定區(qū)間內(nèi),可以通過Remez計(jì)算得到。
將式(11)代入式(10),可得E(f1(z1,i+ Δz1,i+b1,i))的逼近多項(xiàng)式為
將式(12)中的(z1,i+ Δz1,i+b1,i)t進(jìn)行多項(xiàng)式展開,并求期望得
式中:ak——非負(fù)整數(shù),0≤ak≤t——取遍所有使得a1+a2+…+an0+an0+1=t成立的ak序列;φ(x1,1),φ(x1,2),…,φ(x1,n0)——每一維輸入的密度函數(shù),多數(shù)情況下它們是不同的。
經(jīng)過類似推導(dǎo)可得
3.2 輸出層神經(jīng)元的敏感性
對于單隱層MLP神經(jīng)網(wǎng)絡(luò)的輸出層,第k個(gè)神經(jīng)元的敏感性為
為求s2,k,只需要求得E(f2((X2+ Δ X2)T·(W2,k+ Δ W2,k)+b2,k))和E(f2(X2T·W2,k+b2,k))。
由于s1,i已知,令b2,k'=s1,q(w2,kq+ Δw2,kq)+b2,k(常數(shù)替換不影響后面計(jì)算),并將E(f2((X2+ΔX2)T·(W2,k+ Δ W2,k)+b2,k))進(jìn)行多項(xiàng)式逼近,得
由于輸入層的輸入分量x1,s是相互獨(dú)立的,于是計(jì)算期望時(shí)的多重積分可以變?yōu)橐恢胤e分的積,因此式(17)是可計(jì)算的。由于已經(jīng)證明單隱層MLP神經(jīng)網(wǎng)絡(luò)可以逼近任意連續(xù)函數(shù),因此本文算法解決了MLP神經(jīng)網(wǎng)絡(luò)權(quán)擾動(dòng)敏感性的計(jì)算問題。
以UCI數(shù)據(jù)集[15]為基礎(chǔ),通過對比MLP神經(jīng)網(wǎng)絡(luò)參數(shù)敏感性的模擬值和算法得到的理論值驗(yàn)證所提算法的準(zhǔn)確性。筆者采用MATLAB 7.11.0(R2010b)版本的神經(jīng)網(wǎng)絡(luò)工具箱獲取模擬值,MATLAB獲取理論值。
從UCI數(shù)據(jù)集中取出iris,wine,vehicle共3組數(shù)據(jù)集,針對每組數(shù)據(jù)集訓(xùn)練幾個(gè)不同的MLP神經(jīng)網(wǎng)絡(luò)。訓(xùn)練完畢后,隨機(jī)生成1萬個(gè)正態(tài)分布的權(quán)擾動(dòng)值。然后將輸入再次輸入網(wǎng)絡(luò),得到MLP神經(jīng)網(wǎng)絡(luò)權(quán)擾動(dòng)敏感性的模擬值。將權(quán)擾動(dòng)值、網(wǎng)絡(luò)輸入、權(quán)等代入式(16)(17)可得到理論值。
實(shí)驗(yàn)結(jié)果如下:實(shí)驗(yàn)1,iris與wine數(shù)據(jù)集,輸入維數(shù)為4,輸出維數(shù)為1,輸入樣本數(shù)為150,網(wǎng)絡(luò)均方誤差均小于0.005,權(quán)擾動(dòng)期望為0,方差為0.1;實(shí)驗(yàn)2,iris數(shù)據(jù)集,輸入維數(shù)為4,輸出維數(shù)為1,輸入樣本數(shù)為150,網(wǎng)絡(luò)均方誤差均小于0.005,隱層節(jié)點(diǎn)數(shù)為5,權(quán)擾動(dòng)期望為0,方差分別為0.05,0.3,0.5;實(shí)驗(yàn)3,vehicle數(shù)據(jù)集,輸入維數(shù)為18,輸入樣本數(shù)為878,網(wǎng)絡(luò)均方誤差均小于0.01,隱藏節(jié)點(diǎn)數(shù)為7,權(quán)擾動(dòng)期望為0,方差為0.1。
從模擬結(jié)果(表1~3)可以看出,模擬值與理論值有一定的差異,但是就趨勢而言,基本保持一致。也就是使用本算法計(jì)算出的理論值可以作為一個(gè)相對尺度來應(yīng)用。
表1 iris和wine數(shù)據(jù)集不同隱層節(jié)點(diǎn)數(shù)的模擬結(jié)果Table 1 Simulated results of sensitivity for nodes of different hidden layers(iris and wine datasets)
表2 iris數(shù)據(jù)集不同權(quán)擾動(dòng)方差的模擬結(jié)果Table 2 Simulated results of sensitivity for different variances of weight perturbation(iris dataset)
在將MLP神經(jīng)網(wǎng)絡(luò)敏感性定義為輸出變化絕對值對所有輸入的期望的基礎(chǔ)上,通過Remez算法推導(dǎo)了敏感性的近似計(jì)算公式。實(shí)驗(yàn)數(shù)據(jù)檢驗(yàn)結(jié)果表明,敏感性的理論值能較好地逼近模擬值,兩者間的誤差由算法中使用函數(shù)逼近所致。在逼近過程中選用的多項(xiàng)式次數(shù)越高,則計(jì)算精度越高;無論多項(xiàng)式次數(shù)的多少,理論值和模擬值的變化趨勢基本上保持一致。
表3 vehicles數(shù)據(jù)集激活函數(shù)為S形函數(shù)與線性函數(shù)的模擬結(jié)果Table 3 Simulated results of sensitivity for different activation functions(vehicle dataset)
[1]FU L,CHEN T.Sensitivity analysis for input vector in multilayer feedforward neural networks[C]//Proc of IEEE International Conference on Neural Networks.San Francisco,CA:IEEE Press,1993:215-218.
[2]YEUNG D S,SUN Xuequan.Using function approximation to analyze the sensitivity of the MLP with antisymmetric squashing activation function[J].IEEE Transactions on Neural Networks,2002,13(1):34-44.
[3] ZENG Xiaoqin,YEUNG D S.Sensitivity analysis of multilayer perceptron to input and weight perturbations[J].IEEE Transactions on Neural Networks,2001,12(6):1358-1366.
[4] ZENG Xiaoqin,YEUNG D S.A quantified sensitivity measure for multilayer perceptron to input perturbation[J].Neural Computation,2003,15(1):183-212.
[5]YANG Jing,ZENG Xiaoqin,ZHONG Shuiming.Computation of mulitilayer perceptron sensitivity to input perturbation[J].Neurocomputing,2013,99(1):390-398.
[6]YANG S,HO C,SIU S.Sensitivity analysis of the split-complex valued multilayer perceptron due to the errors of the i.i.d.Inputs and Weights[J].IEEE Trans on Neural Networks,2007,18(5):1280-1293.
[7]BERNIER J L,ORTEGA J,ROJAS I,et al.Improving the tolerance of Multilayer Perceptrons by minimizing the statistical sensitivity to weight deviations[J].Neurocomputing,2000,31(1):87-103.
[8]BERNIER J L,ORTEGA J,ROSE,et al.A quantitative study of fault tolerance,noise immunity and generalization ability of MLPs[J].Neural Computation,2000,12(12):2941-2964.
[9]ENGELBRECHT A P.A new pruning heuristic based on variance analysis of sensitivity information[J].IEEE Transactions on Neural Networks,2001,12(6):1386-1399.
[10]ZENG Xiaoqin,YEUNG D S.Hidden neuron pruning of multilayer perceptrons using a quantified sensitivity measure[J].Neurocomputing,2006,69(7/8/9):825-837.
[11] ZHONG Shuiming,ZENG Xiaoqin,WU Shengli,et al.Sensitivity-based adaptive learning rules for BFNNs[J].IEEE Transactions on Neural Networks and Learning Systems,2012,23(3):480-491.
[12]高玉琴,張利昕,吳煥霞.改進(jìn)GA-BP神經(jīng)網(wǎng)絡(luò)評價(jià)算法及其應(yīng)用[J].水利經(jīng)濟(jì),2012,30(6):7-10.(GAO Yuqin,ZHANG Lixin,WU Huanxia.Evaluation algorithm of improved GA-BP neural networKand its application[J].Journal of Economics of Water Resource,2012,30(6):7-10.(in Chinese))
[13]HORNIKKM,STINCHCOMBEA M,WHITE H.Multilayer feedforward networks are universal approximators[J].Neural Networks,1989,2(5):359-366.
[14]RICARDO P,TREFETHEN L N.Barycentric-Remez algorithms for best Polynomial approximation in the chebfun system[J].BIT Numerical Mathematics,2009,49(4):721-741.
[15]BLAKE C L,MERZ CJ.UCI repository of machine learing databases[DB].[2013-01-20].http://archive.ics.uci.edu/ml/index.html.