姜成怡
四川大學 電子信息學院 四川 成都 610065
近年來,一系列經典的深度強化學習算法[1]被研究者們相繼提出,并在許多控制任務中取得了重大成功。2017年,Open AI團隊提出了一種經典的多智能體深度強化學習算法,稱作MADDPG[2],MADDPG的重要貢獻是提出了一種中心化訓練-去中心化執行(Centralized Training And Decentralized Execution,CTDE)的訓練框架。采用CTDE訓練時,每個智能體在訓練過程中對群體中其他智能體始終保持著等同的關注。
事實上,在真實世界里,智能體并不需要一直關注其他所有智能體的信息,而應該動態地關注有利于完成群體任務的高相關智能體的信息。2019年,Iqba S等人提出了MAAC算法[3],他們用全連接神經網絡來編碼每個智能體的觀測和動作,然后通過自注意力機制[4]計算出其他智能體編碼信息的相關性大小,達到動態關注高相關智能體的效果。但是,MAAC算法忽視了每個智能體的觀測是多種信息的組合,包括自身的速度、位置、與其他智能體的相對位置等,直接用全連接神經網絡進行編碼同樣意味著等同地利用觀測中的每一種信息。但事實上,每個智能體的觀測中,每種信息對當前智能體的策略評估都具有不同的相關性。因此,MAAC算法存在誤判智能體編碼信息相關性大小的風險,這會導致群體學到一個次優的協同策略。
針對該問題,本文提出了一種具有兩級注意力機制的訓練架構。在MAAC訓練架構的基礎上,用一種參數量更少的自注意力模型來重構其編碼模塊,最后在合作導航場景中驗證了本文的算法具有顯著的性能優勢。
本文采用了2020年谷歌團隊提出的Synthesizer注意力模型[5]來重構MAAC中的編碼模塊,得到具有兩級注意力機制的訓練架構,如圖1所示。

圖1 基于兩級注意力機制的算法訓練架構
重構后的編碼模塊結構如圖1左邊紅色方框中所示。需要注意的是,由于每個智能體的觀測包含多種信息,在計算注意力權重時,如果精確到每一種信息的注意力權重,那么每一種信息都需要構造神經網絡,這無疑需要龐大的算力。因此,本文采用了一種靈活的處理方式:對io進行分片,計算每個片段的注意力權重。以計算編碼信息為例,將io分片后,對每個分片分別用一個神經網絡來提取value向量,圖中黃色箭頭v1,...,v4即表示提取每個分片value向量的神經網絡,同樣采用智能體間共享網絡參數的方式來促進群體在具有共同環境特征的情況下有效學習。在提取value向量的同時,將所有分片依次輸入兩個全連接神經網絡MLP,輸出每個分片的注意力權重值。得到每個分片的注意力權重值后,進行Softmax歸一化,接著與每個分片的value向量進行加權求和,最終得到io的編碼。上述編碼過程可以用以下公式表示:

其中,α表示通過g1,g2這兩個神經網絡計算得到的每個分片的相關性大小,v表示每個分片的value拼接起來的特征向量,h表示激活函數。
經上述過程處理,編碼信息中高相關特征得到了增強,低相關特征則被弱化,再將該編碼信息輸入自注意力模塊,將極大提高每個智能體信息相關性的計算準確性。
為了更好地分析注意力機制為算法性能提升帶來的具體表現,本文額外對MAAC算法進行了消融,探究移除其自注意力模塊后的無注意力機制方法的性能表現。本文采用3個隨機種子在Open AI團隊提供的基準合作導航場景中進行了3次實驗,對比3種算法的性能。
該場景中有3個智能體和3個地標,智能體和地標的初始位置隨機分布,智能體的任務目標是學會協同的占領所有地標,同時,智能體在運動過程中還要學會避免相互碰撞。
統計訓練過程中群體每回合完成任務的次數以及群體每回合的碰撞次數,結果如圖2所示。圖中陰影區域表示3次實驗的標準差,實曲線表示均值。
從圖2中可以看出,本文提出的兩級注意力機制訓練架構Double_Attention在各項指標上均表現最優,而無注意力機制方法No_Attention則表現最差。另外,值得注意的是,觀察8000至18000回合中,No_Attention方法的群體每回合碰撞次數反而更低,優于MAAC算法。這正好印證了本文的推斷:MAAC算法的編碼方式會導致對相關性的判斷出現偏差,限制群體發現更優的策略,而No_Attention則相當于等同地關注所有智能體的信息,反而有利于群體的行為協同,減少了碰撞,而Double_Attention則有效緩解了該問題。

圖2 群體每回合完成任務次數(左)、群體每回合碰撞次數(右)
本文針對在多智能體合作系統中,目前最先進的MAAC算法訓練架構的編碼方式可能導致智能體對其他智能體的關注產生偏差,進而限制群體發現更優策略的問題,提出了一種具有兩級注意力機制的算法訓練架構,并額外對MAAC算法進行消融參與到算法對比中。最后在合作導航場景中驗證了本文提出的算法具有顯著的優勢。