?

基于聯邦學習的船舶AIS 軌跡預測算法

2024-02-29 04:40鄭晨俊曾艷袁俊峰張紀林王鑫韓猛
計算機工程 2024年2期
關鍵詞:集中式聯邦客戶端

鄭晨俊,曾艷,2*,袁俊峰,2,張紀林,2,3,王鑫,韓猛

(1.杭州電子科技大學計算機學院,浙江 杭州 310018;2.杭州電子科技大學復雜系統建模與仿真教育部重點實驗室,浙江 杭州 310018;3.數據安全治理浙江省工程研究中心,浙江 杭州 310018;4.杭州電子科技大學圣光機聯合學院,浙江 杭州 310018)

0 引言

隨著全球經濟的不斷發展,國際貿易呈現快速增長的趨勢。海上航運作為重要的國際貿易運輸方式,面臨著船舶數量不斷增多所帶來的海上交通和船舶安全問題。復雜多變的海上作業環境加上災害天氣下船舶需要實時改變航行軌跡的需求,導致實際航行軌跡偏離預設軌跡且無法預測,進一步影響了海上交通秩序并可能導致海事事故的發生。船舶自動識別系統(AIS)作為船舶航行信息的主要載體,提供了大量的數據用于軌跡預測。通過多層神經網絡挖掘AIS 數據中蘊含的軌跡信息,分析船舶的活動規律和軌跡特征,實現精準預測航行過程,具有重要的研究意義,同時也能夠為海上交通和海事監督提供可靠的技術支持。

目前,基于深度學習的船舶軌跡預測方法通常采用集中式訓練策略,即將船舶終端收集的AIS 數據匯總至中央云服務器后進行統一訓練。但這種傳統的集中式訓練策略面臨以下問題:1)由于海上環境的惡劣和海上通信受限的情況,如無線電通信、衛星通信、計算機網絡等多種低效通信方式,海上通信資源緊缺、可傳輸數據量小和通信代價大,不利于將船舶終端AIS 數據同步至云端進行集中式訓練;2)出于隱私和行業規定等原因,不同數據源之間可能存在數據壁壘,從而形成數據孤島問題;3)數據轉移和集中訓練過程中,數據安全問題無法得到保障,并伴隨著數據使用的隱私泄露問題。由此可見,包括船舶軌跡預測在內的人工智能技術面臨實際應用的巨大阻礙。

為了解決上述問題,Google 公司提出聯邦學習技術[1],用于在不共享本地數據的前提下高效訓練并挖掘數據的價值。聯邦學習采用服務器-客戶端架構進行機器學習,并在保持數據分散和獨立性的同時,通過多個客戶端在服務器的協調下共同訓練同一個全局模型,比如FedAvg[1]、FedBoost[2]、FedProx[3]、SCAFFOLD[4]等聯邦學習算法。

通常云端服務器具有較高的計算效率,而邊緣設備具有低時延、輕計算的特點。傳統集中式機器學習將數據集中到云服務器進行計算,為船舶軌跡預測任務提供了相對穩定的訓練精度和訓練速度,同時規避了數據異構性帶來的影響,但海上弱通信環境無法滿足其需要的高通信代價。

聯邦學習利用邊緣設備進行本地小樣本訓練,云端負責接收各客戶端定期發回的模型,聚合完成后發回各邊緣設備進行本地預測,減少傳輸壓力的同時實現了云邊協同[5],在不上傳數據的情況下充分利用云邊資源和網絡資源。

目前,對于聯邦學習下的船舶軌跡預測研究,通常假設船舶客戶端數據為獨立同分布(IID)數據場景,如文獻[6]未考慮船舶客戶端數據為非獨立同分布(Non-IID)[7]的情況,而在實際情況下船舶客戶端數據通常呈現Non-IID 分布。

針對Non-IID 場景,本文提出一種新的船舶軌跡預測算法(E-FVTP),使用聯邦學習技術來解決船舶軌跡預測中的實際問題,主要貢獻和創新點如下:

1)構建一種基于AIS 數據的卷積神經網絡-門控循環單元(CNN-GRU)船舶軌跡預測模型,用于解決船舶終端設備計算能力不足的問題。該模型在聯邦學習中具有高精度和高訓練效率的特點,有效地解決了船舶終端設備實際落實訓練的問題。

