鄭晨俊,曾艷,2*,袁俊峰,2,張紀(jì)林,2,3,王鑫,韓猛
(1.杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院,浙江 杭州 310018;2.杭州電子科技大學(xué)復(fù)雜系統(tǒng)建模與仿真教育部重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310018;3.數(shù)據(jù)安全治理浙江省工程研究中心,浙江 杭州 310018;4.杭州電子科技大學(xué)圣光機(jī)聯(lián)合學(xué)院,浙江 杭州 310018)
隨著全球經(jīng)濟(jì)的不斷發(fā)展,國(guó)際貿(mào)易呈現(xiàn)快速增長(zhǎng)的趨勢(shì)。海上航運(yùn)作為重要的國(guó)際貿(mào)易運(yùn)輸方式,面臨著船舶數(shù)量不斷增多所帶來(lái)的海上交通和船舶安全問(wèn)題。復(fù)雜多變的海上作業(yè)環(huán)境加上災(zāi)害天氣下船舶需要實(shí)時(shí)改變航行軌跡的需求,導(dǎo)致實(shí)際航行軌跡偏離預(yù)設(shè)軌跡且無(wú)法預(yù)測(cè),進(jìn)一步影響了海上交通秩序并可能導(dǎo)致海事事故的發(fā)生。船舶自動(dòng)識(shí)別系統(tǒng)(AIS)作為船舶航行信息的主要載體,提供了大量的數(shù)據(jù)用于軌跡預(yù)測(cè)。通過(guò)多層神經(jīng)網(wǎng)絡(luò)挖掘AIS 數(shù)據(jù)中蘊(yùn)含的軌跡信息,分析船舶的活動(dòng)規(guī)律和軌跡特征,實(shí)現(xiàn)精準(zhǔn)預(yù)測(cè)航行過(guò)程,具有重要的研究意義,同時(shí)也能夠?yàn)楹I辖煌ê秃J卤O(jiān)督提供可靠的技術(shù)支持。
目前,基于深度學(xué)習(xí)的船舶軌跡預(yù)測(cè)方法通常采用集中式訓(xùn)練策略,即將船舶終端收集的AIS 數(shù)據(jù)匯總至中央云服務(wù)器后進(jìn)行統(tǒng)一訓(xùn)練。但這種傳統(tǒng)的集中式訓(xùn)練策略面臨以下問(wèn)題:1)由于海上環(huán)境的惡劣和海上通信受限的情況,如無(wú)線電通信、衛(wèi)星通信、計(jì)算機(jī)網(wǎng)絡(luò)等多種低效通信方式,海上通信資源緊缺、可傳輸數(shù)據(jù)量小和通信代價(jià)大,不利于將船舶終端AIS 數(shù)據(jù)同步至云端進(jìn)行集中式訓(xùn)練;2)出于隱私和行業(yè)規(guī)定等原因,不同數(shù)據(jù)源之間可能存在數(shù)據(jù)壁壘,從而形成數(shù)據(jù)孤島問(wèn)題;3)數(shù)據(jù)轉(zhuǎn)移和集中訓(xùn)練過(guò)程中,數(shù)據(jù)安全問(wèn)題無(wú)法得到保障,并伴隨著數(shù)據(jù)使用的隱私泄露問(wèn)題。由此可見(jiàn),包括船舶軌跡預(yù)測(cè)在內(nèi)的人工智能技術(shù)面臨實(shí)際應(yīng)用的巨大阻礙。
為了解決上述問(wèn)題,Google 公司提出聯(lián)邦學(xué)習(xí)技術(shù)[1],用于在不共享本地?cái)?shù)據(jù)的前提下高效訓(xùn)練并挖掘數(shù)據(jù)的價(jià)值。聯(lián)邦學(xué)習(xí)采用服務(wù)器-客戶端架構(gòu)進(jìn)行機(jī)器學(xué)習(xí),并在保持?jǐn)?shù)據(jù)分散和獨(dú)立性的同時(shí),通過(guò)多個(gè)客戶端在服務(wù)器的協(xié)調(diào)下共同訓(xùn)練同一個(gè)全局模型,比如FedAvg[1]、FedBoost[2]、FedProx[3]、SCAFFOLD[4]等聯(lián)邦學(xué)習(xí)算法。
通常云端服務(wù)器具有較高的計(jì)算效率,而邊緣設(shè)備具有低時(shí)延、輕計(jì)算的特點(diǎn)。傳統(tǒng)集中式機(jī)器學(xué)習(xí)將數(shù)據(jù)集中到云服務(wù)器進(jìn)行計(jì)算,為船舶軌跡預(yù)測(cè)任務(wù)提供了相對(duì)穩(wěn)定的訓(xùn)練精度和訓(xùn)練速度,同時(shí)規(guī)避了數(shù)據(jù)異構(gòu)性帶來(lái)的影響,但海上弱通信環(huán)境無(wú)法滿足其需要的高通信代價(jià)。
聯(lián)邦學(xué)習(xí)利用邊緣設(shè)備進(jìn)行本地小樣本訓(xùn)練,云端負(fù)責(zé)接收各客戶端定期發(fā)回的模型,聚合完成后發(fā)回各邊緣設(shè)備進(jìn)行本地預(yù)測(cè),減少傳輸壓力的同時(shí)實(shí)現(xiàn)了云邊協(xié)同[5],在不上傳數(shù)據(jù)的情況下充分利用云邊資源和網(wǎng)絡(luò)資源。
目前,對(duì)于聯(lián)邦學(xué)習(xí)下的船舶軌跡預(yù)測(cè)研究,通常假設(shè)船舶客戶端數(shù)據(jù)為獨(dú)立同分布(IID)數(shù)據(jù)場(chǎng)景,如文獻(xiàn)[6]未考慮船舶客戶端數(shù)據(jù)為非獨(dú)立同分布(Non-IID)[7]的情況,而在實(shí)際情況下船舶客戶端數(shù)據(jù)通常呈現(xiàn)Non-IID 分布。
針對(duì)Non-IID 場(chǎng)景,本文提出一種新的船舶軌跡預(yù)測(cè)算法(E-FVTP),使用聯(lián)邦學(xué)習(xí)技術(shù)來(lái)解決船舶軌跡預(yù)測(cè)中的實(shí)際問(wèn)題,主要貢獻(xiàn)和創(chuàng)新點(diǎn)如下:
1)構(gòu)建一種基于AIS 數(shù)據(jù)的卷積神經(jīng)網(wǎng)絡(luò)-門控循環(huán)單元(CNN-GRU)船舶軌跡預(yù)測(cè)模型,用于解決船舶終端設(shè)備計(jì)算能力不足的問(wèn)題。該模型在聯(lián)邦學(xué)習(xí)中具有高精度和高訓(xùn)練效率的特點(diǎn),有效地解決了船舶終端設(shè)備實(shí)際落實(shí)訓(xùn)練的問(wèn)題。
2)針對(duì)數(shù)據(jù)異構(gòu)性,采用Fedves 聯(lián)邦學(xué)習(xí)算法解決多船舶之間的數(shù)據(jù)孤島問(wèn)題,并優(yōu)化本地模型訓(xùn)練過(guò)程,實(shí)現(xiàn)本地模型的穩(wěn)定快速收斂,同時(shí)采用限制本地訓(xùn)練條件策略,減少本地模型更新通信輪數(shù),優(yōu)化服務(wù)器與客戶端之間的通信壓力,并減小不同采樣率下Non-IID 數(shù)據(jù)特性對(duì)全局模型精度的影響。
3)在實(shí)際近海數(shù)據(jù)集下對(duì)E-FVTP 算法進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)集中式訓(xùn)練和聯(lián)邦框架下的CNN-GRU 模型相比,E-FVTP 算法在保證全局精度與集中式訓(xùn)練基本持平的基礎(chǔ)上,顯著提升了本地模型訓(xùn)練的收斂速度,減少了服務(wù)器-客戶端通信量,并且在不同客戶端采樣率下表現(xiàn)較為穩(wěn)定,具有良好的拓展性。
目前,船舶軌跡預(yù)測(cè)模型的研究已經(jīng)積累了一定的成果,基本思路是利用船舶歷史軌跡信息進(jìn)行未來(lái)軌跡預(yù)測(cè),主要的研究方法包括基于統(tǒng)計(jì)和船舶動(dòng)力學(xué)方程的方法、基于聚類算法的方法以及基于深度學(xué)習(xí)算法的方法,其中,基于深度學(xué)習(xí)算法的方法是當(dāng)前船舶軌跡數(shù)據(jù)挖掘的主流方法。
1)基于統(tǒng)計(jì)和船舶動(dòng)力學(xué)方程的船舶軌跡預(yù)測(cè)。文獻(xiàn)[8]利用自適應(yīng)核密度估計(jì)框架,從歷史AIS 數(shù)據(jù)中提取運(yùn)動(dòng)模式,并構(gòu)建相應(yīng)的運(yùn)動(dòng)異常檢測(cè)器。文獻(xiàn)[9]提出一種擴(kuò)展卡爾曼濾波器(EKF),用于艦船狀態(tài)估計(jì)和軌跡預(yù)測(cè),并將智能特征集成到VTMIS 中。然而,這些方法均需要提前對(duì)船舶運(yùn)動(dòng)狀態(tài)方程進(jìn)行建模,由于海況的動(dòng)態(tài)多樣性,實(shí)時(shí)建模難度很大,因此不具有良好的拓展性和可用性。
2)基于聚類算法的船舶軌跡預(yù)測(cè)。相比傳統(tǒng)基于統(tǒng)計(jì)和船舶動(dòng)力學(xué)方程的方法,聚類方法的泛化性更強(qiáng),能夠在不需要先驗(yàn)知識(shí)的情況下根據(jù)不同的數(shù)據(jù)狀況無(wú)監(jiān)督訓(xùn)練得到軌跡預(yù)測(cè)結(jié)果。文獻(xiàn)[10]綜合考慮船舶軌跡的地理空間信息和背景特征,通過(guò)改進(jìn)基于密度的聚類算法,實(shí)現(xiàn)對(duì)不同航線的軌跡自動(dòng)分類,無(wú)需先驗(yàn)知識(shí)。文獻(xiàn)[11]提出一種基于Hausdorff 距離和分層密度的帶噪聲空間聚類(HDBSCAN)的船舶AIS 軌跡聚類方法,利用船舶運(yùn)動(dòng)的形狀特征進(jìn)行聚類,具有良好的擴(kuò)展性。文獻(xiàn)[12]采用基于密度的噪聲空間聚類算法(DBSCAN)對(duì)艦船軌跡模式進(jìn)行分析,以制定新的船舶港口機(jī)動(dòng)指南。需要注意的是:聚類方法僅將某船舶航行區(qū)域內(nèi)的軌跡進(jìn)行劃分聚類,這與傳統(tǒng)的軌跡預(yù)測(cè)不同,效果受限于現(xiàn)有區(qū)域內(nèi)記錄的軌跡,而且計(jì)算速度和最終預(yù)測(cè)效果仍需要進(jìn)一步改善。
3)基于深度學(xué)習(xí)算法的船舶軌跡預(yù)測(cè)。相比上述兩種方法,深度學(xué)習(xí)預(yù)測(cè)方法在計(jì)算開(kāi)銷和泛化效果上更為優(yōu)秀,目前已被廣泛應(yīng)用于船舶軌跡預(yù)測(cè)問(wèn)題。文獻(xiàn)[13]采用長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)進(jìn)行軌跡實(shí)時(shí)預(yù)測(cè),并運(yùn)用遺傳算法(GA)對(duì)超參數(shù)進(jìn)行優(yōu)化,提高預(yù)測(cè)精度和速度。文獻(xiàn)[14]通過(guò)采用基于DBSCAN 算法推導(dǎo)的主軌跡,將門控循環(huán)單元(GRU)網(wǎng)絡(luò)[15]應(yīng)用于船舶軌跡實(shí)時(shí)預(yù)測(cè)并進(jìn)行訓(xùn)練,在預(yù)測(cè)精度與LSTM 相近的情況下,該方法仍能提高計(jì)算效率。文獻(xiàn)[16]采用CNN 的特征提取和分類能力,利用一系列功能層(如卷積層、最大池化層和全連接層)構(gòu)建CNN-SMMC 架構(gòu),用于船舶運(yùn)動(dòng)分類,并取得了優(yōu)秀的AIS 數(shù)據(jù)分類性能。需要注意的是:深度學(xué)習(xí)預(yù)測(cè)方法需要大量的訓(xùn)練數(shù)據(jù)和計(jì)算資源,因此在實(shí)際應(yīng)用中需要考慮相應(yīng)的資源成本。
目前,常見(jiàn)的深度學(xué)習(xí)預(yù)測(cè)模型主要由CNN、RNN 及多種基于這兩類神經(jīng)網(wǎng)絡(luò)的變體組成。CNN 在提取時(shí)間序列數(shù)據(jù)的時(shí)序特征方面有不錯(cuò)的效果,且模型簡(jiǎn)單、易于訓(xùn)練。RNN 的兩種變體LSTM 和GRU 也被廣泛用于時(shí)間序列預(yù)測(cè),其中,GRU 與LSTM 預(yù)測(cè)效果相近,但LSTM 存在明顯的超參難以獲得最優(yōu)解的問(wèn)題,導(dǎo)致訓(xùn)練過(guò)程復(fù)雜,且計(jì)算效率低于GRU。在實(shí)際船舶聯(lián)邦環(huán)境中,由于船舶邊緣計(jì)算能力有限,須考慮模型復(fù)雜度和計(jì)算效率方面的限制,因此本文提出一種基于CNN-GRU的船舶軌跡預(yù)測(cè)模型,利用CNN 挖掘AIS 數(shù)據(jù)的時(shí)序特征以及不同維度數(shù)據(jù)之間的關(guān)系,再通過(guò)GRU完成軌跡預(yù)測(cè)任務(wù)。CNN-GRU 模型相比單類型網(wǎng)絡(luò)模型具有更高的精度,在控制計(jì)算效率和訓(xùn)練效率方面更具優(yōu)勢(shì),同時(shí)提高了模型在弱邊緣計(jì)算設(shè)備上的可訓(xùn)練性。
聯(lián)邦學(xué)習(xí)是一種將數(shù)據(jù)存儲(chǔ)在客戶端設(shè)備上且在不上傳源數(shù)據(jù)的前提下通過(guò)多個(gè)客戶端聯(lián)合訓(xùn)練全局模型的方法。在訓(xùn)練期間,客戶端需要定期與中央服務(wù)器通信,交換本地模型和全局模型。由于不同客戶端本地?cái)?shù)據(jù)集的數(shù)據(jù)異構(gòu)性,聯(lián)邦學(xué)習(xí)客戶端在模型訓(xùn)練中會(huì)產(chǎn)生不同程度的概念漂移[17],即預(yù)測(cè)軌跡的統(tǒng)計(jì)特性隨時(shí)間發(fā)生變化的現(xiàn)象,從而降低了全局模型的收斂速度和精度。針對(duì)海上環(huán)境及船舶航行的多樣性和復(fù)雜性,研究基于數(shù)據(jù)異構(gòu)性的聯(lián)邦學(xué)習(xí)并對(duì)相關(guān)工作進(jìn)行分析。
文獻(xiàn)[1]提出的FedAvg 算法是聯(lián)邦學(xué)習(xí)的經(jīng)典算法,它是一種基于平均模型更新的隨機(jī)梯度下降方法。然而,由于FedAvg 算法沒(méi)有針對(duì)數(shù)據(jù)異構(gòu)性問(wèn)題進(jìn)行優(yōu)化,導(dǎo)致在Non-IID 數(shù)據(jù)下實(shí)驗(yàn)效果不佳,因此需要在算法設(shè)計(jì)中考慮數(shù)據(jù)異構(gòu)性,以提高聯(lián)邦學(xué)習(xí)性能和效果。
針對(duì)數(shù)據(jù)異構(gòu)性問(wèn)題,學(xué)者們開(kāi)展了大量研究工作。文獻(xiàn)[3]提出FedProx 算法,該算法在FedAvg的基礎(chǔ)上引入近端項(xiàng),限制了本地模型訓(xùn)練時(shí)的偏移,同時(shí)引入不精確解,緩解了某些設(shè)備的計(jì)算壓力。文獻(xiàn)[4]提出的SCAFFOLD 算法使用控制變量來(lái)糾正客戶端局部更新產(chǎn)生的偏移,從而提高模型精度,但也會(huì)增加通信代價(jià)和訓(xùn)練時(shí)間。文獻(xiàn)[18]提出使用知識(shí)蒸餾法處理數(shù)據(jù)Non-IID 問(wèn)題,服務(wù)器學(xué)習(xí)一個(gè)輕量級(jí)生成器以data-free 方式集成用戶信息,指導(dǎo)用戶使用學(xué)習(xí)到的知識(shí)作為“歸納偏置”來(lái)調(diào)節(jié)局部訓(xùn)練。文獻(xiàn)[19]提出一種新的聯(lián)邦學(xué)習(xí)個(gè)性化方法:聚類(多任務(wù))聯(lián)邦學(xué)習(xí),將參數(shù)相似的節(jié)點(diǎn)劃分為同一個(gè)節(jié)點(diǎn)簇,共享參數(shù)的變化量,以解決Non-IID 數(shù)據(jù)導(dǎo)致的局部最優(yōu)問(wèn)題。文獻(xiàn)[20]針對(duì)非獨(dú)立同分布數(shù)據(jù)提出一種聯(lián)邦學(xué)習(xí)架構(gòu),將Non-IID 訓(xùn)練數(shù)據(jù)轉(zhuǎn)換成多個(gè)獨(dú)立同分布的數(shù)據(jù)子集,并計(jì)算從各類別數(shù)據(jù)中提取的特征對(duì)全局模型更新的權(quán)重,從而緩解訓(xùn)練數(shù)據(jù)不均衡的負(fù)面影響。文獻(xiàn)[21]提出基于本地?cái)?shù)據(jù)特征的公平性聯(lián)邦學(xué)習(xí)模型,以解決訓(xùn)練數(shù)據(jù)分布不均衡情況下產(chǎn)生的聚合模型對(duì)各個(gè)客戶端模型不公平的問(wèn)題。文獻(xiàn)[22]通過(guò)將全局模型與局部模型的排列交織在一起,減小Non-IID 對(duì)本地模型概念漂移的影響。文獻(xiàn)[23]提出一種簡(jiǎn)單的算法(FedAlign),通過(guò)標(biāo)準(zhǔn)正則項(xiàng)方法有效克服數(shù)據(jù)異構(gòu)性和以往方法的缺陷。文獻(xiàn)[24]提出方差約簡(jiǎn)自私學(xué)習(xí)(VaRSeL),引導(dǎo)模型向內(nèi)部客戶端所青睞的方向更新,以克服傳統(tǒng)聯(lián)邦學(xué)習(xí)中某些客戶端表現(xiàn)較差的問(wèn)題。文獻(xiàn)[25]提出一種平衡信息流的方法,通過(guò)平衡從初始模型和訓(xùn)練數(shù)據(jù)集到局部適應(yīng)的信息流,在本地?cái)?shù)據(jù)集異構(gòu)的情況下,穩(wěn)定訓(xùn)練高質(zhì)量的個(gè)性化全局模型。文獻(xiàn)[26]提出一種基于本地模型質(zhì)量的客戶端選擇方法(ChFL),差異選擇客戶端進(jìn)行本地訓(xùn)練并提高收斂速度。
上述研究從不同角度分析和改善數(shù)據(jù)異構(gòu)性對(duì)聯(lián)邦學(xué)習(xí)訓(xùn)練模型精度和效率的影響,但多數(shù)用于穩(wěn)定全局模型的優(yōu)化方法會(huì)增加整體負(fù)擔(dān)。目前,多數(shù)聯(lián)邦學(xué)習(xí)的研究均集中在圖像分類、語(yǔ)義分析等領(lǐng)域,而在船舶軌跡預(yù)測(cè)背景下的聯(lián)邦學(xué)習(xí)不僅要關(guān)注數(shù)據(jù)異構(gòu)性問(wèn)題,而且要權(quán)衡通信代價(jià)和計(jì)算效率。因此,在研究軌跡數(shù)據(jù)異構(gòu)性的前提下,本文提出一種針對(duì)聯(lián)邦學(xué)習(xí)框架的改進(jìn)算法,在控制本地訓(xùn)練量的同時(shí)保持原有本地模型,添加近端項(xiàng)來(lái)控制極端情況下的本地自私化行為,實(shí)現(xiàn)本地和全局模型的同步個(gè)性化優(yōu)化,有效解決了數(shù)據(jù)異構(gòu)性問(wèn)題,提高了模型訓(xùn)練精度和效率。
船舶軌跡預(yù)測(cè)是指通過(guò)對(duì)歷史的船舶運(yùn)行數(shù)據(jù)進(jìn)行分析來(lái)預(yù)測(cè)船舶未來(lái)的運(yùn)動(dòng)軌跡。船舶軌跡預(yù)測(cè)在海上交通管制、安全管理、環(huán)??刂啤①Y源調(diào)配等領(lǐng)域具有重要的應(yīng)用價(jià)值。通過(guò)船舶軌跡預(yù)測(cè)可以有效提高船舶交通的安全性,避免事故發(fā)生,同時(shí)通過(guò)對(duì)船舶的運(yùn)動(dòng)軌跡進(jìn)行預(yù)測(cè),可以優(yōu)化海上資源調(diào)配,提高海運(yùn)的效率和運(yùn)營(yíng)成本的可控性,減少資源浪費(fèi)和環(huán)境污染。另外,船舶軌跡預(yù)測(cè)還可以為海上交通的規(guī)劃和管制提供參考和決策支持。船舶軌跡預(yù)測(cè)是一項(xiàng)具有廣泛應(yīng)用前景和重要意義的技術(shù),可以有效提高海上航運(yùn)的安全性和效率。由于海上環(huán)境的多變性,船舶未來(lái)軌跡對(duì)海上交通統(tǒng)籌調(diào)控至關(guān)重要,由AIS 數(shù)據(jù)挖掘未來(lái)航線信息成為重要手段。同時(shí),考慮到海上環(huán)境多變惡劣且通信條件差,通過(guò)傳統(tǒng)集中式軌跡預(yù)測(cè)模型訓(xùn)練并不可行。因此,采用聯(lián)邦學(xué)習(xí)與軌跡預(yù)測(cè)模型相結(jié)合處理上述問(wèn)題。
船舶軌跡是船舶在港口間航行的路線,在實(shí)際場(chǎng)景中由于AIS 信息發(fā)送不連續(xù),實(shí)際船舶軌跡信息由離散的軌跡點(diǎn)組成,軌跡T的定義如式(1)所示:
軌跡點(diǎn)信息包含船舶實(shí)時(shí)位置與航行狀況,如對(duì)地航速和對(duì)地航向,軌跡點(diǎn)p的定義如式(2)所示:
其中:li是軌跡點(diǎn)的經(jīng)度;bi是軌跡點(diǎn)的緯度;si和ci是軌跡點(diǎn)船舶的對(duì)地航速和對(duì)地航向;ti表示軌跡點(diǎn)的時(shí)間信息。
船舶軌跡預(yù)測(cè)問(wèn)題是利用歷史軌跡數(shù)據(jù)的特征預(yù)測(cè)未來(lái)時(shí)刻的軌跡信息,通過(guò)船舶軌跡可以定義軌跡預(yù)測(cè)模型,如式(3)所示:
其中:Pl,x表示前l(fā)個(gè)時(shí)刻的軌跡點(diǎn)作為輸入預(yù)測(cè)的第x個(gè)軌跡點(diǎn);f表示軌跡預(yù)測(cè)模型。
在船舶軌跡預(yù)測(cè)問(wèn)題中,將軌跡特征輸入xi=(pi,pi+1,…,pi+l-1)和軌跡預(yù)測(cè)輸出yi=pi+l分別構(gòu)成特征空 間X=x1,x2,…,xn-l和特征 預(yù)測(cè)空 間Y=y1,y2,…,yn-l,其中,l表示預(yù)測(cè)特征長(zhǎng)度,n表示原始軌跡點(diǎn)樣本數(shù)。使用函數(shù)f作為特征空間到特征預(yù)測(cè)空間的映射函數(shù)(預(yù)測(cè)函數(shù))。損失函數(shù)l(w)為時(shí)序預(yù)測(cè)中常用的均方誤差損失函數(shù),如式(4)所示:
其中:w是神經(jīng)網(wǎng)絡(luò)參數(shù)。將集中式學(xué)習(xí)的學(xué)習(xí)任務(wù)表示為式(5),并使用隨機(jī)梯度下降法迭代求解神經(jīng)網(wǎng)絡(luò)參數(shù)w。
假設(shè)wt,(c)表示集中式學(xué)習(xí)設(shè)置下服務(wù)器第t輪更新的神經(jīng)網(wǎng)絡(luò)參數(shù),η表示學(xué)習(xí)率,?w表示在第t輪更新的模型參數(shù)。因此,集中式學(xué)習(xí)設(shè)置下的SGD 梯度更新如式(6)所示:
假設(shè)聯(lián)邦學(xué)習(xí)系統(tǒng)中共有K個(gè)客戶端,每個(gè)客戶端在本地訓(xùn)練過(guò)程中單獨(dú)進(jìn)行SGD 梯度更新。nk表示客戶端的本地訓(xùn)練數(shù)據(jù)集大小,wt,(k)表示客戶端在第t輪SGD 梯度更新后的權(quán)重,如式(7)所示:
規(guī)定每經(jīng)過(guò)E次全局SGD 迭代后進(jìn)行一次同步處理,wmE,(f)表示第m次聯(lián)邦聚合之后的全局模型,則全局模型wmE,(f)的聚合子式如式(8)所示:
其中:wmE,(k)表示客戶端經(jīng)歷mE次迭代后的本地模型參數(shù);表示客戶端的模型聚合權(quán)重。在聚合完成后,服務(wù)器向所有客戶端發(fā)送更新過(guò)的全局模型參數(shù)wmE,(f),客戶端使用新的全局模型參數(shù)替換本地模型參數(shù)進(jìn)行接下來(lái)的迭代過(guò)程。
首先,采用CNN-GRU 模型處理船舶軌跡預(yù)測(cè)問(wèn)題,其中CNN、GRU 網(wǎng)絡(luò)用于軌跡特征提取和長(zhǎng)短時(shí)預(yù)測(cè),在高精度的前提下保證較高的計(jì)算效率,適合船舶邊緣計(jì)算性能有限背景下的計(jì)算任務(wù)。然后,為了管理船舶AIS 數(shù)據(jù)的處理和訓(xùn)練,采用Fedves 聯(lián)邦學(xué)習(xí)框架用于統(tǒng)一客戶端訓(xùn)練數(shù)據(jù)集規(guī)模,減少數(shù)據(jù)量不均衡特性,在Non-IID 數(shù)據(jù)特性下實(shí)現(xiàn)穩(wěn)定全局的聚合效果。最后,在CNN-GRU 模型和Fedves 聯(lián)邦學(xué)習(xí)框架的基礎(chǔ)上提出E-FVTP 算法,該算法引入正則項(xiàng)對(duì)過(guò)大的客戶端更新進(jìn)行適當(dāng)校正限制,從而降低局部概念漂移對(duì)全局精度的影響,顯著提高船舶軌跡預(yù)測(cè)的準(zhǔn)確性和效率。
船舶航行軌跡是典型的時(shí)間序列數(shù)據(jù),因此船舶軌跡預(yù)測(cè)也被定義為時(shí)間序列預(yù)測(cè)問(wèn)題。針對(duì)該問(wèn)題,提出基于CNN-GRU 軌跡預(yù)測(cè)模型,充分利用CNN 和GRU 的優(yōu)勢(shì)。CNN 是一種含有卷積過(guò)程和深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),具有局部連接、權(quán)重共享等特性,能夠有效提取數(shù)據(jù)特征和短時(shí)特征,卷積運(yùn)算過(guò)程可融合局部上下文信息,用于船舶時(shí)間序列的捕捉,顯著改善模型精度和收斂速度。GRU 是RNN 網(wǎng)絡(luò)的一種變體,具有處理較長(zhǎng)時(shí)間序列的問(wèn)題,并且能夠在一定程度上避免傳統(tǒng)RNN 產(chǎn)生的梯度消失和梯度爆炸問(wèn)題。與RNN 的另一種變體LSTM 相比,GRU 在精度上與LSTM 基本持平的前提下,單元結(jié)構(gòu)更加簡(jiǎn)單,訓(xùn)練效率更高。
CNN-GRU 船舶軌跡預(yù)測(cè)模型結(jié)構(gòu)如圖1 所示(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版,下同)。該模型結(jié)構(gòu)主要由卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)組成,包括雙層一維CNN-ReLU、一個(gè)池化層、一個(gè)卷積特征處理結(jié)構(gòu)(全連接層-ReLU-全連接層)、一個(gè)雙層循環(huán)GRU 結(jié)構(gòu)和一個(gè)單獨(dú)的全連接層,其中:雙層一維CNN-ReLU 用于初步提取高維數(shù)據(jù)特征、短時(shí)時(shí)序特征;池化層用于保存選擇卷積層的特征;卷積特征處理結(jié)構(gòu)用于將特征提取為GRU 輸入;雙層循環(huán)GRU 結(jié)構(gòu)負(fù)責(zé)對(duì)子序列信息進(jìn)行長(zhǎng)短時(shí)特征處理預(yù)測(cè);末尾的全連接層負(fù)責(zé)結(jié)果輸出。
圖1 CNN-GRU 船舶軌跡預(yù)測(cè)模型結(jié)構(gòu)Fig.1 Structure of CNN-GRU ship trajectory prediction model
Fedves 是一個(gè)針對(duì)船舶軌跡預(yù)測(cè)問(wèn)題提出的聯(lián)邦學(xué)習(xí)框架,允許不同參與方(搭載AIS 的船舶個(gè)體)在具有Non-IID 特征的AIS 軌跡數(shù)據(jù)集上進(jìn)行訓(xùn)練,訓(xùn)練數(shù)據(jù)集存儲(chǔ)在參與方的本地客戶端上,在聯(lián)邦學(xué)習(xí)過(guò)程中無(wú)需交換原始數(shù)據(jù),只需進(jìn)行中央云服務(wù)器與船舶終端之間的模型參數(shù)通信。
基于Fedves 的船舶軌跡預(yù)測(cè)整體方法如圖2 所示,該方法包括中央云服務(wù)器、邊緣計(jì)算設(shè)備、終端數(shù)據(jù)庫(kù)、終端AIS,其中:中央云服務(wù)器在系統(tǒng)中負(fù)責(zé)全局通信協(xié)調(diào),對(duì)各船舶終端模型更新?tīng)顟B(tài)監(jiān)聽(tīng),并獲取更新過(guò)的本地模型,在聚合后覆蓋更新終端模型;終端數(shù)據(jù)庫(kù)負(fù)責(zé)存儲(chǔ)本地AIS 數(shù)據(jù);終端AIS在系統(tǒng)中負(fù)責(zé)終端的AIS 數(shù)據(jù)收集工作,收集并整理數(shù)據(jù)后發(fā)送至終端數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ);邊緣計(jì)算設(shè)備(即船載微機(jī))具有一定的計(jì)算能力和通信能力,負(fù)責(zé)客戶端模型實(shí)際計(jì)算任務(wù)以及與中央云服務(wù)器的通信任務(wù)。
圖2 基于Fedves 的船舶軌跡預(yù)測(cè)框架結(jié)構(gòu)Fig.2 Structure of ship trajectory prediction framework based on Fedves
根據(jù)實(shí)際場(chǎng)景,以每艘船舶為單位作為聯(lián)邦學(xué)習(xí)客戶端,各終端AIS 獲取的AIS 數(shù)據(jù)集相互獨(dú)立,并且每個(gè)船舶終端實(shí)際航行產(chǎn)生的AIS 數(shù)據(jù)量不同,即各終端本地?cái)?shù)據(jù)具有強(qiáng)Non-IID 特性。由式(8)可知,客戶端參與訓(xùn)練的數(shù)據(jù)量相等時(shí),各客戶端pk相等,在聚合過(guò)程中全局模型對(duì)各個(gè)本地模型權(quán)重相等,聚合過(guò)程穩(wěn)定度較好。考慮到船舶航行背景下各客戶端的強(qiáng)獨(dú)立性,為了滿足高收斂速度與高模型精度的平衡需求,規(guī)定同時(shí)滿足以下條件才進(jìn)行本地模型訓(xùn)練:
1)終端數(shù)據(jù)庫(kù)中存在長(zhǎng)度為M的原始數(shù)據(jù);
2)邊緣計(jì)算設(shè)備已完成上一輪的本地模型訓(xùn)練;
3)本地模型已更新為中央云服務(wù)器下發(fā)的聚合過(guò)的全局模型。
在滿足上述條件的情況下,基于Fedves 的船舶軌跡預(yù)測(cè)流程具體如下:
1)由終端AIS 收集原始AIS 數(shù)據(jù)并存入終端數(shù)據(jù)庫(kù);
2)終端數(shù)據(jù)庫(kù)定時(shí)更新未訓(xùn)練的原始數(shù)據(jù)量,長(zhǎng)度達(dá)到M后通知邊緣計(jì)算設(shè)備取數(shù)據(jù);
3)邊緣計(jì)算設(shè)備滿足訓(xùn)練條件后取終端數(shù)據(jù)庫(kù)中的定長(zhǎng)原始數(shù)據(jù)進(jìn)行本地模型訓(xùn)練并上傳參數(shù)至中央云服務(wù)器;
4)中央云服務(wù)器定時(shí)對(duì)各個(gè)邊緣計(jì)算設(shè)備發(fā)回的本地模型參數(shù)進(jìn)行聚合并下放;
5)邊緣計(jì)算設(shè)備接收中央云服務(wù)器發(fā)回的參數(shù)并更新本地模型,重復(fù)步驟1)~步驟3)。
E-FVTP 算法基于CNN-GRU 模型與Fedves 聯(lián)邦學(xué)習(xí)框架構(gòu)建,主要包括客戶端數(shù)據(jù)集劃分、全局協(xié)調(diào)、客戶端本地訓(xùn)練和服務(wù)器聚合模型。
1)客戶端數(shù)據(jù)集劃分:每艘船舶獨(dú)占一個(gè)水上移動(dòng)通信業(yè)務(wù)標(biāo)識(shí)(MMSI)碼,用MMSI 碼對(duì)船舶進(jìn)行編號(hào),記di為船舶i的終端收集的航行數(shù)據(jù),參與訓(xùn)練的數(shù)據(jù)集合為D={d1,d2,…,dm},并且子集之間滿足條件?di,dj∈D,len(di)=len(dj)。每個(gè)客戶端數(shù)據(jù)相互獨(dú)立,且按照相同比例劃分訓(xùn)練集、評(píng)估集及測(cè)試集。
2)全局協(xié)調(diào):規(guī)定全局輪數(shù)為E,每輪全局服務(wù)器隨機(jī)選取c個(gè)(0 <c≤C,其中C為客戶端數(shù)量)客戶端參與訓(xùn)練,客戶端模型訓(xùn)練結(jié)束后向服務(wù)端發(fā)送客戶端號(hào)、數(shù)據(jù)量及更新過(guò)的本地模型參數(shù)。在本輪c個(gè)客戶端全部訓(xùn)練結(jié)束后,對(duì)接收的所有客戶端的本地模型參數(shù)進(jìn)行處理,并聚合新的全局模型進(jìn)行廣播下放。
3)客戶端本地訓(xùn)練:服務(wù)器選取指定客戶端后客戶端開(kāi)始訓(xùn)練本地CNN-GRU 模型,每次訓(xùn)練隨機(jī)從訓(xùn)練集中取,其中Di為客戶端i分到的數(shù)據(jù)集)batch 的數(shù)據(jù)作為本輪本地訓(xùn)練的訓(xùn)練輸入。本輪訓(xùn)練任務(wù)結(jié)束后,客戶端向服務(wù)器發(fā)送客戶端號(hào)、數(shù)據(jù)量及本地模型更新參數(shù)。
4)服務(wù)器聚合模型:服務(wù)器接收各客戶端的客戶端號(hào)、數(shù)據(jù)量及本地模型參數(shù)后,根據(jù)客戶端i訓(xùn)練數(shù)據(jù)量ni,賦予各個(gè)本地模型參數(shù)權(quán)重pc,聚合過(guò)程如式(9)所示:
其中:m表示全局輪數(shù)(即全局模型迭代數(shù));C為客戶端數(shù)量;wm,(c)和wm,(f)分別表示第m輪客戶端和服務(wù)器的 模型參 數(shù);系數(shù)用 于判斷客戶端是否本輪進(jìn)行過(guò)訓(xùn)練以及是否參與模型聚合。
E-FVTP 算法具體如下:
為了進(jìn)一步提升模型精度,采用正則化方法[3]對(duì)局部更新做出有效規(guī)范和限制,如式(10)所示:
客戶端不僅最小化本地模型Fk,而且使用局部求解器來(lái)近似最小化hk。
1)客戶端本地訓(xùn)練復(fù)雜度
每個(gè)客戶端在本地進(jìn)行SGD 更新,復(fù)雜度與每輪更新的樣本數(shù)量和模型參數(shù)的維度有關(guān)。假設(shè)每個(gè)客戶端進(jìn)行N輪迭代,客戶端本地訓(xùn)練數(shù)據(jù)集的大小為k,則客戶端本地迭代更新的時(shí)間復(fù)雜度為O(Nk)。
為防止本地模型參數(shù)更新過(guò)大,導(dǎo)致概念漂移,在客戶端本地模型迭代更新一次后,對(duì)所有參數(shù)梯度更新進(jìn)行一次正則化處理。假設(shè)模型參數(shù)規(guī)模為w,則本地正則化規(guī)范的時(shí)間復(fù)雜度為O(Nw)。
2)服務(wù)器聚合復(fù)雜度
對(duì)于本輪客戶端更新過(guò)的模型,服務(wù)器根據(jù)客戶端的模型聚合權(quán)重將各個(gè)更新過(guò)的模型參數(shù)進(jìn)行聚合,假設(shè)每輪平均有m個(gè)客戶端更新模型參數(shù),則時(shí)間復(fù)雜度為O(mw)。
3)通信代價(jià)
客戶端將本地模型參數(shù)、梯度更新等信息傳輸給中央服務(wù)器,每輪通信代價(jià)為O(mw)。
中央服務(wù)器完成聚合后,將聚合后的模型發(fā)送至所有客戶端進(jìn)行模型同步,假設(shè)共有c個(gè)客戶端,則通信代價(jià)為O(cw)。
如表1 所示,E-FVTP 與FedProx 復(fù)雜 度相同,且僅在客戶端訓(xùn)練復(fù)雜度上比FedAvg 高O(Nw),其他方面與FedAvg 相同,具有較低的復(fù)雜度。需要說(shuō)明的是:客戶端總數(shù)為c,每個(gè)客戶端進(jìn)行N輪迭代,客戶端本地訓(xùn)練數(shù)據(jù)集的大小為k,每輪平均有m個(gè)客戶端更新模型參數(shù)。
表1 聯(lián)邦學(xué)習(xí)算法復(fù)雜度對(duì)比 Table 1 Comparison of complexity for federated learning algorithms
4.1.1 實(shí)驗(yàn)環(huán)境
基于PyTorch 框架搭建深度學(xué)習(xí)模型。實(shí)驗(yàn)使用的系統(tǒng)版本為Ubuntu 18.04.4 LTS。其他實(shí)驗(yàn)環(huán)境詳細(xì)配置如表2 和表3 所示。
表2 軟件環(huán)境配置 Table 2 Software environment configuration
表3 硬件環(huán)境配置 Table 3 Hardware environment configuration
4.1.2 實(shí)驗(yàn)數(shù)據(jù)集
采用搜集的舟山海洋船舶航行AIS 數(shù)據(jù)集以及MarineCadastre 開(kāi)源數(shù)據(jù)集來(lái)驗(yàn)證E-FVTP 算法的可行性。數(shù)據(jù)集遵循AIS 規(guī)范,包含大量的航行軌跡信息,原始數(shù)據(jù)包括MMSI 碼、經(jīng)緯度、對(duì)地航向、對(duì)地航速、時(shí)間戳、航行狀態(tài)等維度的特征。舟山海洋船舶航行AIS 數(shù)據(jù)集包含522 000 條原始AIS 數(shù)據(jù),其中每個(gè)MMSI 碼對(duì)應(yīng)1 000 條AIS 數(shù)據(jù),且原始AIS 數(shù)據(jù)已經(jīng)過(guò)數(shù)據(jù)清洗符合時(shí)序數(shù)據(jù)規(guī)范特征。MarineCadastre數(shù)據(jù)集包含2021年1月1日的1 048 576條原始AIS 數(shù)據(jù),按照8∶1∶1 的比例劃分為訓(xùn)練集、測(cè)試集和評(píng)估集。
4.1.3 數(shù)據(jù)劃分與分片
假設(shè)舟山海洋船舶航行AIS 數(shù)據(jù)集D包含m個(gè)船舶終端的數(shù)據(jù),且每艘船舶獨(dú)占一個(gè)水上移動(dòng)通信業(yè)務(wù)標(biāo)識(shí)碼,將數(shù)據(jù)集按MMSI 碼劃分D={d1,d2,…,dm},確保子數(shù)據(jù)集的Non-IID 特性。另外,子集滿足?di,dj∈D,len(di)=len(dj),保證di作為分片單位的分片大小相等??刂泼總€(gè)客戶端分到相同數(shù)量的di,并按比例劃分訓(xùn)練集、評(píng)估集及測(cè)試集,仿真實(shí)際船舶航行中各MMSI 碼對(duì)應(yīng)船舶之間互相獨(dú)立的數(shù)據(jù)特性。
4.1.4 評(píng)估指標(biāo)
實(shí)驗(yàn)任務(wù)為時(shí)間序列預(yù)測(cè),對(duì)于時(shí)序預(yù)測(cè)任務(wù)可以通過(guò)計(jì)算誤差對(duì)模型的最終效果進(jìn)行度量。均方誤差(MSE)是衡量時(shí)序預(yù)測(cè)模型的常用指標(biāo),定義如式(11)所示:
其中:y為樣本對(duì)應(yīng)的待預(yù)測(cè)特征;y為樣本預(yù)測(cè)結(jié)果。
在聯(lián)邦框架下,評(píng)估指標(biāo)表示為各個(gè)客戶端均方誤差的平均值,定義如式(12)所示,MSE 值越大,表示實(shí)驗(yàn)誤差越大,預(yù)測(cè)效果越差。
在聯(lián)邦學(xué)習(xí)背景下的船舶軌跡預(yù)測(cè)具有數(shù)據(jù)Non-IID 特性,相比于集中式訓(xùn)練船舶軌跡預(yù)測(cè)模型,模型精度、收斂速度以及訓(xùn)練效率有較大的優(yōu)化空間。為了證明E-FVTP 算法的實(shí)際可行性,從模型精度、可拓展性和通信代價(jià)3 個(gè)角度對(duì)E-FVTP 進(jìn)行對(duì)比實(shí)驗(yàn)驗(yàn)證。本節(jié)共設(shè)置了3 個(gè)實(shí)驗(yàn):1)在集中式、FedAvg、FedProx 和SCAFFOLD 下訓(xùn)練CNN-GRU模型,與E-FVTP 進(jìn)行對(duì)比實(shí)驗(yàn),以驗(yàn)證使用E-FVTP在模型精度方面與集中式訓(xùn)練基本持平,并且模型精度與訓(xùn)練效果均優(yōu)于一般聯(lián)邦學(xué)習(xí)框架下的預(yù)測(cè)工作;2)通過(guò)改變每輪參與訓(xùn)練的客戶端數(shù)量,分析不同采樣率下的模型精度,以驗(yàn)證E-FVTP 面對(duì)不同采樣情況的可拓展性;3)比較相同數(shù)據(jù)集下集中式、FedAvg、FedProx、SCAFFOLD 及E-FVTP 下的訓(xùn)練通信代價(jià)。
4.2.1 模型精度對(duì)比
在相同實(shí)驗(yàn)環(huán)境下,在舟山海洋船舶航行AIS數(shù)據(jù)集上對(duì)集中式、FedAvg、FedProx 和SCAFFOLD下訓(xùn)練的CNN-GRU 和E-FVTP 算法進(jìn)行對(duì)比實(shí)驗(yàn),分別記錄訓(xùn)練過(guò)程中評(píng)估的模型損失值及訓(xùn)練時(shí)間,對(duì)兩者的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行橫向?qū)Ρ取T谠搶?shí)驗(yàn)中,客戶端的本地訓(xùn)練輪數(shù)設(shè)為1,每輪選取2 個(gè)客戶端參與全局模型的聚合,全局訓(xùn)練輪數(shù)設(shè)為100,集中式訓(xùn)練輪數(shù)也設(shè)為100,控制總輪數(shù)相同。E-FVTP的每個(gè)客戶端分到一艘船舶的連續(xù)1 000 條數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),總共設(shè)置10 個(gè)客戶端;集中式訓(xùn)練分到所有10 艘船舶的1 000×10 條數(shù)據(jù)作為數(shù)據(jù)集。在控制系統(tǒng)總輸入相同及訓(xùn)練輪數(shù)相同的前提下,比較不同實(shí)驗(yàn)的預(yù)測(cè)誤差和訓(xùn)練時(shí)間,其中聯(lián)邦學(xué)習(xí)框架下的誤差為全局誤差。
分析圖3、圖4 和表4(其中最優(yōu)指標(biāo)值用加粗字體標(biāo)示,下同)的實(shí)驗(yàn)結(jié)果可以得到:1)E-FVTP 每個(gè)客戶端數(shù)據(jù)均具有Non-IID 性質(zhì),并且數(shù)據(jù)特征量?jī)H為集中式訓(xùn)練的1/10,但精度和收斂速度均優(yōu)于集中式訓(xùn)練,其中,預(yù)測(cè)誤差降低40%左右,收斂速度提升了67%左右;2)E-FVTP 客戶端選取隨機(jī)且數(shù)據(jù)具有異構(gòu)性,期間損失值產(chǎn)生微小波動(dòng),但總體相對(duì)穩(wěn)定,未對(duì)全局損失值產(chǎn)生巨大影響;3)E-FVTP 每個(gè)客戶端的數(shù)據(jù)集僅有集中式訓(xùn)練的1/10,但訓(xùn)練速度得到明顯提升,說(shuō)明在有通信代價(jià)的前提下,E-FVTP 訓(xùn)練相比于集中式訓(xùn)練更為高效;4)SCAFFOLD 由于控制變量的影響,在預(yù)測(cè)誤差和收斂時(shí)間上表現(xiàn)非常不理想,均遠(yuǎn)低于集中式和其他聯(lián)邦算法;5)由于正則項(xiàng)的限制,E-FVTP 全局訓(xùn)練前100 輪的損失值僅略微高于FedAvg,但收斂預(yù)測(cè)誤差略優(yōu)于FedAvg 和FedProx,并且收斂速度分別提高了50.0%和24.2%,說(shuō)明E-FVTP 的正則項(xiàng)對(duì)指導(dǎo)模型找到最優(yōu)參數(shù)具有重要作用,相比其他聯(lián)邦算法更適合船舶軌跡預(yù)測(cè)任務(wù)。
表4 不同訓(xùn)練算法的預(yù)測(cè)誤差與收斂時(shí)間對(duì)比 Table 4 Comparison of prediction errors and convergence times of different training algorithms
圖3 訓(xùn)練過(guò)程損失值對(duì)比Fig.3 Comparison of loss values during the training process
圖4 訓(xùn)練時(shí)間對(duì)比Fig.4 Comparison of training times
4.2.2 采樣率對(duì)比
本節(jié)選擇采樣率作為指標(biāo)進(jìn)行單指標(biāo)實(shí)驗(yàn)。由于實(shí)際場(chǎng)景下面臨采樣率差異問(wèn)題,為驗(yàn)證E-FVTP在不同場(chǎng)景下具有可拓展性和良好的性能,改變每輪參與訓(xùn)練的客戶端數(shù)量以驗(yàn)證E-FVTP 對(duì)不同采樣率的強(qiáng)適應(yīng)性,E-FVTP 下的采樣率為每輪參與訓(xùn)練的客戶端數(shù)與客戶端總數(shù)之比。
如圖5 所示,對(duì)不同采樣率下E-FVTP 的訓(xùn)練情況分析可以得出:1)在各采樣率下,E-FVTP 均能在全局訓(xùn)練200 輪內(nèi)完成收斂,并且不同采樣率下的最終收斂預(yù)測(cè)誤差幾乎一致;2)當(dāng)采樣率較低時(shí),收斂速度會(huì)在一定程度上受到影響。綜上,E-FVTP 不依賴高采樣率進(jìn)行穩(wěn)定高效的訓(xùn)練過(guò)程,能夠在遠(yuǎn)低于全采樣的訓(xùn)練時(shí)間內(nèi)得到理想的CNN-GRU 預(yù)測(cè)模型。
圖5 采樣率對(duì)E-FVTP 訓(xùn)練的影響Fig.5 Impact of sampling rate on E-FVTP training
4.2.3 通信代價(jià)對(duì)比
模擬實(shí)際船舶預(yù)測(cè)環(huán)境下進(jìn)行集中式、FedAvg、FedProx、SCAFFOLD、E-FVTP 訓(xùn)練,計(jì)算云邊通信產(chǎn)生的通信代價(jià),對(duì)比驗(yàn)證E-FVTP 在實(shí)際海上弱通信條件下的低通信資源占用特點(diǎn)。本部分的通信代價(jià)以訓(xùn)練過(guò)程中需要通信的模型參數(shù)或數(shù)據(jù)大小表示,集中式、SCAFFOLD 和E-FVTP 訓(xùn)練的全局訓(xùn)練輪數(shù)均設(shè)置為200,其中SCAFFOLD 和E-FVTP 每輪參與訓(xùn)練的客戶端數(shù)量為2。
由表5 可以看出,E-FVTP 采取聯(lián)邦學(xué)習(xí)方法,相對(duì)于集中式訓(xùn)練節(jié)約了76.32%通信量,并且相較于SCAFFOLD 訓(xùn)練節(jié)約了4.78%通信量,與FedAvg和FedProx 的通信量持平,驗(yàn)證了E-FVTP 相較于傳統(tǒng)集中式訓(xùn)練在海洋交通管理上的可用性,相較于主流聯(lián)邦學(xué)習(xí)算法具有更低的通信代價(jià)。
表5 全局訓(xùn)練通信量分析 Table 5 Analysis of communication volume for global training 單位:Byte
針對(duì)海上通信資源緊缺、數(shù)據(jù)樣本量不足等造成船舶軌跡預(yù)測(cè)困難及事故頻發(fā)的問(wèn)題,提出一種新的船舶軌跡預(yù)測(cè)E-FVTP 算法。E-FVTP 算法使用聯(lián)邦學(xué)習(xí)技術(shù)解決船舶軌跡預(yù)測(cè)中的實(shí)際問(wèn)題,利用邊緣設(shè)備進(jìn)行本地小樣本訓(xùn)練,云端負(fù)責(zé)接收各客戶端定期發(fā)回的模型參數(shù),在聚合完成后發(fā)回各邊緣設(shè)備進(jìn)行本地預(yù)測(cè),減少傳輸壓力的同時(shí)實(shí)現(xiàn)了云邊協(xié)同。在舟山海洋船舶航行AIS 數(shù)據(jù)集和Marine Cadastre 開(kāi)源數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,相較于集中式訓(xùn)練,E-FVTP 算法在收斂速度、預(yù)測(cè)誤差、通信代價(jià)方面均有很好的性能提升,為船舶軌跡預(yù)測(cè)技術(shù)的應(yīng)用提供了一種可行的解決方案,并對(duì)聯(lián)邦學(xué)習(xí)方法在該領(lǐng)域中的進(jìn)一步研究提供了有價(jià)值的借鑒。后續(xù)將針對(duì)船舶預(yù)測(cè)及數(shù)據(jù)特征信息進(jìn)行更深入的分析,進(jìn)一步優(yōu)化E-FVTP 算法。