付 琦
(山東農業(yè)工程學院,濟南 250100)
一種基于遺傳算法的神經(jīng)網(wǎng)絡結構優(yōu)化方法
付 琦
(山東農業(yè)工程學院,濟南 250100)
近年來,人工神經(jīng)網(wǎng)絡(ANN)提供了一種新的方法來模擬復雜而又難以定義的問題,ANN已經(jīng)在智能控制、機器人、模式識別、計算機視覺、生產(chǎn)過程優(yōu)化和信息處理等多種領域中取得了廣泛應用[1~4]。研究結果表明,如果ANN的網(wǎng)絡結構太大,將導致歸納性較差,反之,太小的網(wǎng)絡結構則會造成學習能力偏低。因此,如何能夠快速而準確地設計ANN網(wǎng)絡結構一直以來都是工程領域和研究領域備受關注的熱點問題[5]。ANN網(wǎng)絡結構優(yōu)化問題就是要確定ANN網(wǎng)絡中隱藏層的最優(yōu)數(shù)量,每一層中的神經(jīng)元數(shù)量及合適的激活函數(shù),以便盡量提高人工神經(jīng)網(wǎng)絡的性能[6]。
ANN網(wǎng)絡結構優(yōu)化方法有很多種,文獻[7]利用主成分分析法確定輸入層結點數(shù),可使問題得到一定的解決,但是當樣本數(shù)據(jù)很大時,樣本集本身沒有包含全部樣本的特征,將導致預測的結果出現(xiàn)較大的誤差。文獻[8]利用模糊聚類法首先對樣本進行分類,然后再從每一類中按一定比例選擇學習樣本,但在分類時,究竟應將樣本數(shù)據(jù)分為幾類往往隨意性很大。文獻[9]針對小波神經(jīng)網(wǎng)絡提出了一種基于自適應投影算法的結構優(yōu)化方法,但該方法計算量較大,處理過程相對較復雜。文獻[10]針對神經(jīng)網(wǎng)絡的結構存在冗余的問題, 提出了一種利用粗糙集優(yōu)化神經(jīng)網(wǎng)絡結構的方法,該方法以粗糙集數(shù)據(jù)分析為基礎,缺乏對決策原理的滲入闡述。
本文提出了一個新的基于數(shù)學規(guī)劃的ANN網(wǎng)絡結構優(yōu)化方法,應用遺傳算法找到最佳的隱藏層、激活函數(shù)和矩陣的權重,并將這個問題作為一個具有非混合約束的線性規(guī)劃,最終通過遺傳算法來解決。這樣設計之后,可以調整用于學習或者訓練的ANN結構權重矩陣,得到最佳的網(wǎng)絡結構。本文的組織如下:第2節(jié)介紹了人工神經(jīng)網(wǎng)絡,第3節(jié)提出了神經(jīng)優(yōu)化問題的架構和建模思路,第4節(jié)展示了如何通過遺傳算法來解決這個問題,第5節(jié)進行試驗驗證,第6節(jié)總結全文。
1969年,研究人員M. Minsky和S. Papert首次提出多層神經(jīng)網(wǎng)絡(MLN)的概念[11]。MLN網(wǎng)絡在輸入和輸出層間有一或多個隱藏層,其結構如圖1所示,同一層中神經(jīng)元間沒有鏈路。一般來說,每個神經(jīng)元與下一層中的所有神經(jīng)元相連。
如圖1所示,本質上來說,人工神經(jīng)網(wǎng)絡屬于暗箱運算,利用一組非線性基函數(shù)將輸出與輸出聯(lián)系起來。ANN網(wǎng)絡的基本單元是神經(jīng)元,包括簡單的同步處理元素,由生物神經(jīng)系統(tǒng)激活。利用一組輸入數(shù)據(jù)及實際測量值得出的相應輸出數(shù)據(jù)(輸入/輸出對)來訓練ANN網(wǎng)絡,以便使一組輸入盡可能準確地得出一組目標輸出。許多研究已經(jīng)證明,MLN網(wǎng)絡可有效求解多種復雜問題。
在訓練ANN網(wǎng)絡時需要調整神經(jīng)元間每條鏈路的權重,直到每組輸入數(shù)據(jù)計算出來的輸出與實驗數(shù)據(jù)輸出盡可能地接近。連續(xù)層中的神經(jīng)元互相連接,每個神經(jīng)元計算其輸入的權重之和,而輸出需要計算該值經(jīng)過激活函數(shù)調整過的值。比如,該激活函數(shù)可為S形函數(shù):
訓練過后,網(wǎng)絡不僅可以對學習基點再生理想的輸出,對其他輸入也可以再生理想輸出,這個過程稱為泛化。
輸出層中的神經(jīng)元可收集hN隱藏層的輸出,輸出層的神經(jīng)元計算如下:
為了對神經(jīng)架構優(yōu)化問題建模,神經(jīng)網(wǎng)絡的輸出可計算如下:
其中,U=[u1,…,ui,…,uN-1],其中向量ui的取值為0或1。
如圖2(a)所示,首個隱藏層的輸出可計算如下:
隱藏層i計算出來的輸出:
如圖2(b)所示,最后一個隱藏層計算如下:
如圖2(c)所示,神經(jīng)網(wǎng)絡的輸出計算如下:
優(yōu)化目標函數(shù):數(shù)學規(guī)劃模型的目標函數(shù)表示計算輸出和預期輸出間的誤差:
最后約束可保證存在隱藏層:
在本文中,我們的優(yōu)化目標是調整ANN網(wǎng)絡結構的權重矩陣,我們將上述問題表述為一種固定變量非線性規(guī)劃問題下,并通過遺傳算法對其進行解決。
遺傳算法(Genetic Algorithm,GA)屬于“進化算法”概率方法,已經(jīng)在通信、路由、調度等多種領域的優(yōu)化問題中得到應用[12]。GA算法以選擇和變異規(guī)則為基礎。每一個解表示一個或多個染色體被編碼的一個個體,這些染色體表示問題中的變量。首先,生成由固定數(shù)量個體組成的初始種群,對選擇出來的一組個體進行繁殖操作,交換其適應度。這一步驟一直持續(xù)至到達最大數(shù)量迭代次數(shù)為止,具體步驟如下:
1)初始種群
圖2 神經(jīng)網(wǎng)絡各層之間的計算方法
隨機產(chǎn)生N個初始串結構數(shù)據(jù),每個串結構數(shù)據(jù)稱為一個個體。N個個體,構成了一個群體,這個參數(shù)N需要根據(jù)問題的規(guī)模而確定。初始種群中的個體隨機生成,其中向量“u”的變量取值0或1,權重矩陣從IR空間中隨機取值。
2)個體評估
計算交換產(chǎn)生的新個體的適應度,適應度用來度量種群中個體優(yōu)劣(符合條件的程度)的指標值,這里的適應度就是特征組合的判據(jù)的值。這個判據(jù)的選取是GA的關鍵所在。在該步驟中,根據(jù)個體表現(xiàn)為各個個體相應分配一個稱為適應度的數(shù)值;從本質上來講,它取決于該個體的目標函數(shù)值。個體的適應度越大,匹配度越高。本文中的適應度如下:
其中,M是一個遠大于零數(shù)值,使“objective”目標函數(shù)值最小,等價于使適應度函數(shù)的值最大。
3)選擇
選擇的目的是為了從交換后的群體中選出優(yōu)良的個體,使它們有機會作為父代為下一代繁殖子孫。采用RWS(Roulette Wheel Selection)輪盤方法作為本文的選擇方法;該方法是一種比例型選擇方法,根據(jù)個體的適應度來選擇個體,這一步驟的存在使得當前群體是所有搜索過的解之中是最優(yōu)的前N個的集合。
4)變異
變異是算法中非常重要的一個步驟。該步驟中,根據(jù)種群中選擇出來的個體(父母)來生成新的個體(子嗣)。子個體構建方法如下:我們固定一個變異點,母個體在該點切開,母個體1的第1部分與母個體2的第2部分屬于子個體1,其他部分屬于子個體2。在我們采用的變異策略中選擇不同的變異點,第1個變異點指向權重矩陣,第2個針對向量U。
我們在本小節(jié)將通過一些數(shù)值示例來闡述本文方法的驗證,本文采用多層網(wǎng)絡架構,該架構使用的激活函數(shù)為:
這里,我們采用均方根誤差(RMSE)來評估統(tǒng)計性能,計算方法如下:
其中,Yi表示實際數(shù)值(計算出來的),d表示預測數(shù)值,其中第ith個觀測值從1~Q計數(shù),Q表示總觀測值的數(shù)量。
試驗結果如表2所示,可以看出,針對不同的ANN,通過本文的算法優(yōu)化均可以給出最佳的網(wǎng)絡結構優(yōu)化策略,優(yōu)化后的最佳隱藏層數(shù)量比設計值降低了30%左右,平均RMSE指標小于1,從中可以看出本文中理論結果及新模型的有效性。
表1 神經(jīng)網(wǎng)絡結構優(yōu)化試驗結果
本文針對神經(jīng)網(wǎng)絡架構優(yōu)化問題提出了一種基于遺傳算法的結構優(yōu)化方法,尤其適合于求解復雜的非線性問題。經(jīng)測試,該方法可確定ANN網(wǎng)絡中隱藏層的最優(yōu)數(shù)量及最優(yōu)權重矩陣,以便使預期(預測)輸出與計算輸出間的誤差最小。這些參數(shù)的確定對ANN網(wǎng)絡的性能具有一定影響。此外,本文方法從本質上來講非常容易實現(xiàn)并行化。
[1]梁捷,陳力.執(zhí)行器受限空間機器人的模糊神經(jīng)網(wǎng)絡控制[J].工程力學.2014,(11):190-197.
[2]李震宇.基于神經(jīng)網(wǎng)絡的計算機網(wǎng)絡安全評價研究[J].電子制作.2014,(19):118.
[3]黃芳,吳小良.基于BP神經(jīng)網(wǎng)絡的轉爐出鋼過程氧含量預測及優(yōu)化[J].熱加工工藝.2013,(01):48-50.
[4]龔靜,陳向東,時子青.基于CS和神經(jīng)網(wǎng)絡的傳感器網(wǎng)絡模式識別研究[J].傳感器與微系統(tǒng).2011,(12):62-64.
[5]楊鐘瑾,史忠科.神經(jīng)網(wǎng)絡結構優(yōu)化方法[J].計算機工程與應用.2004,(25):52-54.
[6]Wang D.Fast Constructive-Covering Algorithm for neural networks and its implement in classification[J].Applied Soft Computing.2008,8 (1):166-173.
[7]陳小前,羅世彬,王振國,等.BP神經(jīng)網(wǎng)絡應用中的前后處理過程研究[J].系統(tǒng)工程理論與實踐.2002,(01):65-70.
[8]何勇,項利國.基于模糊聚類的BP神經(jīng)網(wǎng)絡模型研究及應用[J].系統(tǒng)工程理論與實踐.2004,(02):79-82.
[9]潘玉民,張曉宇,張全柱,等.基于量子粒子群優(yōu)化的小波神經(jīng)網(wǎng)絡預測模型[J].信息與控制.2012,(06):741-746.
[10]夏紅霞,王惠營,胡磊.基于粗糙集的神經(jīng)網(wǎng)絡結構優(yōu)化方法[J].計算機與數(shù)字工程.2010,(05):49-51.
[11]Cichoki A, Unberhuen R.Neural Network for Optimization and signal processing.
[12]李敏遠,都延麗.基于遺傳算法學習的復合神經(jīng)網(wǎng)絡自適應溫度控制系統(tǒng)[J].控制理論與應用.2004,(02):242-246.
A novel method for neural network structure optimization based on genetic algorithm
FU Qi
神經(jīng)網(wǎng)絡隱藏層數(shù)量的選擇以及權重值的確定對訓練算法的收斂性有很大影響,為了解決神經(jīng)網(wǎng)絡(ANN)訓練過程中結構復雜的問題,提出了一種基于遺傳算法(GA)的網(wǎng)絡結構優(yōu)化方法。試驗結果表明,在訓練樣板數(shù)量較大時,優(yōu)化后的ANN能夠計算出隱藏層的最佳數(shù)量,從而提高整體的性能,具有較好的泛華能力。
神經(jīng)網(wǎng)絡;結構優(yōu)化;遺傳算法;非線性優(yōu)化
付琦(1982 -),男,山東濟南人,講師,碩士,研究方向為計算機科學與技術。
book=74,ebook=406
TP18
A
1009-0134(2015)07(下)-0071-04
10.3969/j.issn.1009-0134.2015.07(下).22
2015-03-18