本發明實施例涉及強化學習領域,尤其涉及一種基于深度強化學習的層級式船舶軌跡預測方法、裝置及產品。
背景技術:
1、當前基于深度強化學習的船舶軌跡預測算法的研究,多數都是單模型強化結構,在海上任務發生動態調整時,出現災難性遺忘問題,當前海上任務經驗完全覆蓋關于之前任務的學習經驗,最終導致決策收斂到局部最優,而不是全局最優。
2、基于此,相關技術提出了多智能體強化學習的船舶軌跡預測算法以更適合多變的海上環境,但由于當前的多智能體策略主要針對單一任務訓練,學習得到的模型魯棒性較弱存在不同海上局勢下通用性不足的問題。
技術實現思路
1、基于上述技術問題,本發明實施例提供一種基于深度強化學習的層級式船舶軌跡預測方法、裝置及產品,旨在通過面向多任務的多層級多智能體強化學習方法,提升海上策略在不同海上局勢下的通用性。
2、本發明實施例第一方面提供了一種基于深度強化學習的層級式船舶軌跡預測方法,所述方法包括:
3、針對海上任務集合中的第i個海上任務,n個智能體以最大化總回報r為目標,基于所述第i個海上任務的樣本海上態勢信息,進行第一階段的深度強化學習,在所述第一階段的深度強化學習結束時,所述n個智能體各自學習到針對所述第i個海上任務的策略,每個智能體針對所述第i個海上任務的策略為:在狀態s下按照預測軌跡執行動作a,回報為r;其中,所述總回報r為所述n個智能體各自的回報r之和,所述n個智能體表征n個船舶;
4、將歷史已執行的各個海上任務的聯合狀態、聯合動作以及總回報輸入博弈任務網絡,得到下一海上任務的軌跡預測信息;所述聯合動作為所述n個智能體各自按照歷史軌跡執行的動作a之和,所述聯合狀態為所述n個智能體各自對應的狀態s之和;
5、將當前海上態勢信息輸入經過所述第一階段的深度強化學習的n個智能體,得到當前海上任務的聯合狀態和聯合動作,將所述當前海上任務的聯合狀態和聯合動作輸入基本評價網絡,得到當前海上任務的q值;
6、將所述下一海上任務的軌跡預測信息和所述當前海上任務的q值輸入元評價網絡,得到所述海上任務集合中的每個海上任務的新的聯合動作;所述新的聯合動作為所述n個智能體各自按照新的預測軌跡執行新的動作a之和;
7、基于所述當前海上任務的新的聯合動作,所述n個智能體各自按照所述新的預測軌跡執行各自的新的動作。
8、可選地,所述基于所述第i個海上任務的樣本海上態勢信息,進行第一階段的深度強化學習,包括:
9、基于oare模型,將所述第i個海上任務的樣本海上態勢信息表示為樣本oare向量;
10、將所述樣本oare向量輸入訓練完畢的編碼器,得到所述第i個海上任務的聯合狀態;
11、將所述第i個海上任務的聯合狀態分配給所述n個智能體,進行所述第一階段的深度強化學習。
12、可選地,所述編碼器通過以下步驟訓練得到:
13、基于所述oare模型,將多個時刻的海上態勢信息表示為多個oare向量;
14、將所述多個oare向量輸入待訓練的編碼器,將所述多個oare向量壓縮到指定長度的壓縮oare向量;
15、利用所述壓縮oare向量進行數據重構,得到重構oare向量;
16、根據所述重構oare向量和所述多個oare向量,對待訓練的編碼器的參數進行更新,得到所述訓練完畢的編碼器。
17、可選地,所述海上任務集合中的第i個海上任務為處于上層任務層中的任一上層任務;
18、所述任一上層任務由處于底層任務層中的多個底層任務組成;
19、所述底層任務層中的任一底層任務由處于基礎行動層中的多個基礎行動組成,所述基礎行動層包括以下至少一者:行動距離、行動方向;
20、所述基礎行動層中的任一基礎行動為任一智能體在狀態s下按照預測軌跡執行的動作a。
21、可選地,所述博弈任務網絡通過以下步驟訓練得到:
22、將多個歷史樣本海上任務的樣本聯合狀態、樣本聯合動作以及樣本總回報輸入待訓練的博弈任務網絡,得到下一樣本海上任務的軌跡預測信息;
23、基于所述下一樣本海上任務的軌跡預測信息,與,所述多個歷史樣本海上任務后的實際樣本海上任務的策略,對所述待訓練的博弈任務網絡的參數進行更新,得到所述博弈任務網絡。
24、可選地,所述基本評價網絡通過以下步驟訓練得到:
25、基于樣本海上任務的樣本聯合狀態和樣本聯合動作,得到所述樣本海上任務對應的實際q值;所述實際q值表征了針對所述樣本海上任務的決策水平;
26、將所述樣本海上任務的樣本聯合狀態和樣本聯合動作輸入待訓練的基本評價網絡,得到所述樣本海上任務對應的預測q值;
27、基于所述預測q值和所述實際q值,對所述待訓練的基本評價網絡的參數進行更新,得到所述基本評價網絡。
28、可選地,所述元評價網絡通過以下步驟訓練得到:
29、基于歷史樣本海上任務的樣本聯合狀態和樣本聯合動作,得到所述歷史樣本海上任務對應的樣本q值;
30、基于所述歷史樣本海上任務對應的樣本q值和所述歷史樣本海上任務后的下一歷史樣本海上任務的軌跡預測信息,得到所述歷史樣本海上任務對應的實際樣本q值;
31、將所述歷史樣本海上任務對應的樣本q值和所述歷史樣本海上任務后的下一歷史樣本海上任務的軌跡預測信息,輸入待訓練的元評價網絡,得到所述歷史樣本海上任務對應的預測樣本q值;
32、基于所述預測樣本q值和所述實際樣本q值,對所述待訓練的元評價網絡的參數進行更新,得到所述元評價網絡。
33、本發明實施例第二方面提供了一種基于深度強化學習的層級式船舶軌跡預測裝置,所述裝置包括:
34、深度強化學習模塊,用于針對海上任務集合中的第i個海上任務,n個智能體以最大化總回報r為目標,基于所述第i個海上任務的樣本海上態勢信息,進行第一階段的深度強化學習,在所述第一階段的深度強化學習結束時,所述n個智能體各自學習到針對所述第i個海上任務的策略,每個智能體針對所述第i個海上任務的策略為:在狀態s下按照預測軌跡執行動作a,回報為r;其中,所述總回報r為所述n個智能體各自的回報r之和,所述n個智能體表征n個船舶;
35、任務決策模塊,用于將歷史已執行的各個海上任務的聯合狀態、聯合動作以及總回報輸入博弈任務網絡,得到下一海上任務的軌跡預測信息;所述聯合動作為所述n個智能體各自執行的動作a之和,所述聯合狀態為所述n個智能體各自對應的狀態s之和;
36、基礎評價模塊,用于將當前海上態勢信息輸入經過所述第一階段的深度強化學習的n個智能體,得到當前海上任務的聯合狀態和聯合動作,將所述當前海上任務的聯合狀態和聯合動作輸入基本評價網絡,得到當前海上任務的q值;
37、元評價模塊,用于將所述下一海上任務的軌跡預測信息和所述當前海上任務的q值輸入元評價網絡,得到所述海上任務集合中的每個海上任務的新的聯合動作;所述新的聯合動作為所述n個智能體各自按照新的預測軌跡執行新的動作a之和;
38、海上動作執行模塊,用于基于所述當前海上任務的新的聯合動作,所述n個智能體各自按照所述新的預測軌跡執行各自的新的動作。
39、可選地,所述深度強化學習模塊,包括:
40、oare表示模塊,用于基于oare模型,將所述第i個海上任務的樣本海上態勢信息表示為樣本oare向量;
41、編碼模塊,用于將所述樣本oare向量輸入訓練完畢的編碼器,得到所述第i個海上任務的聯合狀態;
42、狀態分配模塊,用于將所述第i個海上任務的聯合狀態分配給所述n個智能體,進行所述第一階段的深度強化學習。
43、可選地,所述裝置還包括:編碼器訓練模塊,用于進行所述編碼器的訓練,所述編碼器訓練模塊,包括:
44、樣本oare表示模塊,用于基于所述oare模型,將多個時刻的海上態勢信息表示為多個oare向量;
45、壓縮模塊,用于將所述多個oare向量輸入待訓練的編碼器,將所述多個oare向量壓縮到指定長度的壓縮oare向量;
46、重構模塊,用于利用所述壓縮oare向量進行數據重構,得到重構oare向量;
47、編碼訓練模塊,用于根據所述重構oare向量和所述多個oare向量,對待訓練的編碼器的參數進行更新,得到所述訓練完畢的編碼器。
48、可選地,所述海上任務集合中的第i個海上任務為處于上層任務層中的任一上層任務;
49、所述任一上層任務由處于底層任務層中的多個底層任務組成;
50、所述底層任務層中的任一底層任務由處于基礎行動層中的多個基礎行動組成,所述基礎行動層包括以下至少一者:行動距離、行動方向;
51、所述基礎行動層中的任一基礎行動為任一智能體在狀態s下按照預測軌跡執行的動作a。
52、可選地,所述裝置還包括:博弈任務訓練模塊,用于進行所述博弈任務網絡的訓練,所述博弈任務訓練模塊,包括:
53、樣本任務決策模塊,用于將多個歷史樣本海上任務的樣本聯合狀態、樣本聯合動作以及樣本總回報輸入待訓練的博弈任務網絡,得到下一樣本海上任務的軌跡預測信息;
54、博弈任務網絡訓練模塊,用于基于所述下一樣本海上任務的軌跡預測信息,與,所述多個歷史樣本海上任務后的實際樣本海上任務的策略,對所述待訓練的博弈任務網絡的參數進行更新,得到所述博弈任務網絡。
55、可選地,所述裝置還包括:基礎評價訓練模塊,用于進行所述基礎評價網絡的訓練,所述基礎評價訓練模塊,包括:
56、第一確定模塊,用于基于樣本海上任務的樣本聯合狀態和樣本聯合動作,得到所述樣本海上任務對應的實際q值;所述實際q值表征了針對所述樣本海上任務的決策水平;
57、第一預測模塊,用于將所述樣本海上任務的樣本聯合狀態和樣本聯合動作輸入待訓練的基本評價網絡,得到所述樣本海上任務對應的預測q值;
58、基礎評價網絡訓練模塊,用于基于所述預測q值和所述實際q值,對所述待訓練的基本評價網絡的參數進行更新,得到所述基本評價網絡。
59、可選地,所述裝置還包括:元評價訓練模塊,用于進行所述元評價網絡的訓練,所述元評價訓練模塊,包括:
60、第二確定模塊,用于基于歷史樣本海上任務的樣本聯合狀態和樣本聯合動作,得到所述歷史樣本海上任務對應的樣本q值;
61、第三確定模塊,用于基于所述歷史樣本海上任務對應的樣本q值和所述歷史樣本海上任務后的下一歷史樣本海上任務的軌跡預測信息,得到所述歷史樣本海上任務對應的實際樣本q值;
62、第二預測模塊,用于將所述歷史樣本海上任務對應的樣本q值和所述歷史樣本海上任務后的下一歷史樣本海上任務的軌跡預測信息,輸入待訓練的元評價網絡,得到所述歷史樣本海上任務對應的預測樣本q值;
63、元評價網絡訓練模塊,用于基于所述預測樣本q值和所述實際樣本q值,對所述待訓練的元評價網絡的參數進行更新,得到所述元評價網絡。
64、本發明實施例第三方面提供了一種電子設備,所述電子設備包括:包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述計算機程序被該處理器執行時實現如本發明實施例第一方面的基于深度強化學習的層級式船舶軌跡預測方法。
65、本發明實施例第四方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現本發明實施例第一方面的基于深度強化學習的層級式船舶軌跡預測方法。
66、通過本發明實施例的基于深度強化學習的層級式船舶軌跡預測方法,首先,在第一階段以最大化每個海上任務的總回報為目標,進行多海上任務多智能體的深度強化學習,使得深度強化學習結束時,多個智能體能夠各自學習到針對每個海上任務的策略,其中,每個智能體針對每個海上任務的策略為:在狀態s下按照預測軌跡執行動作a,回報為r,n個智能體表征n個船舶;從而學習到每個海上任務對應的聯合狀態、聯合動作以及總回報;然后,將歷史已執行的、通過第一階段深度強化學習的多個智能體得到的各個海上任務的聯合狀態、聯合動作以及總回報輸入博弈任務網絡,得到下一海上任務的軌跡預測信息;以及,將當前海上態勢信息輸入經過第一階段的深度強化學習的多個智能體,得到當前海上任務的聯合狀態和聯合動作,將當前海上任務的聯合狀態和聯合動作輸入基本評價網絡,得到當前海上任務的q值;最后,將下一海上任務的軌跡預測信息和當前海上任務的q值輸入元評價網絡,得到海上任務集合中的每個海上任務的新的聯合動作,n個智能體基于當前海上任務的新的聯合動作,各自按照新的預測軌跡執行各自的新的動作。
67、在本實施中,通過多任務多智能體的深度強化學習,每個船舶表征的智能體有多類海上任務需要處理,從而學習到單個海上任務的策略,再基于歷史多個海上任務的策略和當前海上任務的策略q值,通過元評價網絡的多任務元學習整合學習出通用策略,學習得到每個海上任務的新的聯合動作,完成海上船舶軌跡的預測,每個智能體基于新的聯合動作,各自按照新的預測軌跡執行各自的新的動作,從而不僅提升了海上策略在不同海上局勢下的通用性,還提升了海上決策模型的魯棒性。