季偉東 王克奇 張建飛 馬 寧
(東北林業(yè)大學(xué),哈爾濱,150040) (黑龍江科技學(xué)院) (哈爾濱師范大學(xué))
木材缺陷直接影響木材品質(zhì)及其使用價(jià)值,木材表面缺陷識(shí)別的研究對(duì)于木材的科學(xué)利用具有十分重要的意義。木材表面缺陷模式識(shí)別通常采用人工神經(jīng)網(wǎng)絡(luò)技術(shù)[1-3],收斂速度慢,精度低,識(shí)別率不高。為解決神經(jīng)網(wǎng)絡(luò)這一問題,當(dāng)前很多研究者將模擬退火、遺傳算法等一些全局搜索方法用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中。但其復(fù)雜的操作使得神經(jīng)網(wǎng)絡(luò)所消耗時(shí)間隨著問題的規(guī)模和復(fù)雜度成指數(shù)級(jí)增長(zhǎng),并且在局部搜索方面缺乏有效的機(jī)制,在最優(yōu)解附近收斂速度變慢甚至停滯。針對(duì)此問題,筆者用改進(jìn)后的粒子群算法訓(xùn)練開關(guān)神經(jīng)網(wǎng)絡(luò),將其用于木材表面缺陷識(shí)別,目的是加快收斂速度,提高精度,避免陷入局部極值。
粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)于1995年由Eberhart博士和kennedy博士提出。它源于鳥類捕食行為的模擬,首先初始化一隨機(jī)種群,種群中的每個(gè)粒子都代表著所求解問題的一個(gè)可能解。每個(gè)粒子都有自己的位置和速度,在每一次迭代過程中,粒子都記憶、追隨當(dāng)前迭代的最優(yōu)粒子,通過跟蹤兩個(gè)“極值”來更新自己的位置、速度。兩個(gè)極值分別是個(gè)體極值,即粒子本身所找到的最優(yōu)解;全局極值,即整個(gè)種群找到的最優(yōu)解。粒子在迭代過程中找到這兩個(gè)極值后,粒子按照公式(1)、(2)來更新自己的位置和速度[4-5]。
1.2.1 混沌產(chǎn)生初始種群
混沌現(xiàn)象是指發(fā)生在確定性系統(tǒng)中的貌似隨機(jī)的不規(guī)則運(yùn)動(dòng),一個(gè)確定性理論描述的系統(tǒng),其行為卻表現(xiàn)為不確定性,這就是混沌現(xiàn)象。混沌的遍歷性特點(diǎn)可作為搜索過程中避免陷入局部極小的一種優(yōu)化機(jī)制,由混沌序列搜索產(chǎn)生初始種群。這在一定程度上能提高算法的搜索效率,同時(shí)增加種群的多樣性。
1.2.2 克隆選擇變異算子
大量的研究表明基本PSO模型易于過早收斂于一個(gè)平衡點(diǎn)[6],此時(shí)速度為0(或非常接近0),位置也不再變化。
克隆選擇是生物免疫系統(tǒng)理論的重要學(xué)說??寺∈怯⑽腃lone一詞的單譯,意為無性繁殖系,即通過無性繁殖(如細(xì)胞絲分裂)可連續(xù)傳代并形成群體,常用于細(xì)胞水平的描述。
受上述理論啟發(fā),本設(shè)計(jì)克隆選擇變異算子來改變種群中適應(yīng)度值高的M個(gè)粒子的位置向量,避免陷入局部極值??寺∵x擇變異算子如下式(4)描述:
這里,x'ij(t)是 xij(t)克隆后的值,Δ(t,d)=d(1-)。
克隆選擇變異算子對(duì)每一個(gè)位置向量的分量加上一個(gè)隨機(jī)值[7],式中 U(0,1)指區(qū)間(0,1)上的均勻分布,r∈U(0,1),nt是最大迭代次數(shù),β 指定代數(shù)t時(shí)的依賴度。設(shè)β=5能得到較好的效果。
這種非均勻變異算子的特性是Δ(t,d)返回一個(gè)在[0,d]范圍內(nèi)的值,且(t,d)=0,用以保證變異步長(zhǎng)隨著時(shí)間t的增加而遞減,與在進(jìn)化初期變異空間大及在進(jìn)化后期變異空間小相符合。
克隆選擇變異算子操作步驟如下:
①所有粒子按照適應(yīng)度值排序,選取種群中適應(yīng)度值高的M個(gè)粒子無性繁殖成一個(gè)大小為M的群體,群體中每個(gè)個(gè)體與原粒子具有一致的屬性。
②繁殖出的群體位置向量按照克隆選擇變異算子進(jìn)行操作。
③計(jì)算克隆群體粒子的適應(yīng)度值,如果高于本身粒子,則和本身粒子進(jìn)行替換,否則粒子位置不變。
通過克隆選擇變異,種群中適應(yīng)度值最高的M個(gè)粒子具有自學(xué)習(xí)能力,使粒子增加了擺脫局部極值的能力,同時(shí)能夠正確引導(dǎo)其它粒子的位置、速度,提高了算法運(yùn)行效率。
改進(jìn)后粒子群優(yōu)化算法在速度更新上與式(1)不同,采用式(5)的速度更新方式[8]。
上式由Clerc提出,速度被一個(gè)常數(shù)χ收縮,這個(gè)常數(shù)叫做收縮系數(shù)[8]。文獻(xiàn)[9]指出在粒子數(shù)小于30 時(shí),式(5)中各參數(shù)分別取 χ=0.729,φ1=2.8和 φ2=1.3為最佳。
1.2.3 IPSO 算法描述
IPSO過程如下:算法由混沌序列產(chǎn)生初始種群,每一代群體中的所有粒子首先由PSO進(jìn)化,通過式(5)和式(2)更新每個(gè)粒子的速度和位置,并計(jì)算每個(gè)粒子的適應(yīng)度函數(shù)值。根據(jù)粒子的適應(yīng)度值選擇其中的M個(gè)適應(yīng)能力強(qiáng)的粒子,這些粒子被稱為精英個(gè)體。精英個(gè)體不是直接進(jìn)入算法的下一代群體中,而是通過克隆選擇變異算子對(duì)他們進(jìn)行性能再提高,即采用克隆選擇變異算子在精英個(gè)體區(qū)域附近開發(fā)出性能更優(yōu)秀的粒子位置,并由他們引導(dǎo)下一代整個(gè)粒子種群快速進(jìn)化。這些新開發(fā)的粒子同種群中剩余粒子共同構(gòu)成IPSO算法的下一代種群。改進(jìn)的粒子群優(yōu)化算法從總體上看是在PSO算法的下一代群體中融入了一些由克隆選擇變異算子生成的個(gè)體,避免算法過早收斂于一個(gè)平衡點(diǎn)。
為分析本算法的優(yōu)化性能,通過與常規(guī) GA(SGA)和PSO做對(duì)比,對(duì)具有大量局部最優(yōu)點(diǎn)的多峰基準(zhǔn)測(cè)試函數(shù)Griewank式(6)進(jìn)行測(cè)試。
Griewank函數(shù):
在比較實(shí)驗(yàn)中,各算法的參數(shù)按照如下選取:3種不同算法的種群大小都為P=30;SGA采用適應(yīng)度比例選擇算子、算術(shù)交叉和均勻變異算子,其中交叉概率pc=0.9,變異概率pm=0.01;PSO算法中慣性權(quán)系數(shù)ω隨進(jìn)化代數(shù)從0.9線性遞減至0.2;加速因c1=c2=2,粒子最大速度=0.2;本研究IPSO算法粒子群的速度更新采用式(6)的修改后方式,壓縮因子 χ=0.729,系數(shù) φ1=2.8,φ2=1.3,克隆選擇變異算子數(shù)目M=4=0.2。測(cè)試函數(shù)分別取不同維數(shù)(80、150)及相應(yīng)的進(jìn)化代數(shù)(200、600),將3種不同算法對(duì)Griewank基準(zhǔn)測(cè)試函數(shù)分別獨(dú)立運(yùn)行20次后將最優(yōu)解取平均值,并計(jì)算優(yōu)化結(jié)果的標(biāo)準(zhǔn)差,結(jié)果如表1所示。
表1 3種算法獨(dú)立運(yùn)行20次平均最優(yōu)值、標(biāo)準(zhǔn)差比較結(jié)果
可以看出,與SGA算法和PSO算法的優(yōu)化結(jié)果相比較,用IPSO對(duì)基準(zhǔn)測(cè)試函數(shù)搜索到的最優(yōu)解質(zhì)量明顯優(yōu)于SGA和PSO算法解的質(zhì)量,顯著提高了算法的全局搜索能力。從獨(dú)立運(yùn)行20次得到的優(yōu)化解質(zhì)量的穩(wěn)定性方面比較,本研究IPSO算法得到解的適應(yīng)度值標(biāo)準(zhǔn)差小于SGA算法、PSO算法解的標(biāo)準(zhǔn)差,說明在求解質(zhì)量上IPSO算法比另2種算法更具有穩(wěn)定性。
圖1為采用SGA、PSO和IPSO算法對(duì)基準(zhǔn)測(cè)試函數(shù)在變量維數(shù)為150維,進(jìn)化代數(shù)為600代,獨(dú)立進(jìn)行20次時(shí)平均最佳適應(yīng)度值進(jìn)化過程的比較曲線??煽闯?,采用本研究的IPSO算法不但具有很強(qiáng)的全局搜索能力,并且具有快的收斂速度,有效減弱了常規(guī)遺傳算法和粒子群優(yōu)化算法中的早熟收斂、易陷入局部最優(yōu)解的現(xiàn)象,即使對(duì)高維的復(fù)雜函數(shù),利用本研究改進(jìn)的PSO算法也取得了好的優(yōu)化結(jié)果,驗(yàn)證了該算法的有效性。
圖1 Griewank函數(shù)測(cè)試結(jié)果
結(jié)合文獻(xiàn)[10]、[11]等研究工作,考慮如圖2結(jié)構(gòu)所示的多入多出3層前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)與普通神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相比,主要不同之處是該網(wǎng)絡(luò)在兩節(jié)點(diǎn)(神經(jīng)元)之間引入一單位階躍函數(shù),該階躍函數(shù)可定義為式(7)所示。
式中:α為開關(guān)參數(shù)。引入單位階躍函數(shù)δ(·)相當(dāng)于在網(wǎng)絡(luò)每?jī)晒?jié)點(diǎn)之間增加了一連接開關(guān)0/1,當(dāng)δ(·)=1時(shí)表示神經(jīng)元兩節(jié)點(diǎn)之間相互連接,δ(·)=0表示神經(jīng)元兩節(jié)點(diǎn)之間相互斷開。根據(jù)圖2網(wǎng)絡(luò)結(jié)構(gòu)可得,多入多出3層前饋神經(jīng)網(wǎng)絡(luò)的輸入輸出關(guān)系為式(8)所示
logsig(·)為Sigmoid函數(shù),其表達(dá)式如式(9)所示的
式中:λ 為(0,1]之間一參數(shù)。
圖2 帶連接開關(guān)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
從圖2中可以看出神經(jīng)網(wǎng)絡(luò)的輸入輸出關(guān)系由網(wǎng)絡(luò)的連接權(quán)值參數(shù)決定,而神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)由網(wǎng)絡(luò)連接開關(guān)參數(shù)控制。雖然網(wǎng)絡(luò)的輸入、輸出節(jié)點(diǎn)數(shù)固定,但網(wǎng)絡(luò)結(jié)構(gòu)中隱層節(jié)點(diǎn)數(shù)及節(jié)點(diǎn)之間的連接數(shù)并沒有固定;而且每一個(gè)隱層節(jié)點(diǎn)至少與其中的一個(gè)輸入節(jié)點(diǎn)相連,每一個(gè)輸出節(jié)點(diǎn)至少與相應(yīng)一個(gè)隱層節(jié)點(diǎn)相連。當(dāng)輸入層、隱層與輸出層的節(jié)點(diǎn)之間沒有相互連接時(shí),神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)之間連接開關(guān)值都為零。
采用IPSO算法優(yōu)化帶連接開關(guān)的3層前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),首先將網(wǎng)絡(luò)權(quán)值、閾值及節(jié)點(diǎn)之間開關(guān)參數(shù)編碼成一編碼串,該編碼串即為IPSO算法群體中的一個(gè)粒子。利用IPSO算法在未知參數(shù)所有可能取值組合的可行解集合中搜索一組最佳的參數(shù)組合,使在所設(shè)定的隱節(jié)點(diǎn)數(shù)下定義的適應(yīng)度函數(shù)值最小,這就是IPSO算法用于網(wǎng)絡(luò)結(jié)構(gòu)與權(quán)值優(yōu)化設(shè)計(jì)的基本思想。
利用IPSO算法對(duì)網(wǎng)絡(luò)權(quán)值、閾值及節(jié)點(diǎn)之間開關(guān)參數(shù)進(jìn)行優(yōu)化,首先將網(wǎng)絡(luò)參數(shù)編碼成如下形式的個(gè)體編碼串:
個(gè)體中每個(gè)變量均用實(shí)數(shù)表示,變量取值范圍視具體工程應(yīng)用背景估計(jì)確定,通過IPSO算法在定義的搜索范圍內(nèi)尋求上述變量的最優(yōu)組合。
本研究特征參數(shù)選取文獻(xiàn)[3]木材缺陷圖像小波二級(jí)分解后的分?jǐn)?shù)維作為特征量輸入。選用了落葉松和紅松兩種樹種,選擇了具有代表性的夾皮、腐朽、節(jié)子、蟲眼4種類型缺陷各50塊樣本,其中150塊用于訓(xùn)練,50塊用于測(cè)試。4種缺陷類型的目標(biāo)輸出分別用[0001]、[0010]、[0100]和[1000]表示。
在木材缺陷分類器的設(shè)計(jì)中,為與文獻(xiàn)[3]一致,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為9-15-4,神經(jīng)網(wǎng)絡(luò)以各個(gè)層之間的連接權(quán)值和閾值確定的網(wǎng)絡(luò)輸出與期望值的方差作為種群的適應(yīng)度函數(shù)。網(wǎng)絡(luò)權(quán)值與閾值vij、wj1、的參數(shù)搜索范圍都設(shè)定在[-10,10]之間,連接開關(guān)參數(shù)取值范圍都設(shè)在[-1,1]。算法參數(shù)中種群規(guī)模P=30;進(jìn)化代數(shù)T=600;克隆選擇變異算子數(shù)目M=4粒子群的速度更新采用式(5)修改后的方式,壓縮因子χ=0.729,系數(shù)φ1=2.8,φ2=1.3。logsig(·)函數(shù)見式(9)定義,其中參數(shù)λ=0.3。BP參數(shù)設(shè)置如文獻(xiàn)[3]所示,迭代次數(shù)600。兩種算法訓(xùn)練誤差設(shè)定為0.000 1。
兩種方法訓(xùn)練結(jié)果如表2所示,訓(xùn)練誤差曲線如圖3所示。從表2中可以看出,BP算法采用全連接結(jié)構(gòu),節(jié)點(diǎn)連接數(shù)為214個(gè),IPSO優(yōu)化帶連接開關(guān)神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)連接數(shù)為149個(gè),與全連接網(wǎng)絡(luò)相比節(jié)點(diǎn)連接數(shù)減少了30.4%。從圖3中可以看出,IPSO表現(xiàn)出了良好的優(yōu)化性能,而BP算法沒有達(dá)到指定誤差。
為了測(cè)試IPSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果,將50個(gè)測(cè)試樣本代入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),獲得網(wǎng)絡(luò)的部分輸出如表3所示。統(tǒng)計(jì)結(jié)果表明,IPSO算法不僅能很好地識(shí)別出木材表面缺陷,而且網(wǎng)絡(luò)的實(shí)際輸出值與網(wǎng)絡(luò)期望值非常接近,說明IPSO算法對(duì)木材表面缺陷具有較強(qiáng)的識(shí)別能力。
表2 兩種方法訓(xùn)練結(jié)果
圖3 訓(xùn)練誤差曲線
表3 部分測(cè)試樣本輸出
本研究針對(duì)BP算法在對(duì)神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程存在容易陷入局部極小等問題,提出IPSO算法訓(xùn)練帶開關(guān)連接的神經(jīng)網(wǎng)絡(luò),與BP算法相比。實(shí)驗(yàn)結(jié)果表明IPSO算法更容易擺脫局部極小,具有較高的收斂精度和收斂速度,對(duì)木材表面缺陷具有較強(qiáng)的識(shí)別能力。
[1]謝永華,王克奇.基于分形理論木材表面缺陷識(shí)別的研究[J].林業(yè)機(jī)械與木工設(shè)備,2006,34(7):21-22.
[2]白雪冰,張娜,王再尚.木材表面圖像的缺陷分割與類型識(shí)別方法[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2012,25(3):79-81.
[3]謝永華.基于分形理論木材表面缺陷識(shí)別的研究[D].哈爾濱:東北林業(yè)大學(xué)機(jī)電工程學(xué)院,2006.
[4]Kennedy J,Eberhart R.Particle swarm optimization[J].IEEE Transactions on Neural Networks,1995,4(11):1942-1948.
[5]Shi Y,Eberhart R C.A modified particle swarm optimizer[J].IEEE on Computational Intelligence,1998,8(5):69-73.
[6]Secrest B R,Lamont GB.Visualizing particle swarm optimizationgaussian particle swarm optimization[J].IEEE on Swarm Intelligence,2003,11(4):198-204.
[7]Esquivel SC,Coello CA.On the Use of Particle swarm optimization with multimodal functions[J].IEEE Transactions on Evotutionary Computation,2003,2(12):1130-1136.
[8]Clerc M,Kennedy J.The particle swarm-explosion,stability,and convergence in a multidimensional complex space[J].IEEE Transactions on Evolutionary Computation,2002,6(1):58-73.
[9]Bartz-Beielstein T,Limbourg P,Mehnen J,et al.Particle swarm optimizers for pareto optimization with enhanced archiving techniques[J].TEEE on Evolutionary Computation,2003,3(12):1780-1787.
[10]Lam H K,Ling SH,Leung F H F,et al.Tuning of the structure and parameters of a neural network using an improved genetic algorithm[J].IEEE Transactions on Neural Networks,2003,1(11):25-30.
[11]Tsai JT,Chou JH,Liu TK.Tuning the structure and parameters of a neural network by using hybrid taguchi-genetic algorithm[J].IEEE Transactions on Neural Networks,2006,17(1):69-80.