2)針對數據異構性,采用Fedves 聯邦學習算法解決多船舶之間的數據孤島問題,并優化本地模型訓練過程,實現本地模型的穩定快速收斂,同時采用限制本地訓練條件策略,減少本地模型更新通信輪數,優化服務器與客戶端之間的通信壓力,并減小不同采樣率下Non-IID 數據特性對全局模型精度的影響。

3)在實際近海數據集下對E-FVTP 算法進行實驗。實驗結果表明,與傳統集中式訓練和聯邦框架下的CNN-GRU 模型相比,E-FVTP 算法在保證全局精度與集中式訓練基本持平的基礎上,顯著提升了本地模型訓練的收斂速度,減少了服務器-客戶端通信量,并且在不同客戶端采樣率下表現較為穩定,具有良好的拓展性。

1 相關工作

1.1 船舶軌跡預測模型

目前,船舶軌跡預測模型的研究已經積累了一定的成果,基本思路是利用船舶歷史軌跡信息進行未來軌跡預測,主要的研究方法包括基于統計和船舶動力學方程的方法、基于聚類算法的方法以及基于深度學習算法的方法,其中,基于深度學習算法的方法是當前船舶軌跡數據挖掘的主流方法。

1)基于統計和船舶動力學方程的船舶軌跡預測。文獻[8]利用自適應核密度估計框架,從歷史AIS 數據中提取運動模式,并構建相應的運動異常檢測器。文獻[9]提出一種擴展卡爾曼濾波器(EKF),用于艦船狀態估計和軌跡預測,并將智能特征集成到VTMIS 中。然而,這些方法均需要提前對船舶運動狀態方程進行建模,由于海況的動態多樣性,實時建模難度很大,因此不具有良好的拓展性和可用性。

2)基于聚類算法的船舶軌跡預測。相比傳統基于統計和船舶動力學方程的方法,聚類方法的泛化性更強,能夠在不需要先驗知識的情況下根據不同的數據狀況無監督訓練得到軌跡預測結果。文獻[10]綜合考慮船舶軌跡的地理空間信息和背景特征,通過改進基于密度的聚類算法,實現對不同航線的軌跡自動分類,無需先驗知識。文獻[11]提出一種基于Hausdorff 距離和分層密度的帶噪聲空間聚類(HDBSCAN)的船舶AIS 軌跡聚類方法,利用船舶運動的形狀特征進行聚類,具有良好的擴展性。文獻[12]采用基于密度的噪聲空間聚類算法(DBSCAN)對艦船軌跡模式進行分析,以制定新的船舶港口機動指南。需要注意的是:聚類方法僅將某船舶航行區域內的軌跡進行劃分聚類,這與傳統的軌跡預測不同,效果受限于現有區域內記錄的軌跡,而且計算速度和最終預測效果仍需要進一步改善。

3)基于深度學習算法的船舶軌跡預測。相比上述兩種方法,深度學習預測方法在計算開銷和泛化效果上更為優秀,目前已被廣泛應用于船舶軌跡預測問題。文獻[13]采用長短期記憶(LSTM)網絡進行軌跡實時預測,并運用遺傳算法(GA)對超參數進行優化,提高預測精度和速度。文獻[14]通過采用基于DBSCAN 算法推導的主軌跡,將門控循環單元(GRU)網絡[15]應用于船舶軌跡實時預測并進行訓練,在預測精度與LSTM 相近的情況下,該方法仍能提高計算效率。文獻[16]采用CNN 的特征提取和分類能力,利用一系列功能層(如卷積層、最大池化層和全連接層)構建CNN-SMMC 架構,用于船舶運動分類,并取得了優秀的AIS 數據分類性能。需要注意的是:深度學習預測方法需要大量的訓練數據和計算資源,因此在實際應用中需要考慮相應的資源成本。

目前,常見的深度學習預測模型主要由CNN、RNN 及多種基于這兩類神經網絡的變體組成。CNN 在提取時間序列數據的時序特征方面有不錯的效果,且模型簡單、易于訓練。RNN 的兩種變體LSTM 和GRU 也被廣泛用于時間序列預測,其中,GRU 與LSTM 預測效果相近,但LSTM 存在明顯的超參難以獲得最優解的問題,導致訓練過程復雜,且計算效率低于GRU。在實際船舶聯邦環境中,由于船舶邊緣計算能力有限,須考慮模型復雜度和計算效率方面的限制,因此本文提出一種基于CNN-GRU的船舶軌跡預測模型,利用CNN 挖掘AIS 數據的時序特征以及不同維度數據之間的關系,再通過GRU完成軌跡預測任務。CNN-GRU 模型相比單類型網絡模型具有更高的精度,在控制計算效率和訓練效率方面更具優勢,同時提高了模型在弱邊緣計算設備上的可訓練性。

