王 鵬,孟 非
(江蘇科技大學電子信息學院,江蘇鎮江212003)
隨著船舶數量增多、噸位增大和速度提高,船舶碰撞事故仍時有發生。船舶的碰撞事故不僅給國家和企業帶來巨大的經濟損失,而且對環境造成惡劣的影響。因此,避免或者減少碰撞事故成為世界主要航海國家十分關注的問題。許多學者近年來研究了優化算法在船舶避碰上的應用,文獻[1]和文獻[2]分別將遺傳算法應用到船舶避碰決策中的危險度確定和避讓幅度的計算,并考慮了方位、距離、船速比、最近會遇距離和最近會遇時間這幾個主要的因素;文獻[3]將粒子群算法應用到船舶轉向角的確定上,考慮到了最近會遇距離和最近會遇時間2個因素確定船舶轉向角;文獻[4]分析了避碰自動化的研究現狀及存在的主要問題和對策。考慮到船舶碰撞危險度的確定是一個復雜的過程,受很多因素的影響,具有很強的非線性特征,本文將神經網絡技術用于建模該問題。本文首先基于粒子群優化算法實現了一種選擇性神經網絡集成方法,該方法用有限個神經網絡對同一個問題進行學習,集成在某輸入示例下的輸出由構成集成的各種神經網絡在該示例下的輸出共同決定;然后基于該選擇性神經網絡集成方法對船舶碰撞危險度問題進行了建模,模型的精度很高;最后給出結論。
粒子群優化算法(Particle Swarm Optimization,PSO)是一種基于群體智能的進化計算技術[5],其思想來源于人工生命和進化計算理論,最早是受鳥群覓食行為的啟發提出的。在PSO算法中,優化問題的所有可能解被視為是搜索空間中的一個位置,稱之為“粒子”。所有粒子都有一個由被優化的函數決定的適應值,除了現在的位置外還記錄了到目前為止該粒子曾達到過最好適應值的位置(pbest)和群體中所有粒子曾達到過最好適應值的位置(gbest)。對每個粒子還需確定一個速度矢量決定它們飛翔的方向和位移。PSO初始化為一群隨機粒子,即隨機的初始解,然后粒子們參照最優粒子的位置在解空間中搜索,并通過迭代找到最優解。每次迭代時,粒子根據如下的公式來更新自己的速度和位置:

本文針對粒子群算法易陷入局部極值的問題,在PSO進化過程中加入了混沌的思想。混沌具有隨機性、遍歷性、規律性等特點,相對于一般的隨機搜索方法,混沌搜索在小空間具有較強的局部搜索能力,細致搜索的有效性更強。最為重要的是,混沌運動是在一定的范圍內可以按其自身的規律不重復遍歷所有狀態。利用混沌變量的這些特征進行優化搜索,能使算法跳出局部最優,可保持群體多樣性,進一步改善算法的全局尋優能力。本文取一個典型的混沌系統—Logisitc映射作為混沌信號發生器[6],迭代公式如下:

式(3)中:xk為粒子在第k次迭代中的位置,μ為控制參量,當μ=4時,0≤x0≤1,即迭代次數為0時,Logisitc完全處于混沌狀態。
1990年Hansen和Salamon開創性地提出了神經網絡集成(Neural Network Ensemble,NNE)方法[7],他們證明可以簡單地通過訓練多個神經網絡并將其結果通過相對多數投票或絕對多數投票法進行合成,顯著地提高神經計算系統的泛化能力。1996年,Sollich和Krogh為神經網絡集成下了一個定義[8],即“神經網絡集成是用有限個神經網絡對同一個問題進行學習,集成在某輸入示例下的輸出由構成集成的各種神經網絡在該示例下的輸出共同決定”,目前這個定義已被廣泛接受。但也有一些學者認為,神經網絡集成指的是多個獨立訓練的神經網絡進行學習并共同決定最終輸出結果,并不要求集成中的網絡對同一個問題進行學習。神經網絡集成能改進泛化能力的原因,也可以從算法復雜性角度加以解釋:使用集成系統,可以消除權值初始化對學習系統復雜性的影響,降低整個學習系統的復雜性,從而提高泛化能力[9]。
目前,關于NNE構成方法的研究主要集中在兩個方面:一是如何生成(選定)集成誤差中的個體網絡,二是個體網絡的輸出如何合成為網絡集成的輸出。以回歸問題為例,一些加權平均方法求取組合權值時存在矩陣求逆,容易受個體網絡之間的“多維共線性”以及數據中噪聲的影響,會降低神經網絡集成的泛化能力。為解決“多維共線性”問題,可以采用避免矩陣求逆、限制組合權值的方法、選擇性集成方法以及提取主成分等方法。為減小噪聲的影響,可以采用限制組合權值的方法以及調整優化組合權值所用的目標函數等方法。本文主要從避免矩陣求逆、限制組合權值的角度出發,采用PSO形成了一種選擇性NNE方法。通過PSO算法合理選擇組成NNE的各個ANN,使個體間保持較大的差異度,減小“多維共線性”和樣本噪聲的影響。同時為有效保證PSO算法的粒子多樣性,在迭代過程中加入混沌變異。
假定已經分別訓練出 n個神經網絡f1,f2,…,fn,利用這n個神經網絡組成的集成對f:Rm→Rn進行近似,R為維度,f:Rm→Rn可理解為從m維到n維的近似計算,或簡單理解有n個輸出變量的近似函數。為討論簡單起見,這里假設各個網絡均只有一個輸出變量,即所需近似的函數為f:Rm→R,但本文的結論可以很容易推廣到多個輸出分量的情況。這種集成的過程可采用上述PSO優化算法實現。令PSO算法中的每一個粒子代表{f1,f2,…,fn}的一種集成,且粒子長度(粒子空間的維數)等于神經網絡的數量n。本文采用PSO算法上述選擇。
在采用PSO算法實現選擇性NNE過程中,NNE對輸入x的實際輸出為:

