天天看點

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

相關文章:

常見多智能體強化學習仿真環境介紹【一】{推薦收藏,真的牛}

多智能體強化學習算法【一】【MAPPO、MADDPG、QMIX】

多智能體強化學習算法【二】【MADDPG、QMIX、MAPPO】

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】

1.QMIX算法簡述

QMIX是一個多智能體強化學習算法,具有如下特點:

1. 學習得到分布式政策。

2. 本質是一個值函數逼近算法。

3. 由于對一個聯合動作-狀态隻有一個總獎勵值,而不是每個智能體得到一個自己的獎勵值,是以隻能用于合作環境,而不能用于競争對抗環境。

4. QMIX算法采用集中式學習,分布式執行應用的架構。通過集中式的資訊學習,得到每個智能體的分布式政策。

5. 訓練時借用全局狀态資訊來提高算法效果。是後文提到的VDN方法的改進。

6. 接上一條,QMIX設計一個神經網絡來整合每個智能體的局部值函數而得到聯合動作值函數,VDN是直接求和。

7. 每個智能體的局部值函數隻需要自己的局部觀測,是以整個系統在執行時是一個分布式的,通過局部值函數,選出累積期望獎勵最大的動作執行。

8. 算法使聯合動作值函數與每個局部值函數的單調性相同,是以對局部值函數取最大動作也就是使聯合動作值函數最大。

9. 算法針對的模型是一個分布式多智能體部分可觀馬爾可夫決策過程(Dec-POMDP)。

1. 1 多智能體強化學習核心問題

在多智能體強化學習中一個關鍵的問題就是如何學習聯合動作值函數,因為該函數的參數會随着智能體數量的增多而成指數增長,如果動作值函數的輸入空間過大,則很難拟合出一個合适函數來表示真實的聯合動作值函數。另一個問題就是學得了聯合動作值函數後,如何通過聯合值函數提取出一個優秀的分布式的政策。這其實是單智能體強化學習拓展到MARL的核心問題。

 1)Dec-POMDP

Dec-POMDP是将POMDP拓展到多智能體系統。每個智能體的局部觀測資訊

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

,動作

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

,系統狀态為 

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

。其主要新定義了幾個概念,簡要介紹幾個主要的。每個智能體的動作-觀測曆史可表示為

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

 表示從初始狀态開始,該智能體的時序動作-觀測記錄,聯合動作-觀測曆史

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

表示從初始狀态開始,所有智能體的時序動作-觀測記錄。則每個智能體的分布式政策為 

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

,其值函數為

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

都是跟動作-觀測曆史

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

有關,而不是跟狀态有關了。

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

2) IQL

IQL(independent Q-learning)就是非常暴力的給每個智能體執行一個Q-learning算法,因為共享環境,并且環境随着每個智能體政策、狀态發生改變,對每個智能體來說,環境是動态不穩定的,是以這個算法也無法收斂,但是在部分應用中也具有較好的效果。

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

3) VDN

VDN(value decomposition networks)也是采用對每個智能體的值函數進行整合,得到一個聯合動作值函數。令

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

表示聯合動作-觀測曆史,其中

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

為動作-觀測曆史,  

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

表示聯合動作。

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

為聯合動作值函數,

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

為智能體i的局部動作值函數,局部值函數隻依賴于每個智能體的局部觀測。VDN采用的方法就是直接相加求和的方式

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

雖然

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

不是用來估計累積期望回報的,但是這裡依然叫它為值函數。分布式的政策可以通過對每個

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

取max得到。

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

 4) DRQN

DRQN是一個用來處理POMDP(部分可觀馬爾可夫決策過程)的一個算法,其采用LSTM替換DQN卷基層後的一個全連接配接層,來達到能夠記憶曆史狀态的作用,是以可以在部分可觀的情況下提高算法性能。具體講解可以看強化學習——DRQN分析詳解。由于QMIX解決的是多智能體的POMDP問題,是以每個智能體采用的是DRQN算法。

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