1.2 聯邦學習

聯邦學習是一種將數據存儲在客戶端設備上且在不上傳源數據的前提下通過多個客戶端聯合訓練全局模型的方法。在訓練期間,客戶端需要定期與中央服務器通信,交換本地模型和全局模型。由于不同客戶端本地數據集的數據異構性,聯邦學習客戶端在模型訓練中會產生不同程度的概念漂移[17],即預測軌跡的統計特性隨時間發生變化的現象,從而降低了全局模型的收斂速度和精度。針對海上環境及船舶航行的多樣性和復雜性,研究基于數據異構性的聯邦學習并對相關工作進行分析。

文獻[1]提出的FedAvg 算法是聯邦學習的經典算法,它是一種基于平均模型更新的隨機梯度下降方法。然而,由于FedAvg 算法沒有針對數據異構性問題進行優化,導致在Non-IID 數據下實驗效果不佳,因此需要在算法設計中考慮數據異構性,以提高聯邦學習性能和效果。

針對數據異構性問題,學者們開展了大量研究工作。文獻[3]提出FedProx 算法,該算法在FedAvg的基礎上引入近端項,限制了本地模型訓練時的偏移,同時引入不精確解,緩解了某些設備的計算壓力。文獻[4]提出的SCAFFOLD 算法使用控制變量來糾正客戶端局部更新產生的偏移,從而提高模型精度,但也會增加通信代價和訓練時間。文獻[18]提出使用知識蒸餾法處理數據Non-IID 問題,服務器學習一個輕量級生成器以data-free 方式集成用戶信息,指導用戶使用學習到的知識作為“歸納偏置”來調節局部訓練。文獻[19]提出一種新的聯邦學習個性化方法:聚類(多任務)聯邦學習,將參數相似的節點劃分為同一個節點簇,共享參數的變化量,以解決Non-IID 數據導致的局部最優問題。文獻[20]針對非獨立同分布數據提出一種聯邦學習架構,將Non-IID 訓練數據轉換成多個獨立同分布的數據子集,并計算從各類別數據中提取的特征對全局模型更新的權重,從而緩解訓練數據不均衡的負面影響。文獻[21]提出基于本地數據特征的公平性聯邦學習模型,以解決訓練數據分布不均衡情況下產生的聚合模型對各個客戶端模型不公平的問題。文獻[22]通過將全局模型與局部模型的排列交織在一起,減小Non-IID 對本地模型概念漂移的影響。文獻[23]提出一種簡單的算法(FedAlign),通過標準正則項方法有效克服數據異構性和以往方法的缺陷。文獻[24]提出方差約簡自私學習(VaRSeL),引導模型向內部客戶端所青睞的方向更新,以克服傳統聯邦學習中某些客戶端表現較差的問題。文獻[25]提出一種平衡信息流的方法,通過平衡從初始模型和訓練數據集到局部適應的信息流,在本地數據集異構的情況下,穩定訓練高質量的個性化全局模型。文獻[26]提出一種基于本地模型質量的客戶端選擇方法(ChFL),差異選擇客戶端進行本地訓練并提高收斂速度。

上述研究從不同角度分析和改善數據異構性對聯邦學習訓練模型精度和效率的影響,但多數用于穩定全局模型的優化方法會增加整體負擔。目前,多數聯邦學習的研究均集中在圖像分類、語義分析等領域,而在船舶軌跡預測背景下的聯邦學習不僅要關注數據異構性問題,而且要權衡通信代價和計算效率。因此,在研究軌跡數據異構性的前提下,本文提出一種針對聯邦學習框架的改進算法,在控制本地訓練量的同時保持原有本地模型,添加近端項來控制極端情況下的本地自私化行為,實現本地和全局模型的同步個性化優化,有效解決了數據異構性問題,提高了模型訓練精度和效率。

2 問題描述

