南昌航空大學(xué)信息工程學(xué)院 羅艷芬
神經(jīng)網(wǎng)絡(luò)泛化能力是衡量神經(jīng)網(wǎng)絡(luò)性能優(yōu)劣的一個(gè)重要方面,研究了幾種提高神經(jīng)網(wǎng)絡(luò)泛化能力的方法,并且利用MATLAB仿真驗(yàn)證了各種方法的有效性。
泛化能力是指經(jīng)訓(xùn)練(學(xué)習(xí))后的預(yù)測(cè)模型對(duì)未在訓(xùn)練集中出現(xiàn)的樣本做出正確反映的能力,學(xué)習(xí)不是簡(jiǎn)單地記憶已經(jīng)學(xué)過(guò)的輸入,而是通過(guò)對(duì)有限個(gè)訓(xùn)練樣本的學(xué)習(xí),學(xué)到隱含在樣本中的有關(guān)環(huán)境本身的內(nèi)在規(guī)律性。盡管神經(jīng)網(wǎng)絡(luò)可以具備泛化能力,但大量的設(shè)計(jì)者在應(yīng)用神經(jīng)網(wǎng)絡(luò)時(shí)都發(fā)現(xiàn),獲得好的泛化能力并非易事,它涉及的方面非常復(fù)雜。因此對(duì)于如何提高神經(jīng)網(wǎng)絡(luò)泛化能力,研究者們展開(kāi)了大量的研究。
用于訓(xùn)練多層感知器的傳統(tǒng)方法在統(tǒng)計(jì)學(xué)上可以解釋為一種最大似然估計(jì)的變形實(shí)現(xiàn),其思想是找到一組權(quán)值來(lái)盡可能地?cái)M合訓(xùn)練數(shù)據(jù)。
圖1 -1 無(wú)貝葉斯正則化訓(xùn)練結(jié)果
圖1 -2 貝葉斯正則化訓(xùn)練結(jié)果
在貝葉斯正則化模式中,假設(shè)神經(jīng)網(wǎng)絡(luò)的權(quán)值和偏置滿(mǎn)足特定的概率分布,用概率規(guī)則來(lái)實(shí)現(xiàn)學(xué)習(xí)和推理,對(duì)這些參數(shù)進(jìn)行估計(jì)。貝葉斯定理的計(jì)算學(xué)習(xí)機(jī)制是將先驗(yàn)分布中的期望值與樣本均值按各自的精度進(jìn)行加權(quán)平均,精度越高者其權(quán)值越大。由于貝葉斯方法可以綜合先驗(yàn)信息和后驗(yàn)信息,既可避免只使用先驗(yàn)信息可能帶來(lái)的主觀偏見(jiàn)和缺乏樣本信息時(shí)的大量盲目搜索與計(jì)算,又可避免只使用后驗(yàn)信息帶來(lái)的噪聲影響。
以一個(gè)帶噪聲的正弦信號(hào)擬合仿真為例,在網(wǎng)絡(luò)訓(xùn)練過(guò)程中不用貝葉斯正則化方法和應(yīng)用貝葉斯正則化方法得到的擬合效果如圖1-1、 圖1-2所示。圖中虛線為實(shí)際的帶噪正弦信號(hào),實(shí)線為神經(jīng)網(wǎng)絡(luò)擬合信號(hào)。顯然,應(yīng)用貝葉斯正則化方法得到的擬合效果更好。
權(quán)值衰減是在網(wǎng)絡(luò)訓(xùn)練誤差函數(shù)中加入對(duì)權(quán)值懲罰項(xiàng)。作用就是懲罰大的權(quán)值,使權(quán)值收斂到絕對(duì)值較小的范圍中去。另外,當(dāng)訓(xùn)練集容量較小時(shí),神經(jīng)網(wǎng)絡(luò)模型的泛化能力受衰減常數(shù)的影響較大。通常情況下,均方誤差函數(shù)表達(dá)式為:
權(quán)值衰減是在誤差函數(shù)中加入對(duì)權(quán)值懲罰項(xiàng),即:
以普通均方誤差函數(shù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)得到的仿真結(jié)果為例,仿真結(jié)果如圖2-1所示:
圖2 -1 普通均方誤差函數(shù)訓(xùn)練結(jié)果
若在均方誤差函數(shù)中加入權(quán)值衰減項(xiàng),訓(xùn)練神經(jīng)網(wǎng)絡(luò)得到的仿真結(jié)果如圖2-2所示。
圖2 -2 權(quán)值衰減的均方誤差函數(shù)訓(xùn)練結(jié)果
由仿真結(jié)果可以看出,經(jīng)過(guò)權(quán)值衰減,網(wǎng)絡(luò)訓(xùn)練誤差大大降低,網(wǎng)絡(luò)輸出和目標(biāo)值逼近效果更好。
神經(jīng)網(wǎng)絡(luò)集成是指對(duì)同一問(wèn)題用多個(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),集成在某一輸入下的輸出由構(gòu)成集合的各個(gè)網(wǎng)絡(luò)的輸出共同決定。神經(jīng)網(wǎng)絡(luò)集成提出的主要目的是為了解決單個(gè)網(wǎng)絡(luò)存在的問(wèn)題。為了解決由于噪聲數(shù)據(jù)或訓(xùn)練集很小引起的泛化問(wèn)題,提高神經(jīng)網(wǎng)絡(luò)的泛化能力,一種有效的方法是訓(xùn)練多個(gè)神經(jīng)網(wǎng)絡(luò)并且對(duì)它們的輸出取均值。
例如,訓(xùn)練10個(gè)神經(jīng)網(wǎng)絡(luò),得到10個(gè)訓(xùn)練均方誤差值,對(duì)10個(gè)神經(jīng)網(wǎng)絡(luò)的輸出取平均值,并利用輸出平均值計(jì)算網(wǎng)絡(luò)訓(xùn)練均方誤差,并分別進(jìn)行比較。具體實(shí)現(xiàn)過(guò)程如下:
每個(gè)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練均方誤差如下所示:
對(duì)各個(gè)神經(jīng)網(wǎng)絡(luò)輸出取平均值,并以此作為神經(jīng)網(wǎng)絡(luò)輸出計(jì)算均方誤差平均值。
運(yùn)行結(jié)果為:
很顯然,用輸出平均值計(jì)算的均方誤差比每個(gè)神經(jīng)網(wǎng)絡(luò)的均方誤差值都小,如果增加訓(xùn)練數(shù)據(jù),仿真結(jié)果會(huì)更好。
本文針對(duì)貝葉斯統(tǒng)計(jì)正則化方法,權(quán)值衰減方法以及神經(jīng)網(wǎng)絡(luò)集成方法進(jìn)行研究,并利用MATLAB仿真驗(yàn)證各種方法提高神經(jīng)網(wǎng)絡(luò)泛化能力的效果。仿真結(jié)果表明,通過(guò)應(yīng)用這些方法,神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差大大降低,泛化能力大大提高。