季偉東 王克奇 張建飛 馬 寧
(東北林業(yè)大學,哈爾濱,150040) (黑龍江科技學院) (哈爾濱師范大學)
木材缺陷直接影響木材品質及其使用價值,木材表面缺陷識別的研究對于木材的科學利用具有十分重要的意義。木材表面缺陷模式識別通常采用人工神經(jīng)網(wǎng)絡技術[1-3],收斂速度慢,精度低,識別率不高。為解決神經(jīng)網(wǎng)絡這一問題,當前很多研究者將模擬退火、遺傳算法等一些全局搜索方法用于神經(jīng)網(wǎng)絡的訓練中。但其復雜的操作使得神經(jīng)網(wǎng)絡所消耗時間隨著問題的規(guī)模和復雜度成指數(shù)級增長,并且在局部搜索方面缺乏有效的機制,在最優(yōu)解附近收斂速度變慢甚至停滯。針對此問題,筆者用改進后的粒子群算法訓練開關神經(jīng)網(wǎng)絡,將其用于木材表面缺陷識別,目的是加快收斂速度,提高精度,避免陷入局部極值。
粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)于1995年由Eberhart博士和kennedy博士提出。它源于鳥類捕食行為的模擬,首先初始化一隨機種群,種群中的每個粒子都代表著所求解問題的一個可能解。每個粒子都有自己的位置和速度,在每一次迭代過程中,粒子都記憶、追隨當前迭代的最優(yōu)粒子,通過跟蹤兩個“極值”來更新自己的位置、速度。兩個極值分別是個體極值,即粒子本身所找到的最優(yōu)解;全局極值,即整個種群找到的最優(yōu)解。粒子在迭代過程中找到這兩個極值后,粒子按照公式(1)、(2)來更新自己的位置和速度[4-5]。

1.2.1 混沌產(chǎn)生初始種群
混沌現(xiàn)象是指發(fā)生在確定性系統(tǒng)中的貌似隨機的不規(guī)則運動,一個確定性理論描述的系統(tǒng),其行為卻表現(xiàn)為不確定性,這就是混沌現(xiàn)象。混沌的遍歷性特點可作為搜索過程中避免陷入局部極小的一種優(yōu)化機制,由混沌序列搜索產(chǎn)生初始種群。這在一定程度上能提高算法的搜索效率,同時增加種群的多樣性。

1.2.2 克隆選擇變異算子
大量的研究表明基本PSO模型易于過早收斂于一個平衡點[6],此時速度為0(或非常接近0),位置也不再變化。
克隆選擇是生物免疫系統(tǒng)理論的重要學說。克隆是英文Clone一詞的單譯,意為無性繁殖系,即通過無性繁殖(如細胞絲分裂)可連續(xù)傳代并形成群體,常用于細胞水平的描述。
受上述理論啟發(fā),本設計克隆選擇變異算子來改變種群中適應度值高的M個粒子的位置向量,避免陷入局部極值。克隆選擇變異算子如下式(4)描述:

這里,x'ij(t)是 xij(t)克隆后的值,Δ(t,d)=d(1-)。
克隆選擇變異算子對每一個位置向量的分量加上一個隨機值[7],式中 U(0,1)指區(qū)間(0,1)上的均勻分布,r∈U(0,1),nt是最大迭代次數(shù),β 指定代數(shù)t時的依賴度。設β=5能得到較好的效果。
這種非均勻變異算子的特性是Δ(t,d)返回一個在[0,d]范圍內的值,且(t,d)=0,用以保證變異步長隨著時間t的增加而遞減,與在進化初期變異空間大及在進化后期變異空間小相符合。
克隆選擇變異算子操作步驟如下:
①所有粒子按照適應度值排序,選取種群中適應度值高的M個粒子無性繁殖成一個大小為M的群體,群體中每個個體與原粒子具有一致的屬性。
②繁殖出的群體位置向量按照克隆選擇變異算子進行操作。
③計算克隆群體粒子的適應度值,如果高于本身粒子,則和本身粒子進行替換,否則粒子位置不變。
通過克隆選擇變異,種群中適應度值最高的M個粒子具有自學習能力,使粒子增加了擺脫局部極值的能力,同時能夠正確引導其它粒子的位置、速度,提高了算法運行效率。
改進后粒子群優(yōu)化算法在速度更新上與式(1)不同,采用式(5)的速度更新方式[8]。