船舶軌跡預測是指通過對歷史的船舶運行數據進行分析來預測船舶未來的運動軌跡。船舶軌跡預測在海上交通管制、安全管理、環??刂?、資源調配等領域具有重要的應用價值。通過船舶軌跡預測可以有效提高船舶交通的安全性,避免事故發生,同時通過對船舶的運動軌跡進行預測,可以優化海上資源調配,提高海運的效率和運營成本的可控性,減少資源浪費和環境污染。另外,船舶軌跡預測還可以為海上交通的規劃和管制提供參考和決策支持。船舶軌跡預測是一項具有廣泛應用前景和重要意義的技術,可以有效提高海上航運的安全性和效率。由于海上環境的多變性,船舶未來軌跡對海上交通統籌調控至關重要,由AIS 數據挖掘未來航線信息成為重要手段。同時,考慮到海上環境多變惡劣且通信條件差,通過傳統集中式軌跡預測模型訓練并不可行。因此,采用聯邦學習與軌跡預測模型相結合處理上述問題。

2.1 船舶軌跡預測問題

船舶軌跡是船舶在港口間航行的路線,在實際場景中由于AIS 信息發送不連續,實際船舶軌跡信息由離散的軌跡點組成,軌跡T的定義如式(1)所示:

軌跡點信息包含船舶實時位置與航行狀況,如對地航速和對地航向,軌跡點p的定義如式(2)所示:

其中:li是軌跡點的經度;bi是軌跡點的緯度;si和ci是軌跡點船舶的對地航速和對地航向;ti表示軌跡點的時間信息。

船舶軌跡預測問題是利用歷史軌跡數據的特征預測未來時刻的軌跡信息,通過船舶軌跡可以定義軌跡預測模型,如式(3)所示:

其中:Pl,x表示前l個時刻的軌跡點作為輸入預測的第x個軌跡點;f表示軌跡預測模型。

2.2 聯邦學習下的船舶軌跡預測問題

在船舶軌跡預測問題中,將軌跡特征輸入xi=(pi,pi+1,…,pi+l-1)和軌跡預測輸出yi=pi+l分別構成特征空 間X=x1,x2,…,xn-l和特征 預測空 間Y=y1,y2,…,yn-l,其中,l表示預測特征長度,n表示原始軌跡點樣本數。使用函數f作為特征空間到特征預測空間的映射函數(預測函數)。損失函數l(w)為時序預測中常用的均方誤差損失函數,如式(4)所示:

其中:w是神經網絡參數。將集中式學習的學習任務表示為式(5),并使用隨機梯度下降法迭代求解神經網絡參數w。

假設wt,(c)表示集中式學習設置下服務器第t輪更新的神經網絡參數,η表示學習率,?w表示在第t輪更新的模型參數。因此,集中式學習設置下的SGD 梯度更新如式(6)所示:

假設聯邦學習系統中共有K個客戶端,每個客戶端在本地訓練過程中單獨進行SGD 梯度更新。nk表示客戶端的本地訓練數據集大小,wt,(k)表示客戶端在第t輪SGD 梯度更新后的權重,如式(7)所示:

規定每經過E次全局SGD 迭代后進行一次同步處理,wmE,(f)表示第m次聯邦聚合之后的全局模型,則全局模型wmE,(f)的聚合子式如式(8)所示:

其中:wmE,(k)表示客戶端經歷mE次迭代后的本地模型參數;表示客戶端的模型聚合權重。在聚合完成后,服務器向所有客戶端發送更新過的全局模型參數wmE,(f),客戶端使用新的全局模型參數替換本地模型參數進行接下來的迭代過程。

3 基于聯邦學習的船舶軌跡預測算法

首先,采用CNN-GRU 模型處理船舶軌跡預測問題,其中CNN、GRU 網絡用于軌跡特征提取和長短時預測,在高精度的前提下保證較高的計算效率,適合船舶邊緣計算性能有限背景下的計算任務。然后,為了管理船舶AIS 數據的處理和訓練,采用Fedves 聯邦學習框架用于統一客戶端訓練數據集規模,減少數據量不均衡特性,在Non-IID 數據特性下實現穩定全局的聚合效果。最后,在CNN-GRU 模型和Fedves 聯邦學習框架的基礎上提出E-FVTP 算法,該算法引入正則項對過大的客戶端更新進行適當校正限制,從而降低局部概念漂移對全局精度的影響,顯著提高船舶軌跡預測的準確性和效率。

3.1 CNN-GRU 模型

