馬艷東
一種基于AutoEncoder的RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法
馬艷東
RBF神經(jīng)網(wǎng)絡(luò)中心寬度等參數(shù)確定的是否合理將直接影響到RBF網(wǎng)絡(luò)的學(xué)習(xí)性能。通過有監(jiān)督學(xué)習(xí)的方法來確定RBF神經(jīng)網(wǎng)絡(luò)的參數(shù)是最一般化的方法。研究表明,參數(shù)的初始化問題是該類方法的關(guān)鍵所在。為此,提出了一種利用AutoEncoder初始化RBF神經(jīng)網(wǎng)絡(luò)各個參數(shù)的新型訓(xùn)練算法。實(shí)驗仿真表明,與傳統(tǒng)RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法相比,該新型算法具有更高的訓(xùn)練精度與更強(qiáng)的泛化能力。
徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)是一種高效的前饋神經(jīng)網(wǎng)絡(luò),相對于傳統(tǒng)BP(Back Propagation)神經(jīng)網(wǎng)絡(luò),不僅具有結(jié)構(gòu)簡單、收斂速度快、泛化能力強(qiáng)等特點(diǎn),而且還具有優(yōu)異的函數(shù)逼近,全局尋優(yōu)和最佳逼近能力。因此,RBF神經(jīng)網(wǎng)絡(luò)廣泛應(yīng)用于模式識別、語言識別、圖像處理和工業(yè)控制等領(lǐng)域。研究表明,RBF神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)的寬度、中心、權(quán)重等參數(shù)確定的是否合理將直接影響到RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)性能。通過有監(jiān)督學(xué)習(xí)的方法來確定RBF神經(jīng)網(wǎng)絡(luò)的中心等參數(shù)是最一般化的方法。而在這類方法中,參數(shù)的初始化問題是關(guān)鍵點(diǎn)。而目前采用最普遍的方法是隨機(jī)初始化各個參數(shù)。但是,由于隨機(jī)選擇的各個參數(shù)不能夠保證距離最優(yōu)點(diǎn)的距離足夠近。因此,該方法也導(dǎo)致RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定,容易陷入局部最優(yōu)。為此,不管從學(xué)術(shù)研究角度,還是從實(shí)際應(yīng)用角度來說,都需要一種方法能夠很好地確定RBF神經(jīng)網(wǎng)絡(luò)的各個參數(shù),至少是給個合理的初始化參數(shù)。
深度學(xué)習(xí)(Deep Learning)是人工智能領(lǐng)域最前沿技術(shù),通過建立、模擬人腦視覺系統(tǒng)來進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),在圖像識別、語音識別、語義識別等領(lǐng)域表現(xiàn)出了強(qiáng)大的從少數(shù)樣本中學(xué)習(xí)數(shù)據(jù)集本質(zhì)特征的能力。本文提出采用深度學(xué)習(xí)中的自動編碼器(AutoEncoder)改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法,用無監(jiān)督數(shù)據(jù)訓(xùn)練的權(quán)重作為RBF網(wǎng)絡(luò)各參數(shù)的初始化值,然后利用有標(biāo)簽數(shù)據(jù),采用有導(dǎo)師訓(xùn)練算法調(diào)整各個參數(shù)的數(shù)值。最后利用訓(xùn)練好的網(wǎng)絡(luò)來分類或擬合。
RBF神經(jīng)網(wǎng)絡(luò)是一種特殊的三層前饋神經(jīng)網(wǎng)絡(luò),它能夠以任意精度逼近任意連續(xù)函數(shù)。RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(如圖2)包括一個輸入層、一個隱含層和一個輸出層,隱含層神經(jīng)元的個數(shù)由具體問題的實(shí)際情況決定。輸入層節(jié)點(diǎn)只傳輸信號到隱含層,負(fù)責(zé)將網(wǎng)絡(luò)與外界實(shí)際連接起來。隱含層結(jié)點(diǎn)由徑向基函數(shù)構(gòu)成,其主要作用是輸入空間到隱含層空間之間進(jìn)行非線性變換,在大多數(shù)情況下,隱含層空間有較高的維數(shù)。而輸出層節(jié)點(diǎn)通常是由簡單的線性函數(shù)構(gòu)成,其作用主要是為輸入層信號作出最終響應(yīng)。
RBF神經(jīng)網(wǎng)絡(luò)的函數(shù)表達(dá)式為:
由于RBF神經(jīng)網(wǎng)絡(luò)隱含層結(jié)點(diǎn)常用的徑向基函數(shù)是高斯(Gauss)函數(shù),則RBF神經(jīng)網(wǎng)絡(luò)的表達(dá)式可以寫為:
RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法如下。
Step 1:隨機(jī)初始化徑向基函數(shù)的中心、半徑與隱含層到輸出層的連接權(quán)重。
Step 2:通過梯度下降方法來對神經(jīng)網(wǎng)絡(luò)中三種參數(shù)進(jìn)行監(jiān)督訓(xùn)練優(yōu)化。其代價函數(shù)是網(wǎng)絡(luò)實(shí)際輸出F( x)與其期望輸出d 的均方誤差:
然后,每次迭代,在誤差梯度的負(fù)方向上,以一定的學(xué)習(xí)速率調(diào)整參數(shù)。下面是各個參數(shù)的更新函數(shù)。
其中,cj為第j個隱含層神經(jīng)元節(jié)點(diǎn)的中心,?cj為第j個隱含層神經(jīng)元節(jié)點(diǎn)中心的的更新步長。δj為第j個隱含層神經(jīng)元節(jié)點(diǎn)的寬度,?δj為第j個隱含層神經(jīng)元節(jié)點(diǎn)寬度的的更新步長。wj為第j個隱含層神經(jīng)元節(jié)點(diǎn)與輸出層節(jié)點(diǎn)的連接權(quán)重,?δj為第j個隱含層神經(jīng)元節(jié)點(diǎn)與輸出層節(jié)點(diǎn)的連接權(quán)重的更新步長。
圖1 徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
圖2 AutoEncoder原理圖
AutoEncoder自動編碼器是深度學(xué)習(xí)領(lǐng)域重要算法之一,是利用人工神經(jīng)網(wǎng)絡(luò)具有層次結(jié)構(gòu)的特點(diǎn),假定其輸出數(shù)據(jù)與輸入數(shù)據(jù)相同,即輸入數(shù)據(jù)的類標(biāo)是其本身。然后,訓(xùn)練調(diào)整網(wǎng)絡(luò)各個參數(shù),得到每一層結(jié)點(diǎn)的參數(shù)及權(quán)重。通常隱含層結(jié)點(diǎn)的數(shù)目要小于輸入層結(jié)點(diǎn)的數(shù)目。那么,在給定的假定條件下,隱含層結(jié)點(diǎn)的直接輸出值可以看做從輸入數(shù)據(jù)抽取出來的特征。也就是說可以利用隱含層直接輸出的數(shù)據(jù)恢復(fù)輸入層的數(shù)據(jù)。這樣AutoEncoder就是一種盡可能復(fù)現(xiàn)輸入信號的神經(jīng)網(wǎng)絡(luò),其原理圖如圖2所示,其中輸入數(shù)據(jù)維數(shù)為M,隱含節(jié)點(diǎn)數(shù)目為N,且N〈M。
針對AutoEncoder自編碼器提取的輸入特征能夠更好地發(fā)現(xiàn)樣本間的相關(guān)性的優(yōu)點(diǎn),本算法擬利用AutoEncoder訓(xùn)練結(jié)果,來替代隨機(jī)初始化RBF神經(jīng)網(wǎng)絡(luò)各個參數(shù),其后再接著利用梯度下降法進(jìn)行進(jìn)一步的調(diào)整更新網(wǎng)絡(luò)的各個參數(shù)。
其算法步驟如下:
Step 1 :設(shè)置算法終止條件
(1)條件1:RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度。
(2)條件2:梯度下降更新網(wǎng)絡(luò)參數(shù)的最大迭代次數(shù)。
只要滿足上述2個條件的任何一條即可結(jié)束迭代。
Step 2: 歸一化訓(xùn)練樣本,這里采用min-max標(biāo)準(zhǔn)化方法,其轉(zhuǎn)換函數(shù)如下:
其中,x*為樣本數(shù)據(jù)轉(zhuǎn)換后的標(biāo)準(zhǔn)數(shù)據(jù),且有x*∈[0,1]。xmax為樣本數(shù)據(jù)中的最大值。xmin為樣本數(shù)據(jù)中的最小值。x為樣本數(shù)據(jù)的原始值。
Step 3:隨機(jī)抽取樣本數(shù)據(jù)的70%作為訓(xùn)練集,其余30%為測試集。
Step 4:在訓(xùn)練集上,利用AutoEncoder自編碼器進(jìn)行學(xué)習(xí)訓(xùn)練。訓(xùn)練結(jié)束后得到RBF神經(jīng)網(wǎng)絡(luò)NN*。
Step 5:在網(wǎng)絡(luò)NN*各個參數(shù)的基礎(chǔ)上,利用梯度下降方法繼續(xù)調(diào)整更新各個參數(shù),直至滿足終止條件。
下面對本文提出的算法進(jìn)行仿真實(shí)驗,試驗數(shù)據(jù)特選取UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫中的Iris、Glass、Wine等3個數(shù)據(jù)集,作為樣本集。各個數(shù)據(jù)集的基本情況參見表1。
表1 Iris、Glass、Wine等數(shù)據(jù)集基本情況
為驗證本算法的可行性與先進(jìn)性,特采取在第2節(jié)描述的采樣隨機(jī)輸出宏網(wǎng)絡(luò)各個參數(shù)的傳統(tǒng)訓(xùn)練方法作為對比,采用相同的隱含層節(jié)點(diǎn)數(shù),分別對上述3個數(shù)據(jù)集重復(fù)進(jìn)行10仿真實(shí)驗,取其識別精度的平均值作為其訓(xùn)練與測試能力的評價標(biāo)準(zhǔn)。
仿真實(shí)驗結(jié)果如表2所示。
表2 仿真實(shí)驗結(jié)果
從實(shí)驗結(jié)果可知,在選取相同數(shù)目的隱含層結(jié)點(diǎn)的前提下,本文提出的算法,無論在訓(xùn)練集的訓(xùn)練精度,還是在測試集上的測試精度上,都比采用傳統(tǒng)隨機(jī)初始化網(wǎng)絡(luò)各個參數(shù)的方法都有較好的表現(xiàn)。
AutoEncoder自動編碼器能夠采用無監(jiān)督特征學(xué)習(xí)算法,模擬人類視覺系統(tǒng),來對原始樣本數(shù)據(jù)進(jìn)行分析學(xué)習(xí),表現(xiàn)出了強(qiáng)大的從少數(shù)樣本中學(xué)習(xí)數(shù)據(jù)集本質(zhì)特征的能力,在圖像識別、語音識別、語義識別等領(lǐng)域有著廣闊的應(yīng)用前景。本文利用AutoEncoder算法初始化RBF神經(jīng)網(wǎng)絡(luò)參數(shù),接著利用梯度下降方法來調(diào)整更新網(wǎng)絡(luò)的參數(shù)。經(jīng)過試驗仿真,說明了本文所提的算法具有可行性與先進(jìn)性,相對于傳統(tǒng)方法,具有更好的學(xué)習(xí)能力與泛化能力。對RBF神經(jīng)網(wǎng)絡(luò)的進(jìn)一步推廣應(yīng)用有著積極的作用。
10.3969/j.issn.1001-8972.2015.09.018