,
(武漢理工大學 交通學院,武漢 430063)
在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,大多數(shù)的神經(jīng)網(wǎng)絡(luò)模型是采用BP算法和它的變化形式建立的。由于多層前饋型神經(jīng)網(wǎng)絡(luò)的訓練多使用誤差反向傳播算法,因此將這種網(wǎng)絡(luò)直接稱為BP神經(jīng)網(wǎng)絡(luò)(Back-Propagation Network)[1],其優(yōu)點在于它具有很強的非線性映射能力。圖1所示為只有一個隱層的神經(jīng)網(wǎng)絡(luò)的基本模型,這樣的網(wǎng)絡(luò)結(jié)構(gòu)能實現(xiàn)以任意精度對任意函數(shù)的逼近??梢娚窠?jīng)網(wǎng)絡(luò)是由輸入層、隱層和輸出層組成的,各層有數(shù)目不等的神經(jīng)元,聯(lián)系各層的是傳遞函數(shù)和訓練函數(shù)。訓練網(wǎng)絡(luò)和結(jié)構(gòu)設(shè)計的前提條件做好訓練樣本集的準備工作。
圖1 神經(jīng)網(wǎng)絡(luò)的基本模型
本文選取一艘垂線間長為65.0 m的圍網(wǎng)漁船,7種載況的耐波性計算參數(shù)見表1。使用挪威船級社(DNV)開發(fā)的基于三維時域Rankine源方法的Wasim軟件[2],得到在規(guī)則波中的橫搖頻率響應(yīng)曲線,見圖2。航速為0、5、13、16 kn;浪向為0、45、90、135、180(°)。
訓練樣本準備好后,通過對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)各組成部分的試驗來確定最佳神經(jīng)網(wǎng)絡(luò)的各要素。
表1 各載況下的對應(yīng)參數(shù)
1.2.1 各層神經(jīng)元節(jié)點數(shù)的確定
一般的研究中,輸入?yún)?shù)選擇那些對輸出影響大的變量,此外還要求個輸入變量之間的獨立性強,便于后續(xù)的分析工作。由于研究的是同一艘拖網(wǎng)漁船不同載況的運動情況,所以選擇神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù)為:吃水、重心高度、航速、浪向,以及波浪頻率,即輸入層節(jié)點數(shù)確定為5個。輸出變量則要選擇系統(tǒng)要實現(xiàn)的功能目標,因此選取橫搖運動的無因次的頻率響應(yīng)值為輸出數(shù)據(jù)。輸出層節(jié)點確定為1個。
圖2 橫搖頻率響應(yīng)曲線
隱層神經(jīng)元節(jié)點的功能就是提取并儲存輸入輸出的數(shù)據(jù)中的內(nèi)在規(guī)律,因此隱層節(jié)點數(shù)直接決定了網(wǎng)絡(luò)的擬合能力。最佳節(jié)點數(shù)的確定一般采用試湊法。首先用較少的隱層神經(jīng)元數(shù)來訓練網(wǎng)絡(luò),觀察誤差和網(wǎng)絡(luò)性能的優(yōu)劣;然后依次增加神經(jīng)元節(jié)點數(shù),用相同的數(shù)據(jù)和網(wǎng)絡(luò)要素來建立網(wǎng)絡(luò)觀察誤差的變化;直到尋找到最好效果的網(wǎng)絡(luò)為止。試驗結(jié)果發(fā)現(xiàn)隨著隱層節(jié)點數(shù)的增加,相關(guān)系數(shù)越來越大,這也驗證了隱節(jié)點的作用,是可以提高神經(jīng)網(wǎng)絡(luò)的性能的。但是神經(jīng)元數(shù)目達到10個以后,指標變化很慢,而且隨著神經(jīng)元的增多,訓練每一步的時間明顯增大,因此認為節(jié)點數(shù)在10~20的范圍內(nèi)最佳。
1.2.2 訓練函數(shù)和性能函數(shù)的確定
確定該神經(jīng)網(wǎng)絡(luò)的訓練函數(shù),首先建立一個單隱層BP網(wǎng)絡(luò),經(jīng)初步試驗,決定采用15個神經(jīng)元的隱層,隱層傳遞函數(shù)采用雙曲正切S型傳遞函數(shù)(tansig),輸出層傳遞函數(shù)采用線性傳遞函數(shù)(purelin),最大訓練次數(shù)取為3 000,誤差函數(shù)精度控制為0.001,然后分別應(yīng)用梯度下降法(traingd)、帶動量的梯度下降法(traingdm)、自適應(yīng)的梯度下降法(traingda)、帶動量和自適應(yīng)梯度下降法(traingdx)、共軛梯度法(trainscg)、L-M算法(trainlm)和貝葉斯正則化算法(trainbr)來訓練基本網(wǎng)絡(luò),用網(wǎng)絡(luò)輸出數(shù)據(jù)與目標的訓練相關(guān)系數(shù)、代表性能的函數(shù)均方差函數(shù)mse及誤差向量的2范數(shù)norm來衡量訓練結(jié)果[3]。
(1)
(2)
式中:N——訓練樣本數(shù);
Tk,Yk——實際值和預(yù)測值。
從訓練結(jié)果看, traingdm、traingda、traingdx作為改進的BP網(wǎng)絡(luò)算法,性能指標和擬合效果要優(yōu)于標準BP算法traingd,但對比后3種優(yōu)化算法trainscg、 trainlm、trainbr,網(wǎng)絡(luò)質(zhì)量和預(yù)測效果還是有所差距的,而優(yōu)化算法的各性能函數(shù)值是比較理想的,在所選所有訓練算法中,貝葉斯正則化算法的訓練相關(guān)系數(shù)、均方差mse、誤差向量2范數(shù)均為最好,因此網(wǎng)絡(luò)訓練函數(shù)選定為trainbr。
1.2.3 傳遞函數(shù)的確定
為確定該神經(jīng)網(wǎng)絡(luò)隱層和輸出層的傳遞函數(shù),仍采用15個神經(jīng)元的隱層,最大訓練次數(shù)采用3 000,采用trainbr為訓練函數(shù),用網(wǎng)絡(luò)輸出數(shù)據(jù)與目標的訓練相關(guān)系數(shù)及誤差向量的2范數(shù)來衡量訓練結(jié)果。對BP網(wǎng)絡(luò)應(yīng)使用可微的函數(shù)作傳遞函數(shù),分別對常用的對數(shù)S型傳遞函數(shù)tansig、雙曲正切S型傳遞函數(shù)logsig、線性傳遞函數(shù)purelin進行組合,共9組試驗。從結(jié)果分析得出,隱層的傳遞函數(shù)采用purelin是最不合適的;當隱層采用tansig或logsig,輸出層時采用logsig時,效果也不佳;除此之外的另4種組合,訓練質(zhì)量都比較理想,與目標數(shù)據(jù)的吻合程度也很好。通過多次試驗并綜合考慮后,決定采用tansig,purelin分別作為隱層和輸出層的傳遞函數(shù)。
按上述的訓練和設(shè)計方法,最終確定最佳的圍網(wǎng)漁船橫搖頻率響應(yīng)函數(shù)的神經(jīng)網(wǎng)絡(luò)預(yù)測模型,預(yù)測結(jié)果見圖3、4。
圖3、4預(yù)測的是16 kn航速下,船舶在第7種載況下橫浪中的橫搖運動頻率響應(yīng)函數(shù)曲線。
絕大多數(shù)的預(yù)測樣本的相對誤差都在10%以內(nèi),而網(wǎng)絡(luò)輸出數(shù)據(jù)與目標的訓練相關(guān)系數(shù)為0.993 17,代表性能的函數(shù)均方差函數(shù)mse為0.011 5,誤差向量的2范數(shù)norm為0.535 4??梢?,BP網(wǎng)絡(luò)效果達到預(yù)想的要求,網(wǎng)絡(luò)的精度已經(jīng)基本勝任橫搖運動近似計算的應(yīng)用需要。在驗證該神經(jīng)網(wǎng)絡(luò)的可靠性的基礎(chǔ)上,給出橫搖無因次的頻率響應(yīng)值與吃水d、重心高度Zg、航速V、浪向β及波浪頻率ω的數(shù)學關(guān)系表達式,見式(3),其中,xi(i=1~5)分別表示以上5個參數(shù)。網(wǎng)絡(luò)模型各層的權(quán)值和閾值見表2。
圖3 BP網(wǎng)絡(luò)模型預(yù)測橫搖頻率響應(yīng)曲線
圖4 橫搖頻率響應(yīng)曲線的誤差曲線
表2 橫搖頻響網(wǎng)絡(luò)模型各層的權(quán)值和閾值
(3)
預(yù)報圍網(wǎng)漁船在不規(guī)則波中的橫搖運動響應(yīng)采用譜分析法。橫搖的頻率響應(yīng)函數(shù)是船舶運動的固有特性,運用上文中的神經(jīng)網(wǎng)絡(luò)模型進行預(yù)測。根據(jù)金槍魚的主要產(chǎn)地的海況以及金槍魚的工作環(huán)境,取定4、5、6級海況,并選用第十二屆ITTC會議推薦的雙參數(shù)譜作為海浪譜,結(jié)合頻響和海浪譜得到波浪中的船體響應(yīng)的譜密度,即運動譜,而不規(guī)則海浪下的橫搖運動響應(yīng)有義值,由運動響應(yīng)譜密度曲線下的面積計算得到[4]。
不規(guī)則波中的運動響應(yīng)另一種方法,使用7種實際航運載況的不規(guī)則海況下的計算數(shù)據(jù)為訓練樣本,同樣建立一個不規(guī)則波中的神經(jīng)網(wǎng)絡(luò)預(yù)測橫搖角有義值的模型,其值與吃水d、重心高度Zg、航速V、浪向β及波浪頻率ω的關(guān)系表達式為
φa=f(d,Zg,V,β,ω)=
(4)
預(yù)測結(jié)果見圖5、6,分別表示4、5、6級海況下的橫搖運動有義值隨各參數(shù)的變化情況。
圖5 橫搖有義值隨吃水和重心高度的變化
圖6 橫搖有義值隨速度和浪向的變化
1)圖5表現(xiàn)的是載況(吃水和重心高度)對橫搖運動的影響,可見在零速橫浪時,隨著吃水的增加,橫搖有義值略有增大,吃水(排水量)對橫搖影響不大,同時說明吃水的增大使橫搖阻尼有一定的減小,才導致橫搖角的增大。
2)重心高度增大時,橫搖有義值明顯減小,主要原因是橫搖周期隨重心的變大而減小。其它航行狀態(tài)時,重心高度也有同樣的影響,這個結(jié)論可應(yīng)用于實際航運,可由重心高度的不斷變化來監(jiān)測橫搖角的改變,以調(diào)整載況。
3)圖6反映的是在某一載況下,航速和浪向?qū)M搖運動的影響,可見在低速(10 kn以內(nèi))時,橫搖峰值點出現(xiàn)在隨浪45°~90°的區(qū)域內(nèi);而航速再增大時,橫浪中的橫搖角有義值是較大的,所以航行和作業(yè)時應(yīng)盡量避免這樣的航速和浪向的組合。
1)以一艘圍網(wǎng)漁船的多種載況的耐波性計算為數(shù)據(jù)庫,訓練出具有良好的準確性與適用性的船舶橫搖運動的神經(jīng)網(wǎng)絡(luò)模型,可用于其在任意載況規(guī)則波中橫搖運動頻率響應(yīng)函數(shù)及不規(guī)則波中各海況下的橫搖角有義值的預(yù)報。
2)利用建立好的神經(jīng)網(wǎng)絡(luò)模型,針對這一艘圍網(wǎng)漁船,分析其載況、航行狀態(tài)變化時,對橫搖運動的影響規(guī)律,對實船風浪中圍網(wǎng)漁船的航行有一定的實踐意義。
[1] 張 舒.船舶阻力BP神經(jīng)網(wǎng)絡(luò)預(yù)估模塊及主尺度選優(yōu)模塊研究[D].武漢:華中科技大學,2008.
[2] 項久洋.船型要素對三體船耐波性和波浪載荷影響的數(shù)值計算[D].武漢:武漢理工大學,2008.
[3] 陳愛國,葉家瑋.基于神經(jīng)網(wǎng)絡(luò)的船舶阻力計算數(shù)值實驗研究[J].中國造船,2010,51(2): 21-27.
[4] 毛筱菲,郁儉華.排水型高速船的耐波性試驗與理論研究[J].武漢理工大學學報,2005,29(4):591-594.