船舶航行軌跡是典型的時間序列數據,因此船舶軌跡預測也被定義為時間序列預測問題。針對該問題,提出基于CNN-GRU 軌跡預測模型,充分利用CNN 和GRU 的優勢。CNN 是一種含有卷積過程和深度結構的前饋神經網絡,具有局部連接、權重共享等特性,能夠有效提取數據特征和短時特征,卷積運算過程可融合局部上下文信息,用于船舶時間序列的捕捉,顯著改善模型精度和收斂速度。GRU 是RNN 網絡的一種變體,具有處理較長時間序列的問題,并且能夠在一定程度上避免傳統RNN 產生的梯度消失和梯度爆炸問題。與RNN 的另一種變體LSTM 相比,GRU 在精度上與LSTM 基本持平的前提下,單元結構更加簡單,訓練效率更高。

CNN-GRU 船舶軌跡預測模型結構如圖1 所示(彩色效果見《計算機工程》官網HTML 版,下同)。該模型結構主要由卷積神經網絡和循環神經網絡組成,包括雙層一維CNN-ReLU、一個池化層、一個卷積特征處理結構(全連接層-ReLU-全連接層)、一個雙層循環GRU 結構和一個單獨的全連接層,其中:雙層一維CNN-ReLU 用于初步提取高維數據特征、短時時序特征;池化層用于保存選擇卷積層的特征;卷積特征處理結構用于將特征提取為GRU 輸入;雙層循環GRU 結構負責對子序列信息進行長短時特征處理預測;末尾的全連接層負責結果輸出。

圖1 CNN-GRU 船舶軌跡預測模型結構Fig.1 Structure of CNN-GRU ship trajectory prediction model

3.2 Fedves 聯邦學習框架

Fedves 是一個針對船舶軌跡預測問題提出的聯邦學習框架,允許不同參與方(搭載AIS 的船舶個體)在具有Non-IID 特征的AIS 軌跡數據集上進行訓練,訓練數據集存儲在參與方的本地客戶端上,在聯邦學習過程中無需交換原始數據,只需進行中央云服務器與船舶終端之間的模型參數通信。

基于Fedves 的船舶軌跡預測整體方法如圖2 所示,該方法包括中央云服務器、邊緣計算設備、終端數據庫、終端AIS,其中:中央云服務器在系統中負責全局通信協調,對各船舶終端模型更新狀態監聽,并獲取更新過的本地模型,在聚合后覆蓋更新終端模型;終端數據庫負責存儲本地AIS 數據;終端AIS在系統中負責終端的AIS 數據收集工作,收集并整理數據后發送至終端數據庫進行存儲;邊緣計算設備(即船載微機)具有一定的計算能力和通信能力,負責客戶端模型實際計算任務以及與中央云服務器的通信任務。

圖2 基于Fedves 的船舶軌跡預測框架結構Fig.2 Structure of ship trajectory prediction framework based on Fedves

根據實際場景,以每艘船舶為單位作為聯邦學習客戶端,各終端AIS 獲取的AIS 數據集相互獨立,并且每個船舶終端實際航行產生的AIS 數據量不同,即各終端本地數據具有強Non-IID 特性。由式(8)可知,客戶端參與訓練的數據量相等時,各客戶端pk相等,在聚合過程中全局模型對各個本地模型權重相等,聚合過程穩定度較好??紤]到船舶航行背景下各客戶端的強獨立性,為了滿足高收斂速度與高模型精度的平衡需求,規定同時滿足以下條件才進行本地模型訓練:

1)終端數據庫中存在長度為M的原始數據;

2)邊緣計算設備已完成上一輪的本地模型訓練;

3)本地模型已更新為中央云服務器下發的聚合過的全局模型。

在滿足上述條件的情況下,基于Fedves 的船舶軌跡預測流程具體如下:

1)由終端AIS 收集原始AIS 數據并存入終端數據庫;

2)終端數據庫定時更新未訓練的原始數據量,長度達到M后通知邊緣計算設備取數據;

3)邊緣計算設備滿足訓練條件后取終端數據庫中的定長原始數據進行本地模型訓練并上傳參數至中央云服務器;

4)中央云服務器定時對各個邊緣計算設備發回的本地模型參數進行聚合并下放;

5)邊緣計算設備接收中央云服務器發回的參數并更新本地模型,重復步驟1)~步驟3)。