上式由Clerc提出,速度被一個常數(shù)χ收縮,這個常數(shù)叫做收縮系數(shù)[8]。文獻[9]指出在粒子數(shù)小于30 時,式(5)中各參數(shù)分別取 χ=0.729,φ1=2.8和 φ2=1.3為最佳。
1.2.3 IPSO 算法描述
IPSO過程如下:算法由混沌序列產(chǎn)生初始種群,每一代群體中的所有粒子首先由PSO進化,通過式(5)和式(2)更新每個粒子的速度和位置,并計算每個粒子的適應度函數(shù)值。根據(jù)粒子的適應度值選擇其中的M個適應能力強的粒子,這些粒子被稱為精英個體。精英個體不是直接進入算法的下一代群體中,而是通過克隆選擇變異算子對他們進行性能再提高,即采用克隆選擇變異算子在精英個體區(qū)域附近開發(fā)出性能更優(yōu)秀的粒子位置,并由他們引導下一代整個粒子種群快速進化。這些新開發(fā)的粒子同種群中剩余粒子共同構成IPSO算法的下一代種群。改進的粒子群優(yōu)化算法從總體上看是在PSO算法的下一代群體中融入了一些由克隆選擇變異算子生成的個體,避免算法過早收斂于一個平衡點。
為分析本算法的優(yōu)化性能,通過與常規(guī) GA(SGA)和PSO做對比,對具有大量局部最優(yōu)點的多峰基準測試函數(shù)Griewank式(6)進行測試。
Griewank函數(shù):

