當前位置:學問君>學習教育>論文寫作>

利用遺傳模擬退火算法優化神經網絡結構

學問君 人氣:1.67W

摘要:常用的神經網絡是透過固定的網絡結構得到最優權值,使網絡的實用性受到影響。引入了一種基於方向的交叉算子和變異算子,同時把模擬退火算法引入了遺傳算法,結合遺傳算法和模擬退火算法的優點,提出了一種優化神經網絡結構的遺傳——模擬退火混合算法,實現了網絡結構和權值的同時優化。仿真實驗表明,與遺傳算法和模擬退火算法相比,該算法優化的神經網絡收斂速度較快、預測精度較高,提高了網絡的處理能力。

利用遺傳模擬退火算法優化神經網絡結構

關鍵詞:遺傳算法;模擬退火算法;神經網絡;優化

l、引言

神經網絡是由多個簡單的處理單元彼此按某種方式相互連接而形成的計算系統,該系統透過對連續或斷續式的輸入作狀態響應而進行資訊處理。雖然每個神經元的結構和功能十分簡單,但由大量神經元構成的網絡系統的行爲卻豐富多彩和十分複雜。神經網絡在國民經濟和國防科技現代化建設中具有廣闊的應用領域和應用前景。主要應用領域有:語音識別、圖像識別、計算機視覺、智能機器人、故障機器人、故障檢測、實施語言翻譯、企業管理、市場分析、決策優化、物資調運自適應控制、專家系統、智能接口、神經生理學、心理學和認知科學研究等等。

隨着神經網絡理論研究的深入以及網絡計算能力的不斷拓展,神經網絡的應用領域將會不斷拓展,應用水平將會不斷提高,最終達到神經網絡系統可用來幫人做事的目的,這也是神經網絡研究的最終目標。

神經網絡具有很強的自適應、自組織和自學習的能力,具有大規模並行運算的能力。常用的神經網絡系統的行爲主要由兩方面因素決定:其一爲拓撲結構;其二是節點間連接權值。一般來講,在應用神經網絡過程中只是得到最優權值,結構在整個過程中是固定的,而且在確定結構時,經常根據人爲經驗或經驗公式先擬定一個結構,在此基礎上不斷地訓練網絡、調整結構,最後得到確定的網絡結構,進而應用這個固定的網絡結構得到最優的權值。因此,構造一個準確定量構效關係人工神經網絡模型需要耗費大量的時間,有時利用該方法構造的模型結構還可能不是最佳的l_。近年來,用遺傳算法(Genetic Algo—rithms,GA)解決神經網絡優化設計問題受到廣泛重視。GA在尋優時搜尋方向不停的發生變化,具有較強的全局搜尋能力。

但是,在應用遺傳算法尋優的過程中,仍存在着困難翻:遺傳算法對好的個體易造成塊破壞、易出現早熟。因此,許多學者採取了遺傳算法和其它算法相結合 的措施,如先用遺傳算法進行全局搜尋,確定最優解所在的區域後,再用BP算法(擬牛頓LM算法)進行局部搜尋,但仍然存在耗時較多、精度較低的不足。

Eh Kolmogarav定理可知在有合理的結構和恰當的權值條件下,三層前向網絡能以任意精度逼近有界非線性函數。對於三層神經網絡來說,輸入層、輸出層節點的個數由目標函數結構決定,故而在優化網絡結構時,也優化它的隱層節點的個數。

本文將對應用最爲廣泛的三層前向網絡進行優化設計,把基於方向的遺傳交叉算子和變異算子引入了遺傳算法,並且與模擬退火算法(Simulated Annealing,SA)結合,提出了自適應遺傳一模擬退火混合算法,使在得到神經網絡最優權值的同時,也自動得到最優網絡結構。仿真研究表明,此算法在以負荷作爲訓練樣本的神經網絡中具有良好的實用性。不僅能確定出最佳隱層節點個數,同時能生成落在全局最優區域的權值。

2、遺傳算法遺傳算法是近年來迅速發展起來的一種全新的隨機搜尋與優化算法,其基本思想是基於Darwin的進化論和Mendel的遺傳學說。該算法由密執安大學教授Hol 1and及其學生於1975年創建 。隨後經過20多年的發展,取得了豐碩的應用成果和理論研究成果,特別是近年來世界範圍內形成的進化汁算熱潮,汁算智能已作爲人工智能研究的一個重要方向,以及後來的人工生命的興起,使GA受到廣泛的關注。遺傳算法主要透過選擇複製和遺傳算子的作用使種羣不斷進化,最終收斂到優化解。遺傳算法是一種並行搜尋過程,它具有較強的全局尋優能力。

2.1 編碼方式圈爲了計算簡便,本文省略神經網絡閾值。個體的長度由最大隱層節點個數決定,即z=(r+c)·^一+/I。 其中:r爲輸人節點數?h 爲最大隱層節點數、c爲輸出節點數。將同一個隱層節點所連接的權值排在一起,當刪除或增加隱層節點時,方便操作。將隱層節點個數及網絡權值進行混合實數編碼,另外對隱含層節點增加了一個O-1組成的數串用作控制碼。控制碼主要是控制隱節點的個數,0—1數串中的一個數控制一個隱層節點。