3.3 E-FVTP 算法實現

E-FVTP 算法基于CNN-GRU 模型與Fedves 聯邦學習框架構建,主要包括客戶端數據集劃分、全局協調、客戶端本地訓練和服務器聚合模型。

1)客戶端數據集劃分:每艘船舶獨占一個水上移動通信業務標識(MMSI)碼,用MMSI 碼對船舶進行編號,記di為船舶i的終端收集的航行數據,參與訓練的數據集合為D={d1,d2,…,dm},并且子集之間滿足條件?di,dj∈D,len(di)=len(dj)。每個客戶端數據相互獨立,且按照相同比例劃分訓練集、評估集及測試集。

2)全局協調:規定全局輪數為E,每輪全局服務器隨機選取c個(0 <c≤C,其中C為客戶端數量)客戶端參與訓練,客戶端模型訓練結束后向服務端發送客戶端號、數據量及更新過的本地模型參數。在本輪c個客戶端全部訓練結束后,對接收的所有客戶端的本地模型參數進行處理,并聚合新的全局模型進行廣播下放。

3)客戶端本地訓練:服務器選取指定客戶端后客戶端開始訓練本地CNN-GRU 模型,每次訓練隨機從訓練集中取,其中Di為客戶端i分到的數據集)batch 的數據作為本輪本地訓練的訓練輸入。本輪訓練任務結束后,客戶端向服務器發送客戶端號、數據量及本地模型更新參數。

4)服務器聚合模型:服務器接收各客戶端的客戶端號、數據量及本地模型參數后,根據客戶端i訓練數據量ni,賦予各個本地模型參數權重pc,聚合過程如式(9)所示:

其中:m表示全局輪數(即全局模型迭代數);C為客戶端數量;wm,(c)和wm,(f)分別表示第m輪客戶端和服務器的 模型參 數;系數用 于判斷客戶端是否本輪進行過訓練以及是否參與模型聚合。

E-FVTP 算法具體如下:

為了進一步提升模型精度,采用正則化方法[3]對局部更新做出有效規范和限制,如式(10)所示:

客戶端不僅最小化本地模型Fk,而且使用局部求解器來近似最小化hk。

3.4 E-FVTP 算法復雜度分析

1)客戶端本地訓練復雜度

每個客戶端在本地進行SGD 更新,復雜度與每輪更新的樣本數量和模型參數的維度有關。假設每個客戶端進行N輪迭代,客戶端本地訓練數據集的大小為k,則客戶端本地迭代更新的時間復雜度為O(Nk)。

為防止本地模型參數更新過大,導致概念漂移,在客戶端本地模型迭代更新一次后,對所有參數梯度更新進行一次正則化處理。假設模型參數規模為w,則本地正則化規范的時間復雜度為O(Nw)。

2)服務器聚合復雜度

對于本輪客戶端更新過的模型,服務器根據客戶端的模型聚合權重將各個更新過的模型參數進行聚合,假設每輪平均有m個客戶端更新模型參數,則時間復雜度為O(mw)。

3)通信代價

客戶端將本地模型參數、梯度更新等信息傳輸給中央服務器,每輪通信代價為O(mw)。

中央服務器完成聚合后,將聚合后的模型發送至所有客戶端進行模型同步,假設共有c個客戶端,則通信代價為O(cw)。

如表1 所示,E-FVTP 與FedProx 復雜 度相同,且僅在客戶端訓練復雜度上比FedAvg 高O(Nw),其他方面與FedAvg 相同,具有較低的復雜度。需要說明的是:客戶端總數為c,每個客戶端進行N輪迭代,客戶端本地訓練數據集的大小為k,每輪平均有m個客戶端更新模型參數。

表1 聯邦學習算法復雜度對比 Table 1 Comparison of complexity for federated learning algorithms

4 實驗設計與分析

4.1 實驗設置

4.1.1 實驗環境

基于PyTorch 框架搭建深度學習模型。實驗使用的系統版本為Ubuntu 18.04.4 LTS。其他實驗環境詳細配置如表2 和表3 所示。

表2 軟件環境配置 Table 2 Software environment configuration

表3 硬件環境配置 Table 3 Hardware environment configuration

4.1.2 實驗數據集