式(4)中:ωi為個粒子的慣性權重,第為第 i個粒子的慣性權重ωi的歸一化,反映了每個網絡在集成中的重要性,對應于PSO算法中式(2)的位置矢量,采用上面介紹的PSO進行進化;f(x)是NNE對輸入x的輸出值;ˉf(x)是其歸一化的運算后最終確定的NNE對輸入x的實際輸出。
在船舶碰撞危險度的影響因素中,最近會遇時間(TCPA)和最近會遇距離(DCPA)是公認的影響船舶碰撞危險度的兩個重要因素。DCPA為駕駛員方便地提供了判斷兩船之間有無碰撞危險度的依據,TCPA能直接反應出兩船會遇的緊迫程度。DCPA及TCPA從不同的角度評判了船舶碰撞的危險度,而單獨用DCPA或TCPA來評判危險度都是不符合實際的,因此,必須同時結合兩者,共同來評判碰撞危險度的大小。本文選取兩個重要因素作為粒子群神經網絡的輸入來進行船舶危險度的確定。
本文選用DCPA和TCPA作為個體神經網絡的輸入,船舶碰撞危險度作為神經網絡的輸出,網絡采用BP算法的兩隱層的感知器網絡形式。訓練樣本數據來自參考文獻[10],誤差函數定義為:

式中:fi為第i個網絡的實際輸出;fi'為第i個網絡的期望輸出;E為誤差。
在選擇性神經網絡具體執行過程中,相關參數如下:參與集成的個體網絡個數為10,個體網絡隱層節點數為8,第一隱層的激活函數為TANSIG函數,第二隱層的激活函數為PURELIN函數,網絡采用TRAINSCG方法訓練。在網絡訓練過程中,最大訓練次數選為15 000次;此外,凡涉及BP算法的均用MATLAB語言神經網絡工具箱中的默認值。粒子群算法中的粒子數取30,迭代次數為1 000,慣性權值ω從1到0.4之間遞減,學習因子C1=2.8,C2=1.3。網絡訓練好后,另外選取9組數據進行測試和檢驗,結果見表1。從仿真結果可以看出,基于PSO算法的選擇性NNE的輸出的碰撞危險度與實際的碰撞危險度基本吻合,說明神經網絡集成算法可以用于船舶避碰危險度的確定上,能夠對碰撞危險度的確定有一個比較客觀的判斷。

表1 神經網絡集成的測試數據及測試結果
在算法實現過程中,對訓練和測試誤差也進行了記錄。其中,基于簡單平均神經網絡方法的訓練樣本誤差為0.041 3%,測試樣本誤差為0.065 7%;基于PSO算法的選擇性神經網絡集成的訓練樣本誤差為0.026 8%,測試樣本誤差為0.031 2%。可見,本文所建立的模型精度較高。
船舶避碰危險度的確定一直是國內外航運界專家學者十分關注的問題。本文基于粒子群優化算法實現了一種選擇性神經網絡集成方法,將影響船舶碰撞危險度的兩個主要因素DCPA和TCPA作為神經網絡的輸入,船舶間碰撞的危險度作為神經網絡的輸出。仿真結果表明,通過選擇性神經網絡集成方法建立的船舶碰撞危險度模型精度較高。當然,考慮的因素不是很全面,如果將本船航速、本船航向、他船航速、他船航向、兩船距離、來船方位等因素考慮到模型中,會得到更為準確的模型,這也是本論文的下一步工作。
[1] 潘朋朋.基于粒子群優化算法的船舶避碰研究[D].鎮江:江蘇科技大學,2011.
[2] 田雨波,潘朋朋.免疫粒子群算法在船舶避碰上的應用研究[J].中國航海,2011,1(34):48-52.
[3] Coenen F P,Smeaton G P,Bole A G.Knowledge Based Collision Avoidance[J].The Journal of Navigation,2004,42(3):75-78.
[4] Inaish M.Building Method and Application of Neural Network System for Navigation[J].Lateral Symposium of Sino-Japanese Navigation Institute,1922,(112):22-27.
[5] Xue Y,Lee B S,Han D.Automatic Collision Avoidance of Ships[J].Journal of Engineering for the Maritime Environment,2009,223(m1):33-46.
[6] 高鷹,謝勝利.混沌粒子群優化算法[J].計算機科學,2004,31(8):13-15.
[7] Hansen L K,Salamon P.Neural network ensembles[J].IEEE Trans.on pattern Analysis and Machine Intelligence,1990,12(10):993-1001.
[8] Sollich P,Krogh A.Learning with Ensemble:How Over-Fitting can be Useful[M].Cambridge:MIT Press,1996:190-196.
[9] 田雨波.混合神經網絡技術[M].北京:科學出版社,2009.
[10] 陳雪娟.基于模糊BP神經網絡船舶避碰理論與方法[D].長沙:湖南大學,2005.