溫琦 李洋 馬昕 李俊漾 王暖升
(1 中國海洋大學 信息科學與工程學部,山東青島 266100)(2 中國海洋大學 物理海洋教育部重點實驗室,山東青島 266100)(3 中國海洋大學 海洋與大氣學院,山東青島 266100)
海浪觀測研究具有科學研究與工程應用雙重價值。它不僅是海洋動力學、物理海洋學等學科的研究基礎,也是海洋環(huán)境監(jiān)測、海洋氣象預報及海洋工程建設等應用的重要組成部分[1-2]。海浪方向譜是描述海浪特征的一種高階表示手段,可用來反映海浪能量在波數空間、隨頻率以及每一個頻率方向上的分布。目前,獲取海浪方向譜的兩種方式主要是衛(wèi)星遙感與現場觀測[3-4]。衛(wèi)星遙感在獲取大范圍的海浪方向譜方面具有獨特優(yōu)勢。全球第一臺星載海浪波譜儀(Surface Wave Investigation and Monitoring,SWIM)已于2018年搭載中法海洋衛(wèi)星 (China-France Oceanography Satellite,CFOSAT),用于測量全球范圍內的海浪方向譜。然而,SWIM測量海浪方向譜的關鍵在于海洋表面波浪對微波信號的散射和回波特性,因而,其測量精度容易受到外界干擾、儀器誤差、海況變化以及數據處理等因素的影響[5-6]。
針對上述因素導致精度降低的情況,一般采用相關數據對其進行標定的方法處置。如:文獻[7]通過將SWIM得到的數據與現有波浪預測模型得出的數據進行對比,驗證SWIM在獲取波高、主波方向和主波長的等參數上的性能表現;文獻[8]針對SWIM獲取的海浪方向譜數據,與數據對應的地理分布、海況等條件進行了相關性分析;文獻[9]針對SWIM與浮標獲取的海浪方向譜數據進行對比,驗證兩者在不同的海況下數據一致性表現。
上述標定方法,無論是從波浪預測模型獲取數據,還是從浮標等儀器獲取方向譜,均是現場觀測法。現場觀測是一種基于現場實測波面數據直接對當前海況求解海浪方向譜的方法,如直接傅里葉變換法(Direct Fourier Transform,DFTM)[10]、擴展最大似然法(Extend the Maximum Likelihood Method,EMLM)[11]以及貝葉斯法(Bayesian method,BDM)[12]等,后文統一稱為傳統海浪方向譜估計方法。較為有代表性的荷蘭的波浪騎士浮標(Datawell)就是采用的修正后的DFTM方法,已廣泛應用于海洋環(huán)境觀測領域[13]。然而,傳統海浪方向譜估計方法將復雜的海浪隨機運動解釋為多種相對單一的物理過程的疊加,在參量的選取方面往往需要使用者經驗性地取值,這勢必導致估計的海浪方向譜與真實值存在較大誤差。
綜上所述,本文研制一套基于Transformer深度神經網絡模型海浪方向譜估計方法的漂流波浪浮標系統,利用其易投放、低成本、實時性高、精準刻畫及可利用海流擴散覆蓋全球海域等特點,實現對SWIM測量數據結果進行標定。在海浪方向譜估計方法方面,通過基于稀疏自注意力機制的編碼器模塊設計、基于一步解碼的解碼器模塊設計以及物理引導的模型約束等,實現“波要素”到“海浪方向譜”端到端的高精度表達,相較于傳統方法在準確性上有所提高。在漂流波浪浮標系統設計方面,開發(fā)適用的人工智能(Artificial Intelligence,AI)軟硬件系統,通過對整個系統不同任務進行動態(tài)調度分配,實現系統低功耗運行。
漂流浮標傳感器可采集多種波要素數據(如加速度、坡度等),組成多維的時間序列,海浪方向譜的估計就是由這些數據計算海浪在不同頻率和傳播方向下的能量譜密度的過程。現有的海浪方向譜估計方法均是通過將觀測到的波要素數據經數值優(yōu)化方法計算得到,這些方法普遍存在精度低問題。
本文提出一種基于Transformer深度神經網絡模型[14]的海浪方向譜估計方法,具體估計方法見圖1。左半部分和右半部分別為模型編碼器和解碼器,前者致力于提取時序上的長短程依賴,使用波浪浮標測得的傳感器數據序列作為輸入,并將其表示為固定長度的張量,即隱狀態(tài)。在解碼階段,以編碼器的輸出張量作為解碼器的輸入,同時輸入海浪譜的頻率坐標作為位置編碼,解碼器模塊致力于提取海浪方向譜在方向分布維度與頻率分布維度的注意力信息,對于解碼器最底層的單元,使用頻率編碼嵌入機制針對輸出的采樣頻帶進行編碼,使其能捕捉輸入數據在不同采樣頻率的信息,最終得到估計的海浪譜能量密度。
傳統的自注意力機制的輸入形式是(Q,K,V),然后進行縮放點積
(1)
式中:Q、K和V分別為矩陣,且滿足Q∈RLQ×d,K∈RLK×d,V∈RLV×d,LQ、LK與LV分別為Q、K和V的序列長度;d表示輸入數據到注意力機制的投影維度;Softmax(·)用于計算注意力權重。
為進一步討論自注意力機制,定義qi、ki、vi分別代表Q、K、V中的第i行,則第i個Q的注意力分數用概率的形式表示為
(2)
自注意力機制中,計算上面的概率p(ki|qi)的點積運算的時間復雜度為O(LQ×LK),且需要計算O(LQ×LK)的空間復雜度,在很大程度上限制了預測能力的提高。
本文引入了文獻[15]針對長時間序列預測任務的Informer模型中的稀疏自注意力機制來解決此問題,使用KL散度來衡量其中第i個Q的稀疏性:
(3)
式中:第一項是qi對于所有的K進行Log-Sum-Exp函數計算,第二項是所有K的算數平均值。通過計算,可以得到:
(4)
同時,解碼器不采用動態(tài)解碼的方式,而是采用“一步解碼” 的設計,即由解碼器一次輸出整個序列。第一個解碼器模塊的另一個輸入設計為方向譜的頻率位置編碼,將每個頻率對應的位置進行編碼,輸入第一個解碼器模塊。在此基礎上,引入海浪的物理屬性(有效波高、平滑性以及方向周期性等約束條件)作為引導和約束,通過模擬數據對模型參數進行監(jiān)督式訓練,輸出海浪方向譜。最終,通過開發(fā)適用的AI軟硬件系統,經量化裁剪技術完成海浪方向譜估計網絡模型在漂流浮標的端側部署。
本文采用CPU+TPU雙核邊緣處理系統,分別利用STM32芯片的豐富接口與BM1684x芯片AI算子,實現加速度、坡度及位移等數據采集、海浪方向譜計算、數據存儲、傳輸等功能,圖2是雙核處理系統的示意圖。
注:CPU為主處理器;TPU為計算芯片;RTC為實時時鐘;USART為串口通信。
為對漂流波浪浮標系統達到大幅度降耗目的,將浮標狀態(tài)設計為任務執(zhí)行和低功耗兩種,如表1所示。
表1 浮標系統不同狀態(tài)功耗分析
任務執(zhí)行方式設計為單線程循環(huán)模式,依次執(zhí)行如圖3所示操作。其中,“休眠”模式設計為兩個工作周期之間的低功耗模式,可通過外部中斷、看門狗或鬧鐘進行喚醒,微控制單元可自主喚醒;而“睡眠”模式設計為系統長時間不工作時采用的休眠方式,主要運用于諸如采集時間間隔長(一天以上)、電池電量低(通常低于30%)等情況下,僅可通過鬧鐘喚醒。經試驗測算得知:漂流波浪浮標任務執(zhí)行狀態(tài)下的功耗明顯大于休眠狀態(tài)下的功耗,而休眠狀態(tài)下的功耗占比也略大于睡眠狀態(tài)下功耗。
圖3 工作周期示意圖
另一方面,通過對任務執(zhí)行狀態(tài)下各任務的單次運行功耗進行計算得知:數據采集為26.7mAh、海浪方向譜計算為10.3mAh、數據存儲為1.8mAh,而數據通訊為53.3mAh,各項數據見表2。由此可以得知,系統各任務的運行時間與功耗相對固定,影響系統單位時間內總功耗的問題關鍵在于休眠與睡眠的合理使用以及休眠與睡眠的時間規(guī)劃。
表2 任務執(zhí)行時間及電流
任務執(zhí)行狀態(tài)存在連續(xù)工作、分段工作以及連續(xù)-分段相互切換等3種不同的模式。連續(xù)工作模式主要指兩個工作周期之間連續(xù)不斷運行的模式;分段模式是為兩個工作周期之間有間隔,間隔正是由睡眠或休眠時間決定。
采用不同的運行模式,浮標系統的用電量、電池容量、太陽能充電能力等具有很大差異。為應對海洋表面氣象多變導致太陽能電池板無法工作的情況,設計一套連續(xù)-分段雙模式切換系統。工作原理設置如下:在連續(xù)工作模式下,每次工作結束時檢測電源剩余電量,當檢測到電源剩余電量低于一個閾值(通常為30%)時,自動切換為分段工作模式,即低功耗模式由休眠改為睡眠,睡眠時間為24 h,即每24 h執(zhí)行一個工作周期;在分段模式下,每次執(zhí)行工作時也會檢測電源剩余電量,如天氣變好,太陽能電池板重新發(fā)揮作用,系統會檢測到電源電量變高,當電量高于一個閾值(通常為60%)時,系統重新切換回連續(xù)工作模式,低功耗方式改為休眠,工作周期間隔改為2 h。
漂流波浪浮標在中國南海某海域進行了海上試驗,使用漂流波浪浮標系統采集了運動傳感器數據,如圖4所示。圖5~圖9分別為傳統的海浪方向譜方法(DFTM、EMLM、BDM以及EMEP等)獲得的海浪方向譜和本文漂流浮標獲得的海浪方向譜??梢钥闯?傳統方法的估計結果存在大量的偽峰,在平滑性和一致性方面都表現較差;本文提出的模型估計的方向譜更符合理論譜形,偽峰較少,并且對數據噪聲的容忍度更高。
圖4 本文浮標在中國南海海域布放情況
圖5 DFTM海浪方向譜
圖6 EMLM海浪方向譜
圖7 BDM海浪方向譜
圖8 EMEP海浪方向譜
圖9 本文海浪方向譜
另一方面,通過對由現場觀測數據進一步生成的500組數據進行計算,選取總能量相對誤差作為定量標準衡量估計譜與靶譜(標準值)的相對精度,有
(5)
利用各方法獲取估計譜,并計算誤差指標,最后對結果計算平均值,結果顯示本文方法總能量相對誤差最小、效果最優(yōu),如表3所示。
表3 總能量相對誤差對比
分析原因得知:傳統的海浪方向譜估計方法僅能使用當前的輸入數據,無法挖掘和利用歷史數據中的有效信息,造成其估計性能的上限較低。為了獲得更準確的方向譜估計結果,傳統方法需要輸入更多的觀測信息,比如使用觀測陣列或者多種傳感器測量的波浪要素數據。在漂流波浪浮標的限制下,采集的數據種類有限,并且不可避免地會混入了大量噪聲,因此造成了傳統方法的估計結果較差,甚至無法應用于后續(xù)更高層次的海洋研究和海洋工程任務中。本文所采用的基于Transformer神經網絡模型的海浪方向譜估計方法可以有效利用歷史數據、仿真數據、陣列數據和多種傳感器數據,使模型在訓練過程中自動從這些數據中提取有效信息,以模型參數的形式將“知識”保存下來。在輸入新的數據時,模型能夠從噪聲中提取有效信號,并通過自注意力機制計算出更為可靠的海浪方向譜。
經測試得知該系統平均工作時間為半年左右,而最長工作時間可達1年以上;同時,部分漂流波浪浮標經優(yōu)化塑料模具制造工藝,可充分利用太陽能充電進行能源補充,其普遍工作時間均達到1年以上,最長達到18個月。
當漂流波浪浮標系統一直處于啟動狀態(tài)時,主處理器功耗占比35%,接口占比8%,內存占比11%,以及轉換模塊占比33%。因此,采用定時啟動和休眠的狀態(tài)來控制整體功耗。休眠狀態(tài)時候,采用關閉外設時鐘,只保留RTC,用于喚醒功能的正常運行。在整個軟件系統程序執(zhí)行流程中,系統采用間歇性“休眠-喚醒-休眠”的電源精細化管理方式,即:主處理器完成指定采集和傳輸工作后立即斷電或休眠,到達設定工作時間再由RTC喚醒,處理結束后再次進入休眠狀態(tài),從而有效降低了系統能源消耗以及隨機干擾的風險。經測算,通過以上措施后,系統整體硬件功耗大大下降。
遙感衛(wèi)星在獲取大范圍海浪方向譜方面具有獨特優(yōu)勢,但同時也存在累積誤差大、精度相對較低的問題,本文提出用小型漂流波浪浮標海浪方向譜對其進行標定的方法。一方面,本文通過設計一種基于Transformer深度神經網絡模型的海浪方向譜估計方法,將漂流波浪浮標測得的傳感器數據序列作為輸入,將海浪方向譜作為輸出,同時引入物理條件約束,實現“傳感器數據”到“海浪方向譜”的端到端表達,相較于傳統方法,本文方法所獲得的方向譜更符合理論譜形,偽峰較少,并且對數據噪聲的容忍度更高;另一方面,本文設計一種基于人工智能芯片的漂流波浪浮標系統,通過對整個系統不同任務進行動態(tài)調度分配,實現系統低功耗運行。將量化裁剪的海浪方向譜估計模型在漂流浮標終端部署,實現海浪方向譜高階表示及浮標系統低功耗運行。