采用搜集的舟山海洋船舶航行AIS 數據集以及MarineCadastre 開源數據集來驗證E-FVTP 算法的可行性。數據集遵循AIS 規范,包含大量的航行軌跡信息,原始數據包括MMSI 碼、經緯度、對地航向、對地航速、時間戳、航行狀態等維度的特征。舟山海洋船舶航行AIS 數據集包含522 000 條原始AIS 數據,其中每個MMSI 碼對應1 000 條AIS 數據,且原始AIS 數據已經過數據清洗符合時序數據規范特征。MarineCadastre數據集包含2021年1月1日的1 048 576條原始AIS 數據,按照8∶1∶1 的比例劃分為訓練集、測試集和評估集。

4.1.3 數據劃分與分片

假設舟山海洋船舶航行AIS 數據集D包含m個船舶終端的數據,且每艘船舶獨占一個水上移動通信業務標識碼,將數據集按MMSI 碼劃分D={d1,d2,…,dm},確保子數據集的Non-IID 特性。另外,子集滿足?di,dj∈D,len(di)=len(dj),保證di作為分片單位的分片大小相等??刂泼總€客戶端分到相同數量的di,并按比例劃分訓練集、評估集及測試集,仿真實際船舶航行中各MMSI 碼對應船舶之間互相獨立的數據特性。

4.1.4 評估指標

實驗任務為時間序列預測,對于時序預測任務可以通過計算誤差對模型的最終效果進行度量。均方誤差(MSE)是衡量時序預測模型的常用指標,定義如式(11)所示:

其中:y為樣本對應的待預測特征;y為樣本預測結果。

在聯邦框架下,評估指標表示為各個客戶端均方誤差的平均值,定義如式(12)所示,MSE 值越大,表示實驗誤差越大,預測效果越差。

4.2 結果分析

在聯邦學習背景下的船舶軌跡預測具有數據Non-IID 特性,相比于集中式訓練船舶軌跡預測模型,模型精度、收斂速度以及訓練效率有較大的優化空間。為了證明E-FVTP 算法的實際可行性,從模型精度、可拓展性和通信代價3 個角度對E-FVTP 進行對比實驗驗證。本節共設置了3 個實驗:1)在集中式、FedAvg、FedProx 和SCAFFOLD 下訓練CNN-GRU模型,與E-FVTP 進行對比實驗,以驗證使用E-FVTP在模型精度方面與集中式訓練基本持平,并且模型精度與訓練效果均優于一般聯邦學習框架下的預測工作;2)通過改變每輪參與訓練的客戶端數量,分析不同采樣率下的模型精度,以驗證E-FVTP 面對不同采樣情況的可拓展性;3)比較相同數據集下集中式、FedAvg、FedProx、SCAFFOLD 及E-FVTP 下的訓練通信代價。

4.2.1 模型精度對比

在相同實驗環境下,在舟山海洋船舶航行AIS數據集上對集中式、FedAvg、FedProx 和SCAFFOLD下訓練的CNN-GRU 和E-FVTP 算法進行對比實驗,分別記錄訓練過程中評估的模型損失值及訓練時間,對兩者的實驗數據進行橫向對比。在該實驗中,客戶端的本地訓練輪數設為1,每輪選取2 個客戶端參與全局模型的聚合,全局訓練輪數設為100,集中式訓練輪數也設為100,控制總輪數相同。E-FVTP的每個客戶端分到一艘船舶的連續1 000 條數據作為訓練數據,總共設置10 個客戶端;集中式訓練分到所有10 艘船舶的1 000×10 條數據作為數據集。在控制系統總輸入相同及訓練輪數相同的前提下,比較不同實驗的預測誤差和訓練時間,其中聯邦學習框架下的誤差為全局誤差。

分析圖3、圖4 和表4(其中最優指標值用加粗字體標示,下同)的實驗結果可以得到:1)E-FVTP 每個客戶端數據均具有Non-IID 性質,并且數據特征量僅為集中式訓練的1/10,但精度和收斂速度均優于集中式訓練,其中,預測誤差降低40%左右,收斂速度提升了67%左右;2)E-FVTP 客戶端選取隨機且數據具有異構性,期間損失值產生微小波動,但總體相對穩定,未對全局損失值產生巨大影響;3)E-FVTP 每個客戶端的數據集僅有集中式訓練的1/10,但訓練速度得到明顯提升,說明在有通信代價的前提下,E-FVTP 訓練相比于集中式訓練更為高效;4)SCAFFOLD 由于控制變量的影響,在預測誤差和收斂時間上表現非常不理想,均遠低于集中式和其他聯邦算法;5)由于正則項的限制,E-FVTP 全局訓練前100 輪的損失值僅略微高于FedAvg,但收斂預測誤差略優于FedAvg 和FedProx,并且收斂速度分別提高了50.0%和24.2%,說明E-FVTP 的正則項對指導模型找到最優參數具有重要作用,相比其他聯邦算法更適合船舶軌跡預測任務。

