段 昶,陳 亮,耿俊香
(沈陽理工大學 自動化與電氣工程學院,沈陽 110159)
過去十幾年人工智能(Artificial Intelligence,AI)領(lǐng)域進步巨大,在人為監(jiān)督下,機器在視覺識別和語音識別方面一定程度上超過了人類的感知水平;在反饋獎勵的作用下,單個人工智能單位(即代理)在各種游戲中擊敗了人類,如雅達利電子游戲、圍棋游戲、紙牌游戲[1-3]等 。
真正的人工智能包括社會和集體智慧,為實現(xiàn)人工通用智能的宏偉目標奠定了重要基礎(chǔ)。通信是多智能體的一個基本方面,其使智能體能夠作為一個群體而不是個體的集合來行動,對于現(xiàn)實世界中執(zhí)行復雜任務(wù)至關(guān)重要;然而在現(xiàn)實世界中,每個參與者的能力和對世界的可見性有限,因此交流對于代理協(xié)作完成多智能體任務(wù)[4]很重要。每個智能體的模型通過強化學習來學習[5-8],但其通信內(nèi)容和格式是預先確定且不可學習;如在智能體足球游戲中,智能體被設(shè)計為在每個決策前都交流其位置和離球的距離。
本文提出一個模型,協(xié)作智能體在采取行動前學會彼此間的通信,各智能體間的通信內(nèi)容可以被學習,同時采用集群機制過濾掉與該智能體關(guān)聯(lián)性小的信息。該模型采取反事實的思想計算每個智能體選取的策略對整個智能體系統(tǒng)的貢獻。經(jīng)實驗驗證,集群通信的多智能體強化學習算法(Multi Agent Cluster Deep Deterministic Policy Gradient,MACDDPG)能表現(xiàn)出優(yōu)異的性能,尤其是在復雜場景中表現(xiàn)出優(yōu)于其他典型算法的穩(wěn)定性和收斂速度,顯示了其在大規(guī)模多智能體實際應(yīng)用中的潛在價值。
MACDDPG算法將集群機制引入深度確定性策略強化學習算法(Deep Deterministic Policy Gradient,DDPG)框架中,并支持智能體策略網(wǎng)絡(luò)自適應(yīng)共享參數(shù)。MACDDPG采用集中訓練、分散執(zhí)行的模式,其模型結(jié)構(gòu)如圖1所示。
圖1中,學習智能體的局部q值函數(shù)Qi,對其累加求和,得到整個網(wǎng)絡(luò)的聯(lián)合動作值函數(shù)Qtot,用其計算全局誤差損失進行集中訓練。在執(zhí)行過程中,只用到網(wǎng)絡(luò)中和環(huán)境交互的部分,每個智能體將根據(jù)其價值函數(shù)導出的本地策略來執(zhí)行,并允許同一個集群中的智能體通信。每個智能體的動作值函數(shù)Qi或策略依賴于其觀測值和集群內(nèi)交流的信息;每個集群負責執(zhí)行類似的自動識別的子任務(wù)。MACDDPG網(wǎng)絡(luò)框架分為下面幾個核心部分。
圖1 MACDDPG模型結(jié)構(gòu)
(1)智能體集群機制。該機制禁止關(guān)聯(lián)性小的智能體間進行無效的信息交流,避免信息泛濫導致智能體不能正確處理有用信息的現(xiàn)象發(fā)生。
(2)通信機制。該機制是區(qū)別集群和個體的關(guān)鍵。
(3)反事實機制。該機制避免當網(wǎng)絡(luò)訓練較好時某些智能體出現(xiàn)“懶惰”現(xiàn)象,即雖然整個智能體系統(tǒng)能高效完成任務(wù),但某些個別智能體卻表現(xiàn)得不太活躍。
為達到集群間的策略相異性及集群內(nèi)智能體策略相似性,形式上,每個智能體i都有一個局部效用函數(shù)(或單個策略選擇函數(shù)),其參數(shù)θi以其智能體群j為條件,即同一個集群中的智能體共享策略選擇網(wǎng)絡(luò)的參數(shù)θj。MACDDPG將智能體的策略選擇網(wǎng)絡(luò)限定在其局部觀測上,并使用可訓練神經(jīng)網(wǎng)絡(luò)f學習該網(wǎng)絡(luò)的參數(shù)。
(1)
式中:oi為每個智能體的觀測信息;g(oi,θi)為狀態(tài)編碼器;f(ei,θj)為策略選擇網(wǎng)絡(luò);ei為狀態(tài)編碼;θi為f的參數(shù);θj為策略選擇網(wǎng)絡(luò)的參數(shù);Qi為第i個智能體的動作值函數(shù)。
對于一個圍捕任務(wù),各部分的智能體只需要完成自己的子任務(wù)即可;如某些智能體只需在指定位置設(shè)置攔截,而某些智能體只需不斷配合追趕獵物;因此并不需要所有的智能體間都信息交互。MACDDPG算法的一個思想是將相關(guān)性不大的智能體分成不同的集群,集群內(nèi)部智能體間的網(wǎng)絡(luò)參數(shù)共享且允許通信。為實現(xiàn)這一機制,先將智能體的狀態(tài)進行編碼,然后動態(tài)計算智能體的狀態(tài)編碼間的歐氏距離,限定范圍內(nèi)的智能體被認為屬于同一個智能體群。同時為保證關(guān)注信息的靈活性,需動態(tài)改變集群的限定范圍,該限定范圍根據(jù)智能體與環(huán)境交互時觀測信息編碼變化差異性而變化。如在圍捕任務(wù)中,初始沒有觀測到獵物時,所有智能體應(yīng)處于探索狀態(tài);當觀測到獵物時,智能體應(yīng)擴大通信范圍來調(diào)度附近其他智能體圍捕目標。集群動態(tài)分群方式如圖2所示。
圖2 集群動態(tài)分群方式圖
圖2a 表示觀測狀態(tài)變化不大時智能體的通信范圍為X,各個智能體獨立工作;圖2b 表示智能體觀測狀態(tài)發(fā)生較大變化后將其通信范圍擴大至X+Y,圈內(nèi)智能體準備通信;圖2c 表示通信圈內(nèi)智能體開始交換信息,在通信范圍X外的智能體不進行通信。
為使限定范圍動態(tài)變化,計算限定范圍的公式為
(2)
式中:disi為每個智能體的限定范圍;‖e(i,t)‖、‖e(i,t-1)‖分別為t時刻及t-1時刻智能體i的狀態(tài)編碼的模;k為超參數(shù);Δx為通訊距離變化范圍。另一種可替代方案為
(3)
式(2)和式(3)區(qū)別在于狀態(tài)差異對于限定范圍的影響。式(2)表示狀態(tài)變化幅度對限定范圍影響不大;式(3)表示微小的狀態(tài)變化都會對限定范圍造成較大的影響。
為使同一個集群下的智能體間高效協(xié)作,在各個智能體策略網(wǎng)絡(luò)之間嵌入信息交流渠道。本文使用一條獨立的信道來傳遞交流信息,為區(qū)分每個智能體提供信息的重要程度,引入注意力機制。通信網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 通信網(wǎng)絡(luò)結(jié)構(gòu)
第j個智能體的通信信息計算公式為
(4)
(5)
對于通信信息的處理,還可以在網(wǎng)絡(luò)中進行網(wǎng)絡(luò)跳躍連接,其計算公式為
(6)
為保證訓練的穩(wěn)定性,本文采取深度強化學習的訓練策略。該深度強化學習算法將策略網(wǎng)絡(luò)和評價網(wǎng)絡(luò)又分成估計網(wǎng)絡(luò)和現(xiàn)實網(wǎng)絡(luò),即整個網(wǎng)絡(luò)框架中存在四個網(wǎng)絡(luò):策略估計網(wǎng)絡(luò)、策略現(xiàn)實網(wǎng)絡(luò)、評價估計網(wǎng)絡(luò)、評價現(xiàn)實網(wǎng)絡(luò)。其中估計網(wǎng)絡(luò)參數(shù)實時更新,現(xiàn)實網(wǎng)絡(luò)隔一段時間更新一次[15]。多智能體系統(tǒng)訓練完成后一般都會面臨一個難題:多智能體系統(tǒng)策略表現(xiàn)得不錯,而某些個別智能體學習到的策略卻很差。因為所有智能體的網(wǎng)絡(luò)根據(jù)環(huán)境反饋的全局回報進行更新,而每個智能體只能感知到全系統(tǒng)學習到了良好的策略,卻不知本身的策略對整個系統(tǒng)的策略有多大貢獻。此為多智能體系統(tǒng)普遍存在的信用分配問題。
為解決信用分配問題,本文采用優(yōu)勢函數(shù),讓智能體根據(jù)自身的策略對整個系統(tǒng)的貢獻來更新自身的策略網(wǎng)絡(luò)。第i個智能體的優(yōu)勢函數(shù)Ai(o,a)定義為
(7)
式中:Qiμ(o,a)為第i個智能體的動作值函數(shù);ai為第i個智能體選取的動作;a-i為除了第i個智能體外其他智能體選取的動作;b(o,a-i)為計算優(yōu)勢函數(shù)的基準值。b(o,a-i)的計算公式為
(8)
特別注意,在計算基準值時要保證其他智能體的動作不變,這樣計算出來的基準值才有意義。
策略網(wǎng)絡(luò)目標為最大化Qi值函數(shù),利用梯度下降法更新參數(shù),并且利用最大熵穩(wěn)定訓練。引入優(yōu)勢函數(shù)后,策略估計網(wǎng)絡(luò)參數(shù)迭代公式為
(9)
式中:μi為第i個智能體策略估計網(wǎng)絡(luò)參數(shù);π(oi,ai)為策略網(wǎng)絡(luò)的輸出。因為對當前智能體的所有動作進行采樣,所以可對當前策略進行泛化。引入最大熵的目的是提高模型的魯棒性,最大熵會使策略在輸出動作時分布更均勻,探索更多可能情況進行學習,因此學習的策略可應(yīng)對更多復雜情況,增強模型探索和提高抗干擾能力。同時也可以學習到更多接近最優(yōu)的行為,并且選擇這些近似最優(yōu)動作的概率相同,可提高學習速度。
評價網(wǎng)絡(luò)目標為最小化損失,其損失函數(shù)計算公式為
(10)
考慮到需要在既具有合作性(所有智能體都必須最大化共享回報)又具有競爭性(智能體擁有相互沖突的目標)的推演平臺中進行實驗,采用文獻[16]提出的多智能體粒子環(huán)境(Multiagent Particle Envs,MPE)。該推演平臺中有些場景要求智能體間進行顯式通信以獲得最佳獎勵,而在有些場景中智能體只能執(zhí)行物理操作。實驗用到的四種環(huán)境如圖4所示。
圖4 MPE四種不同環(huán)境
圖4a為合作交流情況。這個任務(wù)包括兩個合作的智能體,分別是一個說話者和一個傾聽者,兩者被放置在一個有三種不同地標的環(huán)境中。在每一環(huán)節(jié),傾聽者必須導航到一個指定的地標,并根據(jù)其與正確的地標間的距離獲得獎勵。雖然傾聽者可以觀察到地標的相對位置和不同地標的標號,但其不知道本身必須導航到哪個地標。相反,說話者的觀測狀態(tài)由正確的地標標號組成,可以在每一個時間步長產(chǎn)生一個被傾聽者觀測到的通信輸出。因此,說話者必須學會根據(jù)傾聽者的動作輸出地標的標號。
圖4b為捕食者-獵物。該場景是經(jīng)典的捕食者-獵物游戲的變體。在這個場景中,N個速度較慢的相互協(xié)作的智能體必須在一個隨機生成的環(huán)境中追逐速度較快的敵對智能體,同時有多個大型路標阻礙前進。每當相互協(xié)作的智能體接觸到敵對智能體時,相互協(xié)作的智能體將獲得獎勵,而敵對智能體將受到懲罰。智能體觀測狀態(tài)由智能體的相對位置和速度以及地標的位置組成。在該場景下,智能體的數(shù)量及障礙數(shù)量都可以進行設(shè)置。
圖4c為合作導航。在這種場景下,智能體必須通過實際行動進行合作,以達到一組指定標記位置。智能體狀態(tài)由其他智能體和地標的相對位置組成,并根據(jù)任意智能體與每個地標的接近程度獲得集體獎勵,即相互協(xié)作的智能體必須“覆蓋”所有地標。此外,這些智能體占據(jù)一定的物理空間,且在相互碰撞時受到懲罰。每個智能體需要推斷其必須覆蓋的地標,并在避開其他智能體的同時向指定地標移動。
圖4d為物理欺騙。在這種場景下,N個智能體需要相互協(xié)作,到達N個不同的地標中某一個正確地標,環(huán)境將根據(jù)任意智能體到目標地標的最小距離反饋獎勵(即只需一個智能體到達目標地標)。然而,有一個敵對智能體也希望到達目標地標,但對手不知道地圖中哪個地標是正確的。由于環(huán)境會根據(jù)敵對智能體與目標地標的距離來懲罰相互協(xié)作的智能體系統(tǒng),因此相互協(xié)作的智能體需要學會分散行動并覆蓋所有地標,從而欺騙敵對智能體。
在訓練過程中,學習率設(shè)置為0.001,其他參數(shù)設(shè)置默認值。將每個環(huán)節(jié)的最大步數(shù)設(shè)置成500步。集群機制中通信閾值基值設(shè)定為200,其動態(tài)變化選取第二種計算方式,目的是保證觀測狀態(tài)的微小變化即可影響通信范圍。在該模型條件下,為選取合適的超參數(shù)k,通過實驗觀察每回合的平均獎勵和收斂速度來確定最佳參數(shù)值。實驗結(jié)果如圖5所示。
圖5 k不同時智能體獲得的平均獎勵
當超參數(shù)k設(shè)置過大時,智能體的通信范圍會穩(wěn)定在基礎(chǔ)值附近,整個系統(tǒng)處于基本不通信狀態(tài),這種情況下算法不能收斂。當超參數(shù)k設(shè)置過小時,智能體觀測狀態(tài)微小變化就會導致整個系統(tǒng)中的智能體都在進行信息交流,此時整個網(wǎng)絡(luò)的復雜度較高,訓練難度增加,收斂速度變慢。當超參數(shù)k設(shè)置為10時,雖然智能體之間也在通信,但算法收斂后得分穩(wěn)定在0.75;而當超參數(shù)k設(shè)置為0.1時得分能達到0.9。因此,當超參數(shù)k設(shè)置為0.1時,此時智能體的通信范圍達到最佳狀態(tài),既能在發(fā)現(xiàn)目標時調(diào)度附近的智能體來一起圍捕目標,又能保證在探索地圖時不影響其他智能體。
為進一步評估MACDDPG算法在不同任務(wù)場景中的優(yōu)勢,本文在上述MPE環(huán)境的四種特定任務(wù)場景中進行MACDDPG算法與其他先進算法的對比實驗,訓練所有的模型直到收斂;然后通過計算1000次迭代的獎勵平均值來評估每種算法,同時對獎勵進行歸一化處理。為進行測試,實驗中生成一個包含2500個環(huán)境配置的固定集合(如地標和出生地),并在這個固定集合上進行評估。實驗結(jié)果如圖6所示。
在圖6a、圖6b合作任務(wù)場景中,能進行顯示性通信的MACDDPG算法和BicNet算法都能獲得非常高的分數(shù)且收斂速度很快;MADDPG算法因為沒有進行明確的通信,算法需要迭代較長時間才能找到其最優(yōu)策略,且收斂后選擇的策略依然不太穩(wěn)定。在圖6c物理欺騙場景中,雖然隨著任務(wù)難度的增加,MACDDPG算法收斂速度變慢,但還能較平穩(wěn)地找到最優(yōu)策略且得分穩(wěn)定。在圖6d捕食者-獵物場景中,雖然MACDDPG算法在迭代時波動有所增大,但其得分依然穩(wěn)定。MADDPG算法在四種任務(wù)場景下雖然得分能保持穩(wěn)定,但收斂時分數(shù)不高。BicNet算法在合作場景下表現(xiàn)優(yōu)異,但在混合場景下卻表現(xiàn)很差。對于用單智能體算法DDPG來訓練的多智能體系統(tǒng),很明顯在四種任務(wù)場景下都不能收斂。因為對于每個智能體來說環(huán)境都在動態(tài)變化,而各智能體卻不能感知到動態(tài)變化的環(huán)境。
圖6 MACDDPG和其他算法在四種環(huán)境下的性能對比
綜上所述,在合作場景下MACDDPG算法和BicNet算法表現(xiàn)接近,且學習到的策略明顯優(yōu)于其他算法。但隨著對抗場景的加入,BicNet算法性能波動相對較大;而MACDDPG算法在混合環(huán)境中依然能夠保持穩(wěn)定且得分相對較高。
為驗證MACDDPG算法每個模塊的作用,本文在捕食者-獵物混合場景下進行消融實驗;實驗中嚴格保證只會發(fā)生單一模塊的變化。實驗結(jié)果如圖7所示。
圖7 MACDDPG消融實驗對比圖
在去掉反事實模塊后,沒有反事實模塊的MACDDPG表現(xiàn)得最穩(wěn)定且收斂速度最快,但最終得分卻有所下降,該結(jié)果符合預期。反事實模塊會增加網(wǎng)絡(luò)的復雜度以致影響網(wǎng)絡(luò)的收斂速度及穩(wěn)定性,但該模塊能有效解決部分智能體信用分配問題。為驗證集群模塊的作用,訓練時系統(tǒng)中每個智能體都只用到自己的觀測值,如果只是單純的去掉集群模塊,那么整個智能體系統(tǒng)必然不能有效協(xié)作且收斂。因此本文除了去掉集群模塊還對所有智能體采用完全通信的模式,此時算法性能明顯下降。
提出一種深度多智能體RL算法MACDDPG,該算法允許在集中式訓練下對分散策略進行端到端學習,從而有效利用額外的狀態(tài)信息。MACDDPG采取集群機制動態(tài)地將智能體分成不同的群體,允許同一集群內(nèi)的智能體采取獨立信道傳輸信息,同時采取反事實的思想來解決多智能體系統(tǒng)下的信用分配問題。在多智能體粒子環(huán)境中四種場景下的實驗研究結(jié)果表明,與其他經(jīng)典多智能體算法相比,MACDDPG算法在各種場景下都能獲得較高獎勵且保證良好的收斂速度。該算法在復雜任務(wù)場景中不夠穩(wěn)定,在某些復雜環(huán)境中可能因為某些環(huán)境因素導致通信的智能體做出無意義的調(diào)度。