- 相關(guān)推薦
利用遺傳模擬退火算法優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
摘要:常用的神經(jīng)網(wǎng)絡(luò)是通過固定的網(wǎng)絡(luò)結(jié)構(gòu)得到最優(yōu)權(quán)值,使網(wǎng)絡(luò)的實(shí)用性受到影響。引入了一種基于方向的交叉算子和變異算子,同時(shí)把模擬退火算法引入了遺傳算法,結(jié)合遺傳算法和模擬退火算法的優(yōu)點(diǎn),提出了一種優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的遺傳——模擬退火混合算法,實(shí)現(xiàn)了網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)值的同時(shí)優(yōu)化。仿真實(shí)驗(yàn)表明,與遺傳算法和模擬退火算法相比,該算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)收斂速度較快、預(yù)測精度較高,提高了網(wǎng)絡(luò)的處理能力。
關(guān)鍵詞:遺傳算法;模擬退火算法;神經(jīng)網(wǎng)絡(luò);優(yōu)化
l、引言
神經(jīng)網(wǎng)絡(luò)是由多個簡單的處理單元彼此按某種方式相互連接而形成的計(jì)算系統(tǒng),該系統(tǒng)通過對連續(xù)或斷續(xù)式的輸入作狀態(tài)響應(yīng)而進(jìn)行信息處理。雖然每個神經(jīng)元的結(jié)構(gòu)和功能十分簡單,但由大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)的行為卻豐富多彩和十分復(fù)雜。神經(jīng)網(wǎng)絡(luò)在國民經(jīng)濟(jì)和國防科技現(xiàn)代化建設(shè)中具有廣闊的應(yīng)用領(lǐng)域和應(yīng)用前景。主要應(yīng)用領(lǐng)域有:語音識別、圖像識別、計(jì)算機(jī)視覺、智能機(jī)器人、故障機(jī)器人、故障檢測、實(shí)施語言翻譯、企業(yè)管理、市場分析、決策優(yōu)化、物資調(diào)運(yùn)自適應(yīng)控制、專家系統(tǒng)、智能接口、神經(jīng)生理學(xué)、心理學(xué)和認(rèn)知科學(xué)研究等等。
隨著神經(jīng)網(wǎng)絡(luò)理論研究的深入以及網(wǎng)絡(luò)計(jì)算能力的不斷拓展,神經(jīng)網(wǎng)絡(luò)的應(yīng)用領(lǐng)域?qū)粩嗤卣梗瑧?yīng)用水平將會不斷提高,最終達(dá)到神經(jīng)網(wǎng)絡(luò)系統(tǒng)可用來幫人做事的目的,這也是神經(jīng)網(wǎng)絡(luò)研究的最終目標(biāo)。
神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的自適應(yīng)、自組織和自學(xué)習(xí)的能力,具有大規(guī)模并行運(yùn)算的能力。常用的神經(jīng)網(wǎng)絡(luò)系統(tǒng)的行為主要由兩方面因素決定:其一為拓?fù)浣Y(jié)構(gòu);其二是節(jié)點(diǎn)間連接權(quán)值。一般來講,在應(yīng)用神經(jīng)網(wǎng)絡(luò)過程中只是得到最優(yōu)權(quán)值,結(jié)構(gòu)在整個過程中是固定的,而且在確定結(jié)構(gòu)時(shí),經(jīng)常根據(jù)人為經(jīng)驗(yàn)或經(jīng)驗(yàn)公式先擬定一個結(jié)構(gòu),在此基礎(chǔ)上不斷地訓(xùn)練網(wǎng)絡(luò)、調(diào)整結(jié)構(gòu),最后得到確定的網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)而應(yīng)用這個固定的網(wǎng)絡(luò)結(jié)構(gòu)得到最優(yōu)的權(quán)值。因此,構(gòu)造一個準(zhǔn)確定量構(gòu)效關(guān)系人工神經(jīng)網(wǎng)絡(luò)模型需要耗費(fèi)大量的時(shí)間,有時(shí)利用該方法構(gòu)造的模型結(jié)構(gòu)還可能不是最佳的l_。近年來,用遺傳算法(Genetic Algo—rithms,GA)解決神經(jīng)網(wǎng)絡(luò)優(yōu)化設(shè)計(jì)問題受到廣泛重視。GA在尋優(yōu)時(shí)搜索方向不停的發(fā)生變化,具有較強(qiáng)的全局搜索能力。
但是,在應(yīng)用遺傳算法尋優(yōu)的過程中,仍存在著困難翻:遺傳算法對好的個體易造成塊破壞、易出現(xiàn)早熟。因此,許多學(xué)者采取了遺傳算法和其它算法相結(jié)合 的措施,如先用遺傳算法進(jìn)行全局搜索,確定最優(yōu)解所在的區(qū)域后,再用BP算法(擬牛頓LM算法)進(jìn)行局部搜索,但仍然存在耗時(shí)較多、精度較低的不足。
Eh Kolmogarav定理可知在有合理的結(jié)構(gòu)和恰當(dāng)?shù)臋?quán)值條件下,三層前向網(wǎng)絡(luò)能以任意精度逼近有界非線性函數(shù)。對于三層神經(jīng)網(wǎng)絡(luò)來說,輸入層、輸出層節(jié)點(diǎn)的個數(shù)由目標(biāo)函數(shù)結(jié)構(gòu)決定,故而在優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)時(shí),也優(yōu)化它的隱層節(jié)點(diǎn)的個數(shù)。
本文將對應(yīng)用最為廣泛的三層前向網(wǎng)絡(luò)進(jìn)行優(yōu)化設(shè)計(jì),把基于方向的遺傳交叉算子和變異算子引入了遺傳算法,并且與模擬退火算法(Simulated Annealing,SA)結(jié)合,提出了自適應(yīng)遺傳一模擬退火混合算法,使在得到神經(jīng)網(wǎng)絡(luò)最優(yōu)權(quán)值的同時(shí),也自動得到最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。仿真研究表明,此算法在以負(fù)荷作為訓(xùn)練樣本的神經(jīng)網(wǎng)絡(luò)中具有良好的實(shí)用性。不僅能確定出最佳隱層節(jié)點(diǎn)個數(shù),同時(shí)能生成落在全局最優(yōu)區(qū)域的權(quán)值。
2、遺傳算法遺傳算法是近年來迅速發(fā)展起來的一種全新的隨機(jī)搜索與優(yōu)化算法,其基本思想是基于Darwin的進(jìn)化論和Mendel的遺傳學(xué)說。該算法由密執(zhí)安大學(xué)教授Hol 1and及其學(xué)生于1975年創(chuàng)建 。隨后經(jīng)過20多年的發(fā)展,取得了豐碩的應(yīng)用成果和理論研究成果,特別是近年來世界范圍內(nèi)形成的進(jìn)化汁算熱潮,汁算智能已作為人工智能研究的一個重要方向,以及后來的人工生命的興起,使GA受到廣泛的關(guān)注。遺傳算法主要通過選擇復(fù)制和遺傳算子的作用使種群不斷進(jìn)化,最終收斂到優(yōu)化解。遺傳算法是一種并行搜索過程,它具有較強(qiáng)的全局尋優(yōu)能力。
2.1 編碼方式圈為了計(jì)算簡便,本文省略神經(jīng)網(wǎng)絡(luò)閾值。個體的長度由最大隱層節(jié)點(diǎn)個數(shù)決定,即z=(r+c)·^一+/I。 其中:r為輸人節(jié)點(diǎn)數(shù)?h 為最大隱層節(jié)點(diǎn)數(shù)、c為輸出節(jié)點(diǎn)數(shù)。將同一個隱層節(jié)點(diǎn)所連接的權(quán)值排在一起,當(dāng)刪除或增加隱層節(jié)點(diǎn)時(shí),方便操作。將隱層節(jié)點(diǎn)個數(shù)及網(wǎng)絡(luò)權(quán)值進(jìn)行混合實(shí)數(shù)編碼,另外對隱含層節(jié)點(diǎn)增加了一個O-1組成的數(shù)串用作控制碼。控制碼主要是控制隱節(jié)點(diǎn)的個數(shù),0—1數(shù)串中的一個數(shù)控制一個隱層節(jié)點(diǎn)。
圖1中,m,是表示第一個隱層節(jié)點(diǎn)有效性的O-1控制碼,h 是表示第 一個隱層節(jié)點(diǎn)有效性的O-1控制碼, 是與第一個隱層節(jié)點(diǎn)相關(guān)的權(quán)值, :是與第二個隱層節(jié)點(diǎn)相關(guān)的權(quán)值, ^一是與第矗一個隱層節(jié)點(diǎn)相關(guān)的權(quán)值。
初始群體中不同隱層節(jié)點(diǎn)個數(shù)的個體按照一定的比例隨機(jī)產(chǎn)生。當(dāng)O-1數(shù)串中的數(shù)為0時(shí),其所對應(yīng)的隱含層節(jié)點(diǎn)對輸出層沒有作用(即相當(dāng)于不存在此神經(jīng)元),當(dāng)數(shù)串中的數(shù)為1時(shí),就相當(dāng)于此隱含層節(jié)點(diǎn)對輸出層有作用采用上述方法編碼,每個個體譯碼后的網(wǎng)絡(luò)結(jié)構(gòu)都滿足前面所述的研究前提條件,因此不存在所對應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)無效的個體。
2.2 適應(yīng)度函數(shù)的確定及選擇運(yùn)算
2.3 交叉率和變異率的確定
2.4 交叉算子對控制基因和實(shí)數(shù)編碼的基因分別采用不同的交叉算子。
對于控制基因,采用兩點(diǎn)交叉;對于用實(shí)數(shù)編碼的代表各個節(jié)點(diǎn)權(quán)值的基因,采用下面所述交叉方法:
假設(shè)要參與交叉操作的兩個個體分別為 ,兩個個體上相對應(yīng)位的權(quán)值分別為 ,并且 的適應(yīng)度高于 的適應(yīng)度,定義式(2)、(3)所示的△ 、△ 兩個中間變量:
2.5 變異算子隨機(jī)取出需要變異的一個個體,再從控制碼中隨機(jī)選出一個數(shù),這個數(shù)的變異采用基本變異算子。若這個數(shù)變異后的控制基因是1,則從控制基因1對應(yīng)的權(quán)值串中選一隨機(jī)位,設(shè)這一隨機(jī)位上的權(quán)值為Xc 的變異為:在區(qū)間 ,X21上隨機(jī)取一數(shù) :代替 區(qū)問 ]如式(6)、(7)確定。
3、模擬退火算法模擬退火算法的思想最早由Metropolis等于1 953年提出。SA又稱為模擬冷卻法、統(tǒng)計(jì)冷卻法、Monte-Carlo退火法、隨機(jī)松弛法和概率爬山法等。1983年Kirkpatriekm等開展了一些富有成效的工作,成功地將該思想引入組合優(yōu)化理論,解決了許多諸如VLSI等大規(guī)模優(yōu)化設(shè)計(jì)問題。SA算法是基于Mente Carlo迭代求解策略的一種隨機(jī)尋優(yōu)方法,其出發(fā)點(diǎn)是基于物理中固體物質(zhì)的退火過程與一般組合優(yōu)化問題之間的相似陛。SA算法在某一初溫下,伴隨溫度參數(shù)的不斷下降,結(jié)合概率突跳特性在解空間中隨機(jī)尋找目標(biāo)函數(shù)的全局最優(yōu)解,即在局部優(yōu)解能概率性的跳出并最終趨于全局最優(yōu)[81。SA算法具有質(zhì)量高、初始魯棒性強(qiáng)、通用易實(shí)現(xiàn)的優(yōu)點(diǎn)。但是為尋到最優(yōu)解,算法通常要求較高的初溫、較慢的降溫、較低的終止溫度以及各溫度下足夠多的抽樣,因而SA算法往往優(yōu)化過程較長,這是SA算法的最大缺點(diǎn)。
4、訓(xùn)練步驟步驟1設(shè)定三層前向神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)r、隱含層節(jié)點(diǎn)、輸出節(jié)點(diǎn)c、初始溫度 、退火次數(shù)Num、退火個體數(shù)Ⅳ;步驟2在【0,l】范圍內(nèi)隨機(jī)產(chǎn)生PP條染色體,得到初始種群,并設(shè)初始進(jìn)化代數(shù)L=0; 一步驟3由設(shè)定的選擇概率按選擇機(jī)制對個體選擇;步驟4由自適應(yīng)交叉概率按交叉算子進(jìn)行交叉操作;步驟5由自適應(yīng)變異概率按變異算子進(jìn)行變異操作;步驟6把由步驟3,4、5得到的個體放到—起作為中間種群;步驟7計(jì)算中間種群的適應(yīng)度,將適應(yīng)度大的個體分別進(jìn)行模擬退火Num次;步驟8將模擬退火次后得到的Ⅳ個最好的個體替代中間種群中取出的Ⅳ個個體,組成新的種群;步驟9如果進(jìn)化代數(shù)小于預(yù)先設(shè)定的最大遺傳代數(shù),令= +1,轉(zhuǎn)步驟3,否則,終止網(wǎng)絡(luò)的訓(xùn)練,選出最優(yōu)個體,轉(zhuǎn)步驟10;步驟10將最優(yōu)個體按順序拆分,作為BP網(wǎng)絡(luò)的最優(yōu)權(quán)值;步驟1 1輸入與訓(xùn)練樣本集模式相一致的預(yù)測樣本,得到預(yù)測值,并計(jì)算出相對誤差。
5、仿真實(shí)驗(yàn)及結(jié)果
本文在河北地區(qū)1999年7月1日至2003年l2月31日的歷史負(fù)荷中篩選了多組樣本數(shù)據(jù),訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
6、結(jié)論
本文提出的遺傳模擬退火算法是一種同時(shí)優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)值的算法,它是在遺傳算法中對控制碼和權(quán)值域分別引進(jìn)算子。在交叉過程中,對權(quán)值應(yīng)用自適應(yīng)交叉和變異率,引入向適應(yīng)度高的方向進(jìn)化的交叉算子,對控制基因用兩點(diǎn)交叉。在變異時(shí),對控制基因采用基本變異算子,之后將中間種群中的適應(yīng)度高的個體在其周圍進(jìn)行模擬退火,這樣充分發(fā)揮了遺傳算法和模擬退火算法的優(yōu)點(diǎn),克服了遺傳算法在神經(jīng)網(wǎng)絡(luò)優(yōu)化過程中存在的不足。表2說明,本文算法確實(shí)有效地使神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和權(quán)值同時(shí)得到了優(yōu)化;表3說明將本文算法優(yōu)化神經(jīng)網(wǎng)絡(luò)應(yīng)用于預(yù)測,確實(shí)提高了收斂速度,得到了較高的預(yù)測精度。
【利用遺傳模擬退火算法優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)】相關(guān)文章:
模擬退火算法在匹配場定位優(yōu)化中的應(yīng)用10-25
期望最大算法的優(yōu)化及其在神經(jīng)放電尖峰分類中的應(yīng)用08-25
基于遺傳算法的OD分布09-14
一種可用于數(shù)值優(yōu)化的一維智能體遺傳算法的研究07-10
淺析植物遺傳資源的保存與利用09-30
研究植物遺傳資源的保存與利用07-29
基于DSP的信道譯碼算法優(yōu)化10-13