表4 不同訓練算法的預測誤差與收斂時間對比 Table 4 Comparison of prediction errors and convergence times of different training algorithms

圖3 訓練過程損失值對比Fig.3 Comparison of loss values during the training process

圖4 訓練時間對比Fig.4 Comparison of training times

4.2.2 采樣率對比

本節選擇采樣率作為指標進行單指標實驗。由于實際場景下面臨采樣率差異問題,為驗證E-FVTP在不同場景下具有可拓展性和良好的性能,改變每輪參與訓練的客戶端數量以驗證E-FVTP 對不同采樣率的強適應性,E-FVTP 下的采樣率為每輪參與訓練的客戶端數與客戶端總數之比。

如圖5 所示,對不同采樣率下E-FVTP 的訓練情況分析可以得出:1)在各采樣率下,E-FVTP 均能在全局訓練200 輪內完成收斂,并且不同采樣率下的最終收斂預測誤差幾乎一致;2)當采樣率較低時,收斂速度會在一定程度上受到影響。綜上,E-FVTP 不依賴高采樣率進行穩定高效的訓練過程,能夠在遠低于全采樣的訓練時間內得到理想的CNN-GRU 預測模型。

圖5 采樣率對E-FVTP 訓練的影響Fig.5 Impact of sampling rate on E-FVTP training

4.2.3 通信代價對比

模擬實際船舶預測環境下進行集中式、FedAvg、FedProx、SCAFFOLD、E-FVTP 訓練,計算云邊通信產生的通信代價,對比驗證E-FVTP 在實際海上弱通信條件下的低通信資源占用特點。本部分的通信代價以訓練過程中需要通信的模型參數或數據大小表示,集中式、SCAFFOLD 和E-FVTP 訓練的全局訓練輪數均設置為200,其中SCAFFOLD 和E-FVTP 每輪參與訓練的客戶端數量為2。

由表5 可以看出,E-FVTP 采取聯邦學習方法,相對于集中式訓練節約了76.32%通信量,并且相較于SCAFFOLD 訓練節約了4.78%通信量,與FedAvg和FedProx 的通信量持平,驗證了E-FVTP 相較于傳統集中式訓練在海洋交通管理上的可用性,相較于主流聯邦學習算法具有更低的通信代價。

表5 全局訓練通信量分析 Table 5 Analysis of communication volume for global training 單位:Byte

5 結束語

針對海上通信資源緊缺、數據樣本量不足等造成船舶軌跡預測困難及事故頻發的問題,提出一種新的船舶軌跡預測E-FVTP 算法。E-FVTP 算法使用聯邦學習技術解決船舶軌跡預測中的實際問題,利用邊緣設備進行本地小樣本訓練,云端負責接收各客戶端定期發回的模型參數,在聚合完成后發回各邊緣設備進行本地預測,減少傳輸壓力的同時實現了云邊協同。在舟山海洋船舶航行AIS 數據集和Marine Cadastre 開源數據集上的實驗結果表明,相較于集中式訓練,E-FVTP 算法在收斂速度、預測誤差、通信代價方面均有很好的性能提升,為船舶軌跡預測技術的應用提供了一種可行的解決方案,并對聯邦學習方法在該領域中的進一步研究提供了有價值的借鑒。后續將針對船舶預測及數據特征信息進行更深入的分析,進一步優化E-FVTP 算法。

猜你喜歡
集中式聯邦客戶端
一“炮”而紅 音聯邦SVSound 2000 Pro品鑒會完滿舉行
303A深圳市音聯邦電氣有限公司
光伏:分布式新增裝機規模首次超越集中式
縣級臺在突發事件報道中如何應用手機客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設計與實現
組串式、集中式逆變器的評估選定淺析
接觸網隔離開關集中式控制方案研究
光伏集中式逆變器與組串式逆變器
20年后捷克與斯洛伐克各界對聯邦解體的反思
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合