Counterfactual multi-agent policy gradients.

這個是實驗室做項目的時候用到的一個算法,我沒仔細看原文,主要看了一下github上的code

一般智能體協作存在的問題:

1:joint action隨着智能體增加指數級增大

2:由於部分可觀測性,每個agent只能觀測到自己的信息,沒有信息共享(很多實驗跑的都是全局信息當做局部,也就不存在這個問題,還有一些直接輸入兩個agent的信息,理論上也不存在)

3:使用聯合動作空間獲得的reward,是兩個agent合作出來的reward,並不知道,每個agent各自應該獲得多少reward(這個很容易理解)

COMA的主要idea:

1:中心評測,輸入爲所有agent的信息,一般的評測器只輸入單個agent的局部信息

2:反事實推測,這個主要是爲了給每個agent賦予不同的reward,例如,當我們採取一個動作之後,我們會想,如果我們沒有采取這個動作,採取了其他動作之後,效果如何,本文采用一個網絡預測所有動作的結果

我主要根據上圖介紹一下,

第一個中心評測,這個比較好理解,主要想告訴你,你當前得到這個reward是不是你自己的操作的原因,還是有隊友的操作的原因,這樣能讓智能體知道是因爲什麼導致了好的結果。按照單個智能體的方式訓練,全局state加上單個智能體的回報進行訓練,這個critic之所以能這麼訓練,是因爲 決策的時候不會有Q或者V網絡參與。

第二個是策略網絡結構,輸入是每個agent的個人觀測信息,上一步採用的聯合動作,智能體a的index(a),輸出爲 n action的概率

第三個是給定其他agent的動作的情況下,輸出所有動作的 value值

計算adv的公式爲:(當前動作相比於採取其他動作的優勢)

採用adv*log p的方式進行擬合策略網絡

採用 Q   = R + 求和(動作概率*Q)擬合Q網絡

以上。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章