在比較實驗中,各算法的參數(shù)按照如下選取:3種不同算法的種群大小都為P=30;SGA采用適應度比例選擇算子、算術交叉和均勻變異算子,其中交叉概率pc=0.9,變異概率pm=0.01;PSO算法中慣性權系數(shù)ω隨進化代數(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。測試函數(shù)分別取不同維數(shù)(80、150)及相應的進化代數(shù)(200、600),將3種不同算法對Griewank基準測試函數(shù)分別獨立運行20次后將最優(yōu)解取平均值,并計算優(yōu)化結果的標準差,結果如表1所示。

表1 3種算法獨立運行20次平均最優(yōu)值、標準差比較結果
可以看出,與SGA算法和PSO算法的優(yōu)化結果相比較,用IPSO對基準測試函數(shù)搜索到的最優(yōu)解質量明顯優(yōu)于SGA和PSO算法解的質量,顯著提高了算法的全局搜索能力。從獨立運行20次得到的優(yōu)化解質量的穩(wěn)定性方面比較,本研究IPSO算法得到解的適應度值標準差小于SGA算法、PSO算法解的標準差,說明在求解質量上IPSO算法比另2種算法更具有穩(wěn)定性。
圖1為采用SGA、PSO和IPSO算法對基準測試函數(shù)在變量維數(shù)為150維,進化代數(shù)為600代,獨立進行20次時平均最佳適應度值進化過程的比較曲線。可看出,采用本研究的IPSO算法不但具有很強的全局搜索能力,并且具有快的收斂速度,有效減弱了常規(guī)遺傳算法和粒子群優(yōu)化算法中的早熟收斂、易陷入局部最優(yōu)解的現(xiàn)象,即使對高維的復雜函數(shù),利用本研究改進的PSO算法也取得了好的優(yōu)化結果,驗證了該算法的有效性。

圖1 Griewank函數(shù)測試結果
結合文獻[10]、[11]等研究工作,考慮如圖2結構所示的多入多出3層前饋神經(jīng)網(wǎng)絡,該網(wǎng)絡與普通神經(jīng)網(wǎng)絡結構相比,主要不同之處是該網(wǎng)絡在兩節(jié)點(神經(jīng)元)之間引入一單位階躍函數(shù),該階躍函數(shù)可定義為式(7)所示。

式中:α為開關參數(shù)。引入單位階躍函數(shù)δ(·)相當于在網(wǎng)絡每兩節(jié)點之間增加了一連接開關0/1,當δ(·)=1時表示神經(jīng)元兩節(jié)點之間相互連接,δ(·)=0表示神經(jīng)元兩節(jié)點之間相互斷開。根據(jù)圖2網(wǎng)絡結構可得,多入多出3層前饋神經(jīng)網(wǎng)絡的輸入輸出關系為式(8)所示

logsig(·)為Sigmoid函數(shù),其表達式如式(9)所示的

式中:λ 為(0,1]之間一參數(shù)。

圖2 帶連接開關的神經(jīng)網(wǎng)絡結構
從圖2中可以看出神經(jīng)網(wǎng)絡的輸入輸出關系由網(wǎng)絡的連接權值參數(shù)決定,而神經(jīng)網(wǎng)絡的結構由網(wǎng)絡連接開關參數(shù)控制。雖然網(wǎng)絡的輸入、輸出節(jié)點數(shù)固定,但網(wǎng)絡結構中隱層節(jié)點數(shù)及節(jié)點之間的連接數(shù)并沒有固定;而且每一個隱層節(jié)點至少與其中的一個輸入節(jié)點相連,每一個輸出節(jié)點至少與相應一個隱層節(jié)點相連。當輸入層、隱層與輸出層的節(jié)點之間沒有相互連接時,神經(jīng)網(wǎng)絡節(jié)點之間連接開關值都為零。
采用IPSO算法優(yōu)化帶連接開關的3層前饋神經(jīng)網(wǎng)絡結構與參數(shù),首先將網(wǎng)絡權值、閾值及節(jié)點之間開關參數(shù)編碼成一編碼串,該編碼串即為IPSO算法群體中的一個粒子。利用IPSO算法在未知參數(shù)所有可能取值組合的可行解集合中搜索一組最佳的參數(shù)組合,使在所設定的隱節(jié)點數(shù)下定義的適應度函數(shù)值最小,這就是IPSO算法用于網(wǎng)絡結構與權值優(yōu)化設計的基本思想。
利用IPSO算法對網(wǎng)絡權值、閾值及節(jié)點之間開關參數(shù)進行優(yōu)化,首先將網(wǎng)絡參數(shù)編碼成如下形式的個體編碼串:

個體中每個變量均用實數(shù)表示,變量取值范圍視具體工程應用背景估計確定,通過IPSO算法在定義的搜索范圍內尋求上述變量的最優(yōu)組合。
本研究特征參數(shù)選取文獻[3]木材缺陷圖像小波二級分解后的分數(shù)維作為特征量輸入。選用了落葉松和紅松兩種樹種,選擇了具有代表性的夾皮、腐朽、節(jié)子、蟲眼4種類型缺陷各50塊樣本,其中150塊用于訓練,50塊用于測試。4種缺陷類型的目標輸出分別用[0001]、[0010]、[0100]和[1000]表示。
在木材缺陷分類器的設計中,為與文獻[3]一致,神經(jīng)網(wǎng)絡結構為9-15-4,神經(jīng)網(wǎng)絡以各個層之間的連接權值和閾值確定的網(wǎng)絡輸出與期望值的方差作為種群的適應度函數(shù)。網(wǎng)絡權值與閾值vij、wj1、的參數(shù)搜索范圍都設定在[-10,10]之間,連接開關參數(shù)取值范圍都設在[-1,1]。算法參數(shù)中種群規(guī)模P=30;進化代數(shù)T=600;克隆選擇變異算子數(shù)目M=4粒子群的速度更新采用式(5)修改后的方式,壓縮因子χ=0.729,系數(shù)φ1=2.8,φ2=1.3。logsig(·)函數(shù)見式(9)定義,其中參數(shù)λ=0.3。BP參數(shù)設置如文獻[3]所示,迭代次數(shù)600。兩種算法訓練誤差設定為0.000 1。
兩種方法訓練結果如表2所示,訓練誤差曲線如圖3所示。從表2中可以看出,BP算法采用全連接結構,節(jié)點連接數(shù)為214個,IPSO優(yōu)化帶連接開關神經(jīng)網(wǎng)絡的節(jié)點連接數(shù)為149個,與全連接網(wǎng)絡相比節(jié)點連接數(shù)減少了30.4%。從圖3中可以看出,IPSO表現(xiàn)出了良好的優(yōu)化性能,而BP算法沒有達到指定誤差。
為了測試IPSO算法對BP神經(jīng)網(wǎng)絡的訓練效果,將50個測試樣本代入訓練好的神經(jīng)網(wǎng)絡,獲得網(wǎng)絡的部分輸出如表3所示。統(tǒng)計結果表明,IPSO算法不僅能很好地識別出木材表面缺陷,而且網(wǎng)絡的實際輸出值與網(wǎng)絡期望值非常接近,說明IPSO算法對木材表面缺陷具有較強的識別能力。

表2 兩種方法訓練結果

圖3 訓練誤差曲線

表3 部分測試樣本輸出
本研究針對BP算法在對神經(jīng)網(wǎng)絡訓練過程存在容易陷入局部極小等問題,提出IPSO算法訓練帶開關連接的神經(jīng)網(wǎng)絡,與BP算法相比。實驗結果表明IPSO算法更容易擺脫局部極小,具有較高的收斂精度和收斂速度,對木材表面缺陷具有較強的識別能力。
[1]謝永華,王克奇.基于分形理論木材表面缺陷識別的研究[J].林業(yè)機械與木工設備,2006,34(7):21-22.
[2]白雪冰,張娜,王再尚.木材表面圖像的缺陷分割與類型識別方法[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2012,25(3):79-81.
[3]謝永華.基于分形理論木材表面缺陷識別的研究[D].哈爾濱:東北林業(yè)大學機電工程學院,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.