1.2 QMIX

上文“多智能體強化學習核心問題”提到的就是QMIX解決的最核心問題。其是在VDN上的一種拓展,由于VDN隻是将每個智能體的局部動作值函數求和相加得到聯合動作值函數,雖然滿足聯合值函數與局部值函數單調性相同的可以進行分布化政策的條件,但是其沒有在學習時利用狀态資訊以及沒有采用非線性方式對單智能體局部值函數進行整合,使得VDN算法還有很大的提升空間。

QMIX就是采用一個混合網絡對單智能體局部值函數進行合并,并在訓練學習過程中加入全局狀态資訊輔助,來提高算法性能。

為了能夠沿用VDN的優勢,利用集中式的學習,得到分布式的政策。主要是因為對聯合動作值函數取

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

等價于對每個局部動作值函數取

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

  ,其單調性相同,如下所示

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

是以分布式政策就是貪心的通過局部

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

擷取最優動作。QMIX将(1)轉化為一種單調性限制,如下所示

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

若滿足以上單調性,則(1)成立,為了實作上述限制,QMIX采用混合網絡(mixing network)來實作,其具體結構如下所示

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

圖(c)表示每個智能體采用一個DRQN來拟合自身的Q值函數的到  

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

,DRQN循環輸入目前的觀測

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

以及上一時刻的動作

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

來得到Q值。

圖(b)表示混合網絡的結構。其輸入為每個DRQN網絡的輸出。為了滿足上述的單調性限制,混合網絡的所有權值都是非負數,對偏移量不做限制,這樣就可以確定滿足單調性限制。

為了能夠更多的利用到系統的狀态資訊  

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

,采用一種超網絡(hypernetwork),将狀态

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

作為輸入,輸出為混合網絡的權值及偏移量。為了保證權值的非負性,采用一個線性網絡以及絕對值激活函數保證輸出不為負數。對偏移量采用同樣方式但沒有非負性的限制,混合網絡最後一層的偏移量通過兩層網絡以及ReLU激活函數得到非線性映射網絡。由于狀态資訊

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

是通過超網絡混合到

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

中的,而不是僅僅作為混合網絡的輸入項,這樣帶來的一個好處是,如果作為輸入項則

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

的系數均為正,這樣則無法充分利用狀态資訊來提高系統性能,相當于舍棄了一半的資訊量。

QMIX最終的代價函數為

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

更新用到了傳統的DQN的思想,其中b表示從經驗記憶中采樣的樣本數量

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

表示目标網絡。

由于滿足上文的單調性限制,對  

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

進行  

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

操作的計算量就不在是随智能體數量呈指數增長了,而是随智能體數量線性增長,極大的提高了算法效率。

1.3 demo

原文中給了一個小示例來說明QMIX與VND的效果差異,雖然QMIX也不能完全拟合出真實的聯合動作值函數,但是相較于VDN已經有了很大的提高。

如下圖為一個兩步合作矩陣博弈的價值矩陣

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

在第一階段,隻有智能體1的動作能決定第二階段的狀态。在第一階段,如果智能體1采用動作A 則跳轉到上圖state2A狀态,如果智能體1采用動作B則跳轉到上圖state2B狀态,第二階段的每個狀态的價值矩陣如上兩圖所示。

現在分别用VDN與QMIX學習上述矩陣博弈各個狀态的值函數矩陣,得到結果如下圖所示

多智能體強化學習算法【三】【QMIX、MADDPG、MAPPO】1.QMIX算法簡述

(a)為VDN拟合結果,(b)為QMIX拟合結果。可以從上圖,VDN的結果是智能體1 在第一階段采用動作A  ,顯然這不是最佳狀态,而QMIX是智能體1在第一階段采用動作B,得到了最大的累積期望獎勵。由上可得QMIX的逼近能力比VDN更強,QMIX算法的效果更好

繼續閱讀