楊 靜,徐 彥,姜 贏
(1.北京師范大學珠海分校,廣東珠海519087;2.南京農(nóng)業(yè)大學,南京210095)
多層感知機權值擾動敏感性計算算法研究
楊 靜1,徐 彥2,姜 贏1
(1.北京師范大學珠海分校,廣東珠海519087;2.南京農(nóng)業(yè)大學,南京210095)
多層感知機(M LP)對權值擾動的敏感性反映當網(wǎng)絡權值發(fā)生變化時網(wǎng)絡輸出的變化規(guī)律,是研究MLP學習機制的一種重要衡量工具。系統(tǒng)討論MLP對權值擾動的敏感性計算方法,提出一種層層遞進的敏感性近似算法。利用數(shù)值積分從第一層神經(jīng)元開始計算,后一層神經(jīng)元的計算利用前一層的結果,最終給出所有層神經(jīng)元以及整個網(wǎng)絡的敏感性計算表達式。該敏感性計算算法只要求網(wǎng)絡的各維輸入相互獨立,而對其具體的分布無任何限制,同時還具有計算復雜度低、通用性強等優(yōu)點,模擬實驗驗證了該算法的準確性和有效性。
敏感性;多層感知機;權值;擾動;期望
神經(jīng)網(wǎng)絡是在一定的網(wǎng)絡結構下,通過樣本學習來確定合適的權值,從而建立一種輸入、輸出的映射關系。當網(wǎng)絡的輸入發(fā)生擾動時,網(wǎng)絡輸出會發(fā)生相應變化,而敏感性正是反映了這一輸入擾動與輸出變化之間某種內(nèi)在的函數(shù)依賴關系。對于神經(jīng)網(wǎng)絡而言,輸入擾動可以理解為一種廣義下的參數(shù)擾動,也就是不僅是網(wǎng)絡輸入,也可能是網(wǎng)絡權值或是網(wǎng)絡激活函數(shù)等參數(shù)發(fā)生擾動。通過對其中各參數(shù)的不同設置(如常量、變量、統(tǒng)計變量等),加上各種可能的組合,可以得到不同形式的敏感性定義來適應不同應用環(huán)境的需求。而不同定義形式的敏感性可以從不同角度揭示網(wǎng)絡的內(nèi)在工作機理。人們試圖通過計算分析這些敏感性,找到神經(jīng)網(wǎng)絡在面對噪音時會有怎樣的容錯能力,對非訓練樣本又可能有怎樣的泛化能力,權值調(diào)整對網(wǎng)絡輸出會產(chǎn)生怎樣的影響等各種問題的答案。
有關神經(jīng)網(wǎng)絡的敏感性已有不少研究成果,研究人員針對不同的網(wǎng)絡模型,從不同角度,對不同形式的敏感性進行研究,并利用研究結果來解決一些應用問題,例如:文獻[1]在假設輸入擾動和權值擾動極小的情況下利用一種均方敏感性來衡量網(wǎng)絡的容錯性、抗干擾性及泛化性能;文獻[2]提出了一種敏感性的變體:局部泛化誤差,并用將其用于網(wǎng)絡結構的選擇[2];類似的,文獻[3-7]通過對比網(wǎng)絡中各個神經(jīng)元對于相同輸入擾動的不同反應程度來衡量神經(jīng)元在網(wǎng)絡中的貢獻程度,以達到網(wǎng)絡結構裁剪的目的;文獻[8]利用局部泛化誤差模型來改進RBF網(wǎng)絡的學習算法;文獻[9]給出了一種基于樣本點的輸入擾動敏感性,并以此來衡量個體網(wǎng)絡的差異度以改進網(wǎng)絡集成的泛化能力;文獻[10]利用局部泛化誤差來進行RBF網(wǎng)絡的屬性篩選擇。而所有這些敏感性應用的前提就是需要找到一種通用而準確的敏感性量化算法。對于離散型前向神經(jīng)網(wǎng)絡(Madaline)而言,文獻[11]總結了Madaline的研究現(xiàn)狀并提出了一種利用離散隨機技術的敏感性計算算法。該算法取消了過強的限制條件,使得從理論上進行誤差分析成為可能;文獻[12]將敏感性定義為輸出誤差比率的數(shù)學期望并利用一種改進的超球體模型來研究Neocognitron的敏感性;文獻[13]將徑向基函數(shù)網(wǎng)絡(RBFNN)的敏感性定義為RBF網(wǎng)絡中心變化引起的網(wǎng)絡輸出擾動平方的數(shù)學期望,并給出了敏感性的計算公式并將其應用于網(wǎng)絡結構設計,但沒有對計算公式的正確性進行驗證;文獻[14]對spiking神經(jīng)元的敏感性進行了初步的探索,給出了一種基于概率的敏感性計算方法。本文的研究對象:M LP是前向網(wǎng)絡中最常用也是最重要的一類網(wǎng)絡,關于MLP的敏感性也有不少研究成果。文獻[15]引入超立方體模型作為工具并給出了具體的敏感性量化計算推導式,該敏感性定義為輸入和權值擾動,算法主要利用了激活函數(shù)的泰勒展式來近似計算敏感性。但這種方法要求M LP輸入必須為相互獨立且服從[0,1]間的均勻分布,這大大限制了算法的實用性。文獻[16]研究了復數(shù)空間中的MLP敏感性,文中敏感性由實數(shù)部分和復數(shù)部分敏感性共同組成,同樣的,該算法要求網(wǎng)絡的輸入和權值均為獨立同分布,且具有固定分布形式。他們還提出了一種基于中心極限定理的M LP敏感性計算算法,該算法基于輸入和權值擾動,但要求輸入和權值均為獨立同分布[17]。文獻[18]放松了對于網(wǎng)絡輸入的限制,提出了一種基于輸入擾動的敏感性計算算法,將激活函數(shù)展開為指數(shù)多項式來求解敏感性,且僅僅要求網(wǎng)絡輸入相互獨立,無其他具體分布限制,該算法具有精度高、適用性強等優(yōu)點。
綜上所述,發(fā)現(xiàn)對于M LP輸入擾動敏感性的計
算已有一些較為成熟的算法,而現(xiàn)有的M LP權值擾動敏感性計算算法大多具有較強的限制,還未能有較為有效而通用的算法。本文針對該問題,對MLP權值擾動敏感性進行研究,并給出完整的計算算法。
一般而言,MLP結構為L(L>1)層前向網(wǎng)絡,第l(1≤l≤L)層有nl(nl≥1)個神經(jīng)元。對于l層的第i(1≤i≤nl)個神經(jīng)元而言:輸入向量為權值為;權值擾動為偏置為bli;激活函數(shù)為fl(χ);輸出為。一個M LP的網(wǎng)絡結構可以用n0-n1-,…,-nL來表示,其中,n0表示網(wǎng)絡的輸入維數(shù);nl(1≤l≤L)表示對應l層的神經(jīng)元個數(shù)。同層神經(jīng)元的激活函數(shù)相同,通常為S型函數(shù),例如:
在解決一些回歸問題時,輸出層激活函數(shù)通常為線性函數(shù):
對于偏置,為了簡化運算過程,采用以下處理方法:在輸入向量中增加一維:1)T;同時將偏置值增加到權值向量中:,這樣就能將有偏置網(wǎng)絡轉(zhuǎn)換為無偏置網(wǎng)絡,因此后文都以無偏置網(wǎng)絡作為討論對象。
MLP的權值擾動敏感性是指當網(wǎng)絡權值發(fā)生擾動時,網(wǎng)絡輸出所產(chǎn)生的相應變化。第l層上的第i個神經(jīng)元的輸出擾動為:
然而,研究特定輸入下MLP的敏感性是缺乏實際意義的,需要的是找到在所有可能輸入條件下,M LP對于特定權值擾動而引起的輸出變化規(guī)律。因此,M LP的權值擾動敏感性應定義為在所有可能的輸入情況下,當網(wǎng)絡權值發(fā)生擾動時,網(wǎng)絡輸出變化的期望值。同時為了避免求期望過程中的正負相消,將敏感性定義為網(wǎng)絡輸出擾動絕對值的期望值。第l層上的第i個神經(jīng)元的敏感性定義如下:
l層的敏感性則為l層中所有神經(jīng)元敏感性的向量,定義如下:
整個M LP的敏感性定義為:
下文的E(χ),D(χ),φ(χ)分別代表隨機變量的數(shù)學期望、方差和密度函數(shù)。為表述更為簡潔,后文中均采用以下縮寫:
同理mli的期望和方差可以分別用下式求出:
對于l層神經(jīng)元而言,前一層神經(jīng)元的敏感性會向下傳遞導致下一層神經(jīng)元的輸入也發(fā)生擾動,其敏感性是由輸入擾動和權值擾動共同作用產(chǎn)生的。因此,不同于第一層神經(jīng)元,l層上的第K個神經(jīng)元的敏感性定義為:
根據(jù)MLP結構可知,前一層的神經(jīng)元輸出即為后一層的輸入,即因此,式(18)與式(19)中的和可以利用前一層敏感性計算過程中所求得的計算得出。同理,的期望和方差可以利用下式求出:
總結前面的推導過程可知,M LP權值擾動敏感性計算從第一層開始,利用數(shù)值積分逐個求出每個神經(jīng)元的敏感性,后一層神經(jīng)元利用前一層神經(jīng)元的計算結果,層層遞進,直到求出所有層神經(jīng)元的敏感性。具體算法如下所示:
輸入 M LP的結構n0-n1-…-nL,權值,權值擾動,輸入的期望與方差
(1)對第一層中的所有神經(jīng)元i(1≤i≤n0),逐個循環(huán)計算:
(2)對MLP的所有層l(2≤l≤L),逐層循環(huán)計算:
對l層中的所有神經(jīng)元K(1≤K≤nl-1),逐個循環(huán)計算:
從上述算法描述中可知:算法的時間復雜度為2個步驟的復雜度之和。假定算法中的二重數(shù)值積分的復雜度為常數(shù)c,那么整個算法的復雜度為:c))。絕大多數(shù)情況下,網(wǎng)絡的輸入維數(shù)都會比網(wǎng)絡中各隱層神經(jīng)元的個數(shù)大很多,因此,算法的復雜度可以簡化為:O((n0)2)。顯然平方階的復雜度是完全可以接受的。本文提出的權值擾動敏感性算法將輸入加權和視為一個隨機變量進行計算,只要網(wǎng)絡的各維輸入相互獨立,就能利用此算法來計算敏感性。同時,算法遞推計算每一層神經(jīng)元的敏感性,可以用于計算多隱層的網(wǎng)絡敏感性;且隱層的激活函數(shù)可以為任意形式。因此,利用該算法幾乎可以解決所有形式的M LP權值擾動敏感性計算問題,具有相當?shù)耐ㄓ眯浴?/p>
為了驗證本文所提出的MLP權值擾動敏感性算法,設計了如下5組實驗分別從不同角度對算法進行驗證。其中理論敏感性是利用本文提出的算法計算得出的,而模擬敏感性是通過計算100 000個輸入樣本的平均敏感性得到的,相對誤差為模擬敏感性和理論敏感性之差的絕對值與理論敏感性的比值。
在實驗1中采用了5-3-1結構的M LP,網(wǎng)絡的輸入分布各不相同,分別為正態(tài)分布,參數(shù)為(0);正態(tài)分布,參數(shù)為(-1,0.5);均勻分布,參數(shù)為(-1,1);瑞利分布,參數(shù)為(1);瑞利分布,參數(shù)為(1.5)。權值擾動由0.01遞增到0.1,間隔為0.01,激活函數(shù)為對數(shù)S型函數(shù),表1~表4為實驗1的結果,從表中可以看出,理論值和模擬值之間的相對誤差保均保持一個非常小的值,這說明了算法的精度較高。
表1 不同擾動下隱層神經(jīng)元1的敏感性
表2 不同擾動下隱層神經(jīng)元2的敏感性
表3 不同擾動下隱層神經(jīng)元3的敏感性
表4 不同擾動下輸出層神經(jīng)元的敏感性
實驗2是驗證算法在處理不同輸入維數(shù)網(wǎng)絡時的穩(wěn)定性。實驗設置如下:網(wǎng)絡結構為n-3-1,n由3遞增到12。權值擾動為固定值0.05,各維輸入均服從均勻分布(0,1)。結果如表5~表8所示。
表5 不同輸入維數(shù)下隱層神經(jīng)元1的敏感性
表6 不同輸入維數(shù)下隱層神經(jīng)元2的敏感性
表7 不同輸入維數(shù)下隱層神經(jīng)元3的敏感性
表8 不同輸入維數(shù)下輸出神經(jīng)元的敏感性
從表5~表8中可以看出:隨著輸入維數(shù)的增加,相對誤差并未出現(xiàn)明顯的增大,這說明算法對于輸入維數(shù)的變化保持穩(wěn)定,并未出現(xiàn)波動,理論值和模擬值基本保持趨勢一致。
實驗3是驗證算法在處理具有不同隱層神經(jīng)元個數(shù)的網(wǎng)絡敏感性時的穩(wěn)定性。實驗設置如下:網(wǎng)絡結構為5-n-1,n由1遞增到10,權值擾動為固定值0.01,網(wǎng)絡輸入同實驗1,實驗結果如表9所示。實驗4是驗證算法是否能準確計算具有不同激活函數(shù)的M LP的敏感性。實驗中的M LP的隱層激活函數(shù)為雙曲正切S型函數(shù),輸出層的激活函數(shù)為線性函數(shù),其余設置同實驗1,實驗結果如表10所示。從這2個實驗的結果可以看出,算法均保持較高的精度。
表9 不同隱層神經(jīng)元個數(shù)下輸出層神經(jīng)元敏感性
表10 不同激活函數(shù)下輸出層神經(jīng)元的敏感性
實驗5是驗證算法是否能處理多隱層網(wǎng)絡的敏感性計算。實驗設置如下:網(wǎng)絡結構為5-3-3-1,網(wǎng)絡輸入為-1~1之間的均勻分布;權值擾動由0.01遞增到0.1,間隔為0.01,實驗結果如表11~表17所示。從結果可以看出,算法在計算第二隱層及輸出層敏感性時,仍保持了較高的精度,說明算法可以處理多隱層的網(wǎng)絡敏感性。
表11 雙隱層網(wǎng)絡不同擾動下第1層神經(jīng)元1的敏感性
表12 雙隱層網(wǎng)絡不同擾動下第1層神經(jīng)元2的敏感性
表13 雙隱層網(wǎng)絡不同擾動下第1層神經(jīng)元3的敏感性
表14 雙隱層網(wǎng)絡不同擾動下第2層神經(jīng)元1的敏感性
表15 雙隱層網(wǎng)絡不同擾動下第2層神經(jīng)元2的敏感性
表16 雙隱層網(wǎng)絡不同擾動下第2層神經(jīng)元3的敏感性
表17 雙隱層網(wǎng)絡不同擾動下輸出層神經(jīng)元的敏感性
本文提出一種基于MLP權值擾動敏感性的計算算法,該算法將敏感性定義為權值擾動后網(wǎng)絡輸出與擾動前網(wǎng)絡輸出之差絕對值的期望值。算法僅要求網(wǎng)絡的輸入為相互獨立,大大提高了算法的實用性。在敏感性的計算過程中,利用了中心極限定理,將神經(jīng)元的加權輸入和擾動后的加權輸入分別近似看作2個正態(tài)分布的隨機變量,從而將多重積分轉(zhuǎn)換為二重積分進行數(shù)值計算。算法從第一層的神經(jīng)元開始,前一層的結果作為后一層的計算輸入,層層遞進,最終得出所有神經(jīng)元的敏感性。實驗結果表明了算法的精度較高,并且較為穩(wěn)定。本文提出的M LP權值擾動敏感性算法的主要優(yōu)勢在于:(1)該算法僅僅要求M LP的輸入相互獨立,可以有不同的分布,這大大提高了算法的實用性;(2)算法可以計算多隱層M LP的敏感性,并且實驗證明,算法的精度并沒有隨著隱層的增加而明顯下降;(3)該算法可以處理具有不同的激活函數(shù)的M LP,激活函數(shù)可以是對數(shù)S型函數(shù)、雙曲正切S型函數(shù)或者線性函數(shù);(4)該算法具有較高的精度和穩(wěn)定性。本文的后續(xù)工作將從理論上進一步完善M LP權值擾動敏感性的研究,同時利用本文所提出的敏感性量化算法進行學習算法的改進,解決一些實際應用問題。
[1] Bernier J L,Ortega J,Rojas I,et al.A Quantitive Study of Fault Tolerance,Noise Imm unity and Generalization Ability of M LPs[J].Neural Computation,2000,12(1):2941-2964.
[2] Yeung D S,Ng W W Y,W ang D,et al.Localized Generalization Error Model and Its Application to Architecture Selection for Radial Basis Function Neural Network[J].IEEE Transactions on Neural Networks,2007,18(5):1294-1305.
[3] Engelbrecht A P.A New Pruning Heuristric Based on Variance Analysis of Sensitivity Information[J].IEEE Transactions on Neural Networks,2001,12(6):1386-1399.
[4] Zeng X,Yeung D S.Hidden Neuron Pruning of Multilayer Perceptrons Using a Quantified Sensitivity Measure[J].NeuroComputing,2006,69(7-9):825-837.
[5] Zeng X,Shao J,Wang Y.A Sensitivity-based Approach for Pruning Architecture of Madalines[J].Neural Computing&Applications,2009,18(1):957-965.
[6] Chan P P K,Zeng X,Tsang E E C,et al.Neural Network Ensemble Pruning Using Sensitivity Measure in Web Applications[C]//Proceedings of International Conference on System,Man and Cybernetics.Washington D.C.,USA:IEEE Press,2007:125-134.
[7] Shi D,Yeung D S,Gao J.Sensitivity Analysis Applied to the Construction of Radial Basis Function Networks[J]. IEEE Transactions on Neural Networks,2005,18(7):951-957.
[8] Yeung D S,Chan P P K,Ng W W Y.Radial Basis Function Network Learning Using Localized Generalization Error Model[J].Information Science,2009,32(1):3199-3217.
[9] Yang Jing,Zeng Xiaoqin,Zhong Shuiming,et al. Effective Neural Network Ensemble Approach for Im proving Generalization Performace[J].IEEE Transactions on Neural Networks and Learning System s,2013,24(6):878-887.
[10] Ng W W Y,Yeung D S,F(xiàn)irth F,et al.Feature Selection Using Localized Generalization Error for Supervised Classification Problem for RBFNN[J].Pattern Recognition,2008,23(1):3706-3719.
[11] 鐘水明,曾曉勤, 劉惠義,等.基于離散隨機技術的Madaline敏感性近似計算研究[J].中國科學F輯,2011,41(2):157-172.
[12] Cheng A Y,Yeung D S.Sensitivity Analysis of Neocognitron[J].IEEE Transactions on System,M an and Cybernetics-Part C:Applications and Review s,1999,29(2):238-249.
[13] Shi D,Yeung D S,Gao J.Sensitivity Analysis Applied to the Contruction of Radial Basis Function Networks[J].Neural Networks,2005,18(7):951-957.
[14] Yang Jing,Liu Yanjun.Sensitivity Analysis of Spiking Neuron Synapse[C]//Proceedings of EMEIT'11. Harbin,China:[s.n.],2011:4310-4313.
[15] Zeng X,Yeung D S.A Quantified Sensitvity Measure for Multilayer Perceptron to Input Perturbation[J]. Neural Computation,2003,15(1):183-212.
[16] Yang S,Ho C,Siu S.Sensitivity Analysis of the Splitcomplex Valued Multilayer Perceptron Due to the Errors of the i.i.d.Inputs and W eights[J].IEEE Transactions on Neural Networks,2007,18(5):1280-1293.
[17] Yang S,Ho C,Siu S.Computation and Anlyziing the Sensitivity of M LP Due to the Errors of the i.i.d.Inputs and W eights Based on CLT[J].IEEE Transactions Neural Networks,2010,21(12):1882-1891.
[18] Yang Jing,Zeng Xiaoqin,Zhong Shuiming.Computation of Multilayer Perceptron Sensitivity to Input Perturbation[J]. Neuroncomputing,2013,99(1):390-398.
[19] 李賢平.概率論基礎[M].北京:高等教育出版社,1997.
編輯索書志
Research on ComPutation Algotithm of Multilayer PercePtron Sensitivity to Weights Perturbation
YANG Jing1,XU Yan2,JIANG Ying1
(1.Zhuhai Cam pus,Beijing Norm al University,Zhuhai 519087,China;2.Nanjing Agricultural University,Nanjing 210095,China)
Multilayer Perceptron(MLP)sensitivity to weights perturbation reflects the change rule of the network output when network weights get disturbed.It is an important measure for research on learning mechanism.This paper systematically discusses the computation of the sensitivity to weights perturbation and proposes an approximation algorithm which computes the sensitivities layer by layer.The sensitivity is defined as the mathematical expectation of absolute output deviations due to weights perturbation.Firstly the algorithm com putes the sensitivities of the first layer and then the next layer which w ill use the former layer's results and finally gives the computation expressions of all the neurons and the whole network.This algorithm requests a weak assumption on the input,that is,input elements need only to be independent of each other.It also has low computation complexity and is more applicable to real applications. Experimental results demonstrate the proposed algorithm is highly accurate.
sensitivity;Multilayer Perceptron(M LP);weight;perturbation;expectation
楊 靜,徐 彥,姜 贏.多層感知機權值擾動敏感性計算算法研究[J].計算機工程,2015,41(9):225-232.
英文引用格式:Yang Jing,Xu Yan,Jiang Ying.Research on Computation Algotithm of Multilayer Perceptron Sensitivity to Weights Perturbation[J].Computer Engineering,2015,41(9):225-232.
1000-3428(2015)09-0225-08
A
TP18
10.3969/j.issn.1000-3428.2015.09.042
國家自然科學基金青年基金資助項目(61403205)。
楊 靜(1980-),女,講師、博士研究生,主研方向:神經(jīng)網(wǎng)絡,模式識別;徐 彥,講師、博士研究生;姜 贏,副教授。
2015-04-20
2015-05-19 E-m ail:yangjing@bnuz.edu.cn