朱大鵬 俞孟蕻 蘇 貞
(1.江蘇科技大學(xué)電子信息學(xué)院 鎮(zhèn)江 212100)(2.江蘇科技大學(xué)海洋裝備研究院 鎮(zhèn)江 212003)
在形式各異的疏浚工程船舶中,耙吸挖泥船由于具有獨(dú)立工作能力和很強(qiáng)的環(huán)境適應(yīng)能力而在挖泥船中占有重要地位,是全球疏浚領(lǐng)域的主力軍[1~5]。預(yù)測耙吸挖泥船的產(chǎn)量對于提升挖泥船的疏浚效率具有明顯的幫助,通過耙吸挖泥船產(chǎn)量的預(yù)測,可以在施工過程中選擇挖泥船的最優(yōu)施工參數(shù),從而提升挖泥船的疏浚效率和工程效益。
耙吸挖泥船的產(chǎn)量受到船舶航行速度、耙頭對地角度、泥泵吸入真空、溢流堰高度、船艙參數(shù)、砂土特性等因素的影響,因此耙吸挖泥船的生產(chǎn)過程是一個復(fù)雜的、高難度的過程。Wangli[6]則通過把裝艙過程分為無溢流階段、恒體積階段和恒載重階段對裝艙指標(biāo)進(jìn)行評估分析。王培勝[7]從疏浚機(jī)理出發(fā),對挖泥船的裝艙過程進(jìn)行動態(tài)建模,對溢流密度與溢流流量進(jìn)行了預(yù)測。王湘[8]通過使用遺傳算法優(yōu)化疏浚模型,表明改變施工參數(shù)可以有效提高挖泥船的疏浚效率。孫?。?]通過使用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,以此來預(yù)測干土方生產(chǎn)率。
耙吸挖泥船的施工數(shù)據(jù)是基于時間序列的數(shù)據(jù),數(shù)據(jù)之間存在時間滯后的問題,而這些方法大多沒有考慮時間序列之間的滯后、依賴問題,且并未涉及未來時刻的目標(biāo)參數(shù)的預(yù)測。因此采用了基于時間序列的循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行產(chǎn)量預(yù)測模型的建立。與傳統(tǒng)的機(jī)器學(xué)習(xí)相比,循環(huán)神經(jīng)網(wǎng)絡(luò)引入了“記憶”的概念,從內(nèi)部結(jié)構(gòu)上建立了輸入變量隨時間的變化關(guān)系,對于數(shù)據(jù)滯后、長期依賴、多步預(yù)測的情況有較好的預(yù)測效果。
循環(huán)神經(jīng)網(wǎng)絡(luò)對于時間序列的數(shù)據(jù)具有很好的處理能力,對非線性、多步預(yù)測問題可以取得很好的預(yù)測效果,因此采用循環(huán)神經(jīng)網(wǎng)絡(luò)對耙吸挖泥船進(jìn)行產(chǎn)量預(yù)測模型的構(gòu)建[10]。GRU神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的一個變種,它通過使用同一個門控單元——更新門來同時進(jìn)行信息的遺忘和記憶,從而使計(jì)算更加便捷,提高訓(xùn)練效率[11]。
GRU神經(jīng)網(wǎng)絡(luò)引入了兩個門函數(shù),分別是更新門和重置門,其結(jié)構(gòu)如圖1所示[12]。
由圖1可知,GRU網(wǎng)絡(luò)的前向傳播公式如下所示:
在上述公式中,Xt、Ht分別為隱含層的輸入和輸出,Yt為輸出層的輸出,而Rt、Zt和H~t則分別是隱含層結(jié)構(gòu)中重置門輸出、更新門輸出和候選記憶單元輸出[13]。在對GRU網(wǎng)絡(luò)結(jié)構(gòu)的學(xué)習(xí)中,首先通過上一個時刻的輸出Ht-1和當(dāng)前時刻的輸入Xt來獲取兩個門控狀態(tài)——重置門Rt和更新門Zt,兩者均輸出一個值域?yàn)椋?,1]的值。參數(shù)W?r、Wxr、W?z、Wxz、W??~、Wx?~、W?y、br、bz、b?~的學(xué)習(xí)更新過程是一個誤差反向傳播的過程,其中t-1時刻隱含層的輸出的偏導(dǎo)是由t時刻各個門的輸入的偏導(dǎo)所組成:
式中δ?,t、δ?~,t、δz,t、δr,t分別為t時刻網(wǎng)絡(luò)的隱含層、候選記憶單元、更新門和重置門的偏導(dǎo)。
在進(jìn)行預(yù)測模型搭建之前需要先對施工數(shù)據(jù)進(jìn)行處理。首先通過填補(bǔ)、消噪等方法對數(shù)據(jù)進(jìn)行預(yù)處理,消除數(shù)據(jù)采集過程中因設(shè)備原因而產(chǎn)生的疏漏與噪聲,并通過歸一化的方式消除不同數(shù)據(jù)間的量綱影響。然后通過滑動窗口的方式將n行輸入數(shù)據(jù)轉(zhuǎn)化為一行輸入數(shù)據(jù),其轉(zhuǎn)換方式如圖2所示。
圖2 數(shù)據(jù)轉(zhuǎn)換方式
當(dāng)n=3時,將每3行數(shù)據(jù)合并轉(zhuǎn)化為新的行數(shù)據(jù),在新的行數(shù)據(jù)中末端數(shù)據(jù)為預(yù)測輸出值Y。
近幾年來,注意力機(jī)制在深度學(xué)習(xí)領(lǐng)域有著廣泛的應(yīng)用,常被用來進(jìn)行圖像處理、自然語言處理、目標(biāo)檢測、語音識別等任務(wù)[14]。注意力機(jī)制沒有嚴(yán)格的數(shù)學(xué)定義,它根據(jù)目標(biāo)任務(wù)的不同,進(jìn)行方向和加權(quán)模型的調(diào)整,從而加強(qiáng)對重要信息的關(guān)注和對不重要信息的弱化[15~16]。自注意力機(jī)制是注意力機(jī)制的改進(jìn),它減少了對外部信息的依賴,更擅長捕捉數(shù)據(jù)或特征的內(nèi)部相關(guān)性,對輸出結(jié)果貢獻(xiàn)大的數(shù)據(jù)賦予較大的權(quán)重,使其對輸出的影響加強(qiáng)。
自注意力機(jī)制優(yōu)化的GRU神經(jīng)網(wǎng)絡(luò)(Self-attention GRU,SGRU)其結(jié)構(gòu)如圖3所示,該網(wǎng)絡(luò)結(jié)構(gòu)由四部分構(gòu)成:第一部分為輸入層,第二部分為堆疊式GRU層,第三部分為自注意力層,第四部分為輸出層。
由圖3可知,數(shù)據(jù)由輸入層輸入后先經(jīng)過GRU層處理得到輸出Ht,然后由GRU層輸出Ht轉(zhuǎn)置后作為自注意力層的輸入進(jìn)行自注意力系數(shù)s的計(jì)算。
圖3 自注意力GRU結(jié)構(gòu)圖
然后將GRU層的輸出Ht與自注意力系數(shù)s一一對應(yīng)后進(jìn)行相乘得出自注意力層的輸出Z。
最后自注意力層的輸出Z經(jīng)過輸出層的激勵函數(shù)得到整個網(wǎng)絡(luò)的最終輸出Y。
式中,Wsy和by分別為輸出層的權(quán)值和閾值。
耙吸挖泥船產(chǎn)量預(yù)測模型的數(shù)據(jù)來自于2016年4月“新?;?”號耙吸挖泥船在廈門港進(jìn)行作業(yè)時的施工數(shù)據(jù)。施工數(shù)據(jù)包括挖泥船航速、耙頭對地角度、泥泵吸入真空、泥泵流速、波浪補(bǔ)償器壓力、溢流堰高度、裝艙體積以及裝艙質(zhì)量這些參數(shù)數(shù)據(jù),并按照4∶1的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測試集。
模型通過對過去10個時刻樣本數(shù)據(jù)的學(xué)習(xí)來對當(dāng)前時刻以及未來2個時刻的挖泥船裝艙質(zhì)量與裝艙體積進(jìn)行預(yù)測,并與未優(yōu)化的GRU神經(jīng)網(wǎng)絡(luò)預(yù)測模型進(jìn)行比較。
圖4、圖5分別是當(dāng)前t時刻、t+1時刻、t+2時刻的裝艙質(zhì)量與裝艙體積的兩個模型預(yù)測曲線與真實(shí)值曲線對比圖。圖6、圖7分別是三個時刻的裝艙質(zhì)量與裝艙體積的兩個模型預(yù)測值與真實(shí)值之間的絕對值誤差曲線圖。由圖中可看出經(jīng)過自注意力機(jī)制優(yōu)化的GRU預(yù)測模型與未優(yōu)化的GRU預(yù)測模型相比其預(yù)測結(jié)果更接近真實(shí)值。
圖4 裝艙質(zhì)量預(yù)測圖
圖5 裝艙體積預(yù)測圖
圖6 裝艙質(zhì)量誤差圖
圖7 裝艙體積誤差圖
為進(jìn)一步驗(yàn)證SGRU預(yù)測模型的優(yōu)越性,文章采用均方根誤差(RMSE)和平均百分比誤差(MAPE)作為指標(biāo)來進(jìn)行模型之間的比較,RMSE與MAPE的值越大表明預(yù)測效果越差。
表2 t+1時刻挖泥船產(chǎn)量預(yù)測誤差
表3 t+2時刻挖泥船產(chǎn)量預(yù)測誤差
表1、2、3通過比較兩種模型之間的均方根誤差和平均百分比誤差可以清晰地看出經(jīng)過SGRU預(yù)測模型的誤差更小,預(yù)測效果更為精確。
表1 t時刻挖泥船產(chǎn)量預(yù)測誤差
實(shí)驗(yàn)表明,使用自注意力機(jī)制對GRU模型進(jìn)行優(yōu)化可以有效地降低模型的預(yù)測誤差,較好的對耙吸挖泥船的產(chǎn)量進(jìn)行預(yù)測。預(yù)測模型通過對過去數(shù)據(jù)的分析與學(xué)習(xí),成功預(yù)測了耙吸挖泥船的當(dāng)前時刻以及未來時刻產(chǎn)量,更好地構(gòu)建了挖泥船裝艙產(chǎn)量預(yù)測模型。