圖1中,m,是表示第一個隱層節點有效性的O-1控制碼,h 是表示第 一個隱層節點有效性的O-1控制碼, 是與第一個隱層節點相關的權值, :是與第二個隱層節點相關的權值, ^一是與第矗一個隱層節點相關的權值。

初始羣體中不同隱層節點個數的個體按照一定的比例隨機產生。當O-1數串中的數爲0時,其所對應的隱含層節點對輸出層沒有作用(即相當於不存在此神經元),當數串中的數爲1時,就相當於此隱含層節點對輸出層有作用採用上述方法編碼,每個個體譯碼後的網絡結構都滿足前面所述的研究前提條件,因此不存在所對應的網絡結構無效的個體。

2.2 適應度函數的確定及選擇運算

2.3 交叉率和變異率的確定

2.4 交叉算子對控制基因和實數編碼的基因分別採用不同的`交叉算子。

對於控制基因,採用兩點交叉;對於用實數編碼的代表各個節點權值的基因,採用下面所述交叉方法:

假設要參與交叉操作的兩個個體分別爲 ,兩個個體上相對應位的權值分別爲 ,並且 的適應度高於 的適應度,定義式(2)、(3)所示的△ 、△ 兩個中間變量:

2.5 變異算子隨機取出需要變異的一個個體,再從控制碼中隨機選出一個數,這個數的變異采用基本變異算子。若這個數變異後的控制基因是1,則從控制基因1對應的權值串中選一隨機位,設這一隨機位上的權值爲Xc 的變異爲:在區間 ,X21上隨機取一數 :代替 區問 ]如式(6)、(7)確定。

3、模擬退火算法模擬退火算法的思想最早由Metropolis等於1 953年提出。SA又稱爲模擬冷卻法、統計冷卻法、Monte-Carlo退火法、隨機鬆弛法和概率爬山法等。1983年Kirkpatriekm等開展了一些富有成效的工作,成功地將該思想引入組合優化理論,解決了許多諸如VLSI等大規模優化設計問題。SA算法是基於Mente Carlo迭代求解策略的一種隨機尋優方法,其出發點是基於物理中固體物質的退火過程與一般組合優化問題之間的相似陛。SA算法在某一初溫下,伴隨溫度參數的不斷下降,結合概率突跳特性在解空間中隨機尋找目標函數的全局最優解,即在局部優解能概率性的跳出並最終趨於全局最優[81。SA算法具有質量高、初始魯棒性強、通用易實現的優點。但是爲尋到最優解,算法通常要求較高的初溫、較慢的降溫、較低的終止溫度以及各溫度下足夠多的抽樣,因而SA算法往往優化過程較長,這是SA算法的最大缺點。

4、訓練步驟步驟1設定三層前向神經網絡的輸入節點r、隱含層節點、輸出節點c、初始溫度 、退火次數Num、退火個體數Ⅳ;步驟2在【0,l】範圍內隨機產生PP條染色體,得到初始種羣,並設初始進化代數L=0; 一步驟3由設定的選擇概率按選擇機制對個體選擇;步驟4由自適應交叉概率按交叉算子進行交叉操作;步驟5由自適應變異概率按變異算子進行變異操作;步驟6把由步驟3,4、5得到的個體放到—起作爲中間種羣;步驟7計算中間種羣的適應度,將適應度大的個體分別進行模擬退火Num次;步驟8將模擬退火次後得到的Ⅳ個最好的個體替代中間種羣中取出的Ⅳ個個體,組成新的種羣;步驟9如果進化代數小於預先設定的最大遺傳代數,令= +1,轉步驟3,否則,終止網絡的訓練,選出最優個體,轉步驟10;步驟10將最優個體按順序拆分,作爲BP網絡的最優權值;步驟1 1輸入與訓練樣本集模式相一致的預測樣本,得到預測值,並計算出相對誤差。

5、仿真實驗及結果

本文在河北地區1999年7月1日至2003年l2月31日的歷史負荷中篩選了多組樣本數據,訓練神經網絡。

6、結論

本文提出的遺傳模擬退火算法是一種同時優化神經網絡結構和權值的算法,它是在遺傳算法中對控制碼和權值域分別引進算子。在交叉過程中,對權值應用自適應交叉和變異率,引入向適應度高的方向進化的交叉算子,對控制基因用兩點交叉。在變異時,對控制基因採用基本變異算子,之後將中間種羣中的適應度高的個體在其周圍進行模擬退火,這樣充分發揮了遺傳算法和模擬退火算法的優點,克服了遺傳算法在神經網絡優化過程中存在的不足。表2說明,本文算法確實有效地使神經網絡的結構和權值同時得到了優化;表3說明將本文算法優化神經網絡應用於預測,確實提高了收斂速度,得到了較高的預測精度。