陳愛國 葉家瑋 蘇 曙
(廣州航海高等??茖W(xué)校輪機(jī)系1) 廣州 510725) (華南理工大學(xué)土木與交通學(xué)院2) 廣州 510640)
船舶 的計(jì)算,由于問題的復(fù)雜性,目前還沒有成熟 理論的公式,一般在船舶線型確定時(shí)可通過 實(shí)驗(yàn)來確定,但在設(shè)計(jì)的初期或并不準(zhǔn)備作 實(shí)驗(yàn)時(shí),只能進(jìn)行阻力近似計(jì)算.阻力近似計(jì) 常用方法一般都是通過查閱大量圖表的方式來進(jìn)行計(jì)算,工作量大且精度低.
Lippm ann[1],Funahashi[2],Hornik[3]等人對(duì)神經(jīng)網(wǎng)絡(luò)的研究已表明:3層以上的前向神經(jīng)網(wǎng)絡(luò)能以任意精度逼近任何非線性性函數(shù),因此采用多層前向神經(jīng)網(wǎng)絡(luò)來逼近以船型參數(shù)和速度流體參數(shù)為自變量的船舶阻力函數(shù)在理論上是可行的.為此本文采用系列60船模實(shí)驗(yàn)數(shù)據(jù)作為樣本,由于作為前向神經(jīng)網(wǎng)絡(luò)核心的誤差反傳BP網(wǎng)絡(luò)在函數(shù)逼近上具有優(yōu)越的性能,本文力圖通過實(shí)驗(yàn)建立出性能卓越的3層BP神經(jīng)網(wǎng)絡(luò)船舶阻力計(jì)算系統(tǒng).
在系列60的計(jì)算中,平板摩擦阻力系數(shù)C f采用桑海公式計(jì)算,粗糙度補(bǔ)貼系數(shù)取0.4×10-3,其剩余阻力由船模試驗(yàn)確定,剩余阻力的輸入數(shù)據(jù)包括3個(gè)船型參數(shù)和1個(gè)速度參數(shù)[4-5].船型參數(shù)為:方形系數(shù)C b,船長(zhǎng)型寬比L/B,型寬吃水比B/H.輸入的速度參數(shù)有2種,分別對(duì)應(yīng)不同的輸出參數(shù):速長(zhǎng)比對(duì)應(yīng)的輸出為每噸排水量的剩余阻力系數(shù)C R;弗氏速率系數(shù)對(duì)應(yīng)的輸出為弗氏阻力系數(shù),由于后者在船舶初步設(shè)計(jì)時(shí)對(duì)船型的比較非常有用,其應(yīng)用更受推薦,因此本文輸入的速度參數(shù)采用弗氏速率系數(shù)對(duì)應(yīng)地輸出采用弗氏阻力系數(shù).
系列60共用45個(gè)船模,共有數(shù)據(jù)838組.為檢驗(yàn)網(wǎng)絡(luò)的泛化能力,隨機(jī)選取全部數(shù)據(jù)組中的629組作為訓(xùn)練數(shù)據(jù),另209組作為檢驗(yàn)數(shù)據(jù).采用訓(xùn)練與檢驗(yàn)神經(jīng)網(wǎng)絡(luò)時(shí)輸出與目標(biāo)的相關(guān)系數(shù)、回歸直線、最大相對(duì)誤差、平均相對(duì)誤差中的差值來衡量網(wǎng)絡(luò)的性能.
由上面的分析可知該BP神經(jīng)網(wǎng)絡(luò)的輸入層為4個(gè)神經(jīng)元,輸出層為1個(gè)神經(jīng)元,設(shè)隱層神經(jīng)元數(shù)為R,則其結(jié)構(gòu)如圖1所示.
為選取合適的隱層神經(jīng)元數(shù)R,傳遞函數(shù)g1(·),g2(·),性能函數(shù)E(·)和訓(xùn)練函數(shù),分別對(duì)之進(jìn)行試驗(yàn).
圖1 船舶阻力計(jì)算3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
為確定該神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù),經(jīng)初步試驗(yàn)決定采用15個(gè)神經(jīng)元的隱層,隱層傳遞函數(shù)g1(·)采用 tansig,輸出層傳遞函數(shù)g2(·)采用purelin,最大訓(xùn)練次數(shù)采用1 000,由于數(shù)據(jù)量較大,采用批處量訓(xùn)練方式,用網(wǎng)絡(luò)輸出數(shù)據(jù)與目標(biāo)的相關(guān)系數(shù)(在多次訓(xùn)練采用較好的相關(guān)性數(shù)據(jù))來衡量訓(xùn)練結(jié)果,從實(shí)驗(yàn)結(jié)果看,普通訓(xùn)練函數(shù)traingd和 traingdm收斂性差,而且增加最大訓(xùn)練次數(shù),也不能提高相關(guān)系數(shù);快速訓(xùn)練函數(shù)中,有彈回的BP算法trainrp比自適應(yīng)修改學(xué)習(xí)率算法traingda和traingdx要好;其他的算法都可達(dá)到較高的計(jì)算精度,尤其是 traincgb,trainlm,trainbr.最好的是 trainbr,其訓(xùn)練的相關(guān)系數(shù)和檢驗(yàn)的相關(guān)系數(shù)不但最大,而且兩者相差最小,這是由于應(yīng)用其他訓(xùn)練函數(shù)時(shí),網(wǎng)絡(luò)的性能函數(shù)E(·)是采用m se,如式(1),其中 N訓(xùn)練樣本數(shù),而trainbr作為規(guī)則化的調(diào)整方法是采用m sereg作為性能函數(shù),如式(2)和式(3)所示,其范化能力更好.因此本試驗(yàn)的神經(jīng)網(wǎng)絡(luò)選用trainbr規(guī)則化的訓(xùn)練方法,對(duì)應(yīng)地采用m sereg作為性能函數(shù).
為確定該神經(jīng)網(wǎng)絡(luò)隱層和輸出層的傳遞函數(shù),仍采用15個(gè)神經(jīng)元的隱層,最大訓(xùn)練次數(shù)采用1 000,采用trainbr訓(xùn)練函數(shù),用網(wǎng)絡(luò)輸出數(shù)據(jù)與目標(biāo)的相關(guān)系數(shù)(在多次訓(xùn)練中采用較好的相關(guān)性數(shù)據(jù))來衡量訓(xùn)練結(jié)果.對(duì)BP網(wǎng)絡(luò)應(yīng)使用可微的函數(shù)作傳遞函數(shù),對(duì)本項(xiàng)目不適合使用satlin,satlins,tribas,hard lim,hard lims等帶水平線的非光順函數(shù)[6],因此本實(shí)驗(yàn)對(duì)常用的 tansig,purelin,logsig進(jìn)行組合實(shí)驗(yàn),并對(duì)采用 radbas進(jìn)行了2組實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1.
表1 傳遞函數(shù)實(shí)驗(yàn)結(jié)果
從實(shí)驗(yàn)結(jié)果可以分析得出,輸出層采用logsig或tansig相關(guān)系數(shù)不高;隱層的傳遞函數(shù)采用purelin不合適,網(wǎng)絡(luò)輸出數(shù)據(jù)與目標(biāo)的相關(guān)系數(shù)最小,對(duì)于使用purelin,purelin傳遞函數(shù),由于是純線性變換對(duì)非線性系統(tǒng)逼近能力差;而據(jù)實(shí)驗(yàn)結(jié)果,隱層傳遞函數(shù)采用tansig或logsig,輸出層傳遞函數(shù)采用purelin可以很好地達(dá)到函數(shù)逼近,而且輸出數(shù)據(jù)與目標(biāo)數(shù)據(jù)的回歸曲線與理想回歸曲線幾乎重合,對(duì)radbas的實(shí)驗(yàn)表明,對(duì)本項(xiàng)目,該函數(shù)同樣不適于作輸出層傳遞函數(shù),當(dāng)進(jìn)行 radbas,purelin組合時(shí)也可達(dá)到較好的結(jié)果,但檢驗(yàn)結(jié)果相關(guān)性比前兩者稍差,從進(jìn)一步的實(shí)驗(yàn)結(jié)果看,采用 tansig、purelin作傳遞函數(shù)比采用logsig,purelin要稍好一些.
由上面試驗(yàn)結(jié)果,對(duì)該神經(jīng)網(wǎng)絡(luò)隱層神經(jīng)元數(shù)進(jìn)行實(shí)驗(yàn),隱層傳遞函數(shù)采用tansig,輸出層傳遞函數(shù)采用purelin,最大訓(xùn)練次數(shù)采用1 000,采用trainbr訓(xùn)練函數(shù),用網(wǎng)絡(luò)輸出數(shù)據(jù)與目標(biāo)的相關(guān)系數(shù)和最大相對(duì)誤差來衡量訓(xùn)練結(jié)果,編制程序,得到相關(guān)系數(shù)、最大相對(duì)誤差、平均相對(duì)誤差隨神經(jīng)元數(shù)的變化曲線如圖2所示.
由圖2可知,隨神經(jīng)元數(shù)的增加,相關(guān)系數(shù)越來越大、最大相對(duì)誤和平均相對(duì)誤差越來越小,但當(dāng)神經(jīng)元數(shù)達(dá)到15以后,變化很慢了.
圖2 相關(guān)系數(shù)最大相對(duì)誤差和平均相對(duì)誤差隨隱層神經(jīng)元數(shù)變化曲線
從上述實(shí)驗(yàn)可知,增加隱層神經(jīng)元數(shù)可提高神經(jīng)網(wǎng)絡(luò)的性能,但由于檢驗(yàn)數(shù)據(jù)與訓(xùn)練數(shù)據(jù)一樣都來源于原始實(shí)驗(yàn)數(shù)據(jù),對(duì)B/H僅有2.5,3.0,3.5 3個(gè)數(shù)值,對(duì)C b,L/B也只有有限的幾個(gè)取值,當(dāng)隱層神經(jīng)元數(shù)過多時(shí),將導(dǎo)致對(duì)某一參數(shù)在有限的幾個(gè)取值附近具有高的精度,但在其他值則有很大的波動(dòng),這與實(shí)際情形不符.如針對(duì)23隱層神經(jīng)元的神經(jīng)網(wǎng)絡(luò),對(duì)C b=0.65,船長(zhǎng)型寬比L/B=7.25,弗氏速率系數(shù)○k=1.4,弗氏阻力系數(shù)○C對(duì)B/H的變化曲線如圖3所示,顯然,此時(shí)曲線失真.同樣地對(duì)15隱層神經(jīng)元的神經(jīng)網(wǎng)絡(luò)繪制的曲線如圖4所示,則其插值曲線是較平順的.
圖3 用23隱層神經(jīng)元神經(jīng)網(wǎng)絡(luò)繪制的○k對(duì)B/H的變化曲線
圖4 用15隱層神經(jīng)元神經(jīng)網(wǎng)絡(luò)繪制的○k對(duì)B/H的變化曲線
因此,為了提高網(wǎng)絡(luò)的逼近能力和降低相對(duì)誤差,對(duì)輸入樣本采用預(yù)先數(shù)據(jù)處理的方式,將輸入向量和目標(biāo)向量的值量化到[-1,+1]內(nèi),進(jìn)一步訓(xùn)練結(jié)果如表2所列.
表2 預(yù)先數(shù)據(jù)處理訓(xùn)練結(jié)果
分別應(yīng)用預(yù)先數(shù)據(jù)處理訓(xùn)練所得的神經(jīng)網(wǎng)絡(luò),進(jìn)行繪圖,根據(jù)插值曲線繪圖對(duì)比,選用19神經(jīng)元的最大相對(duì)誤差0.028 9的神經(jīng)網(wǎng)絡(luò),其回歸曲線如圖5所示,可見回歸直線與理想回歸直線幾乎重合,而通過對(duì)最大的相對(duì)誤差的樣本分析發(fā)現(xiàn),相對(duì)誤差大的都是○k取值最大或最小的樣本,這與系列60圖譜是一致的,因此在實(shí)際應(yīng)用范圍內(nèi)是有更高計(jì)算精度的,可以滿足船舶設(shè)計(jì)的需要.
圖5 隱層19神經(jīng)元最佳網(wǎng)絡(luò)回歸曲線
由于,訓(xùn)練和檢驗(yàn)樣本都是用的原始實(shí)驗(yàn)數(shù)據(jù),對(duì)B/H僅有2.5,3.0,3.5 3個(gè)數(shù)值,為驗(yàn)證該神經(jīng)網(wǎng)絡(luò)的泛化能力,對(duì)相同的Cb,L/B和○k,在B/H為2.5,3.0,3.5的數(shù)值之間進(jìn)行線性插值,添加了B/H為2.66,2.84,3.16,3.34四組數(shù)值,插值后數(shù)據(jù)樣本由838組擴(kuò)充到1 869組,對(duì)該神經(jīng)網(wǎng)絡(luò)進(jìn)行模擬,得到最大相對(duì)誤差為0.031 63,平均相對(duì)誤差為:0.007 246,輸出和目標(biāo)的回歸直線為A=(1.000 3)T+(-0.001 513 4),可見其泛化能力是很好的.
該船舶阻力神經(jīng)網(wǎng)絡(luò)可以方便快速地計(jì)算弗氏阻力系數(shù),如任意輸入方形系數(shù)Cb=0.70,船長(zhǎng)型寬比L/B=7.8,型寬吃水比B/H=3.0,弗氏速率系數(shù)=1.4,對(duì)網(wǎng)絡(luò)進(jìn)行模擬得到對(duì)應(yīng)的輸出弗氏阻力系數(shù)=0.696 1.經(jīng)在圖譜上查閱,其值接近0.7,與其結(jié)果一致.但顯然對(duì)于圖譜不能直接查找的數(shù)值,應(yīng)用該船舶阻力神經(jīng)網(wǎng)絡(luò)更方便.
顯然通過該神經(jīng)網(wǎng)絡(luò)能很方便地作出各種阻力變化曲線,可用于分析阻力隨船型參數(shù)的變化情況.例如,在系列60船模實(shí)驗(yàn)中,由于對(duì)相同的一組Cb,B/H船長(zhǎng)型寬比L/B只有3個(gè)變化的數(shù)值,弗氏阻力系數(shù)與L/B的變化關(guān)系不能很清楚地表達(dá)出來,但通過該19隱層神經(jīng)元的船舶阻力神經(jīng)網(wǎng)絡(luò),則可以方便地繪制其變化曲線,如B/H=2.5,=1.7,在不同 C b時(shí),弗氏阻力系數(shù)船長(zhǎng)型寬比L/B的變化曲線如圖6所示,從該圖可以清楚地分析出系列60船舶最低剩余阻力時(shí)的最佳L/B,及該最佳L/B隨C b的增大而變小的情況.用該神經(jīng)網(wǎng)絡(luò)繪制的其他性能曲線如圖7所示,顯然該神經(jīng)網(wǎng)絡(luò)拓展了系列60的應(yīng)用范圍,并可應(yīng)用于一定約束條件下的船型優(yōu)化.
圖6 隱層19神經(jīng)元網(wǎng)絡(luò)與L/B的變化曲線
圖7 隱層19神經(jīng)元網(wǎng)絡(luò)繪制的對(duì)○k和L/B的變化曲線
船機(jī)槳匹配優(yōu)化設(shè)計(jì)時(shí),不論是在初步匹配設(shè)計(jì)中,還是最終匹配設(shè)計(jì)中,都要計(jì)算船舶阻力,作出船舶有效功率隨航速的變化曲線,該船舶阻力神經(jīng)網(wǎng)絡(luò)系統(tǒng)的研制為船機(jī)槳匹配優(yōu)化設(shè)計(jì)的計(jì)算機(jī)化、智能化提供了重要的支撐.
1)利用船模原始實(shí)驗(yàn)數(shù)據(jù)通過預(yù)先數(shù)據(jù)處理的方式,采用tansig和purelin傳遞函數(shù),以及trainbr訓(xùn)練函數(shù)和合適的隱層神經(jīng)元數(shù),可以訓(xùn)練出高精度的船舶阻力計(jì)算BP神經(jīng)網(wǎng)絡(luò)系統(tǒng).
2)該神經(jīng)網(wǎng)絡(luò)系統(tǒng)在船舶阻力計(jì)算研究、船型優(yōu)化和船機(jī)槳優(yōu)化匹配設(shè)計(jì)上比傳統(tǒng)方法具有無可比擬的優(yōu)勢(shì).
3)基于神經(jīng)網(wǎng)絡(luò)能以任意精度逼近任何非線性函數(shù)的能力,抽象出更有代表性的船型參數(shù)、選用合適的速度參數(shù),利用不同的船模系列數(shù)據(jù),甚至是高速艦船的阻力數(shù)據(jù),設(shè)計(jì)出具有廣泛適應(yīng)性的船舶阻力計(jì)算神經(jīng)網(wǎng)絡(luò)系統(tǒng)也將是現(xiàn)實(shí)可行的.
[1] Lippmamm R P.Introduction of Computing with Neural Nets[J].IEEE ASSP M agazine,1987,4:4-22.
[2]Funahashi K I.On the approximate realization o f continuous mappings by neura l netw orks[J].Neural Networks,1989,2(3):183-192.
[3]林 盾,陳 俐.BP神經(jīng)網(wǎng)絡(luò)在模擬非線性系統(tǒng)輸出中的應(yīng)用[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2003,27(5):120-123.
[4]Chen Aiguo,Ye Jiaw e.Research on the genetic neural netw ork for the computation of ship resistance[C].2009 International Conference on Computation Intelligence and Natural Computing.Wuhan,China,2009.
[5]Chen Aiguo,Ye Jiawe.Research on four layer back propagation neural netw ork for the computation of ship resistance[C].2009 IEEE International Con ference on M echatronics and Automation.Changchun,China,2009.
[6]Zhang Ling,Zhang Xianda.M IMO channel estimation and equalization using three-layer neural networks w ith feedback[J].Tsinghua Science And Technology.2007,12(6):16-19.