AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

機器之心發表於2020-11-03
近年來,隨著強化學習(reinforcement learning)在多個應用領域取得了令人矚目的成果,並且考慮到在現實場景中通常會同時存在多個決策個體(智慧體),部分研究者逐漸將眼光從單智慧體領域延伸到多智慧體。

本文將首先簡要地介紹多智慧體強化學習(multi-agent reinforcement learning, MARL)的相關理論基礎,包括問題的定義、問題的建模,以及涉及到的核心思想和概念等。然後,根據具體應用中智慧體之間的關係,將多智慧體問題分為完全合作式、完全競爭式、混合關係式三種型別,並簡要闡述解決各類多智慧體問題的經典演算法。最後,本文列舉深度強化學習在多智慧體研究工作中提出的一些方法(multi-agent deep reinforcement learning)。

1. 強化學習和多智慧體強化學習

我們知道,強化學習的核心思想是“試錯”(trial-and-error):智慧體透過與環境的互動,根據獲得的反饋資訊迭代地最佳化。在 RL 領域,待解決的問題通常被描述為馬爾科夫決策過程

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 1:強化學習的框架(同時也表示了馬爾科夫決策過程)。圖源:[1]

當同時存在多個智慧體與環境互動時,整個系統就變成一個多智慧體系統(multi-agent system)。每個智慧體仍然是遵循著強化學習的目標,也就是是最大化能夠獲得的累積回報,而此時環境全域性狀態的改變就和所有智慧體的聯合動作(joint action)相關了。因此在智慧體策略學習的過程中,需要考慮聯合動作的影響。

1.1 多智慧體問題的建模——博弈論基礎

馬爾科夫決策過程擴充到多智慧體系統,被定義為馬爾科夫博弈(又稱為隨機博弈,Markov/stochastic game)。當我們對博弈論有一定了解後,能夠藉助博弈論來對多智慧體強化學習問題進行建模,並更清晰地找到求解問題的方法。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 2:馬爾科夫博弈過程。圖源:[2]

在馬爾科夫博弈中,所有智慧體根據當前的環境狀態(或者是觀測值)來同時選擇並執行各自的動作,該各自動作帶來的聯合動作影響了環境狀態的轉移和更新,並決定了智慧體獲得的獎勵反饋。它可以透過元組 < S,A1,...,An,T,R1,...,Rn > 來表示,其中 S 表示狀態集合,Ai 和 Ri 分別表示智慧體 i 的動作集合和獎勵集合,T 表示環境狀態轉移機率,表示損失因子。此時,某個智慧體 i 獲得的累積獎勵的期望可以表示為:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

對於馬爾科夫博弈,納什均衡(Nash equilibrium)是一個很重要的概念,它是在多個智慧體中達成的一個不動點,對於其中任意一個智慧體來說,無法透過採取其他的策略來獲得更高的累積回報,在數學形式上可以表達為:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

在該式中,π^{i,}表示智慧體 i 的納什均衡策略。

值得注意的是,納什均衡不一定是全域性最優,但它是在機率上最容易產生的結果,是在學習時較容易收斂到的狀態,特別是如果當前智慧體無法知道其他智慧體將會採取怎樣的策略。這裡舉個簡單的例子來幫助理解,即博弈論中經典的囚徒困境。根據兩個人不同的交代情況,判刑的時間是不一樣的:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

在這個表格中,當 A 和 B 都選擇撒謊時,能夠達到全域性最優的回報。但是每個個體都不知道另外的個體會做出怎樣的行為,對於 A 或者是來 B 說,如果改成選擇坦白,則能夠獲得更優的回報。實際上,對於 A 或者 B 來說,此時不管另外的個體選擇了哪種行為,坦白是它能夠獲得最優回報的選擇。所以,最終會收斂到 A 和 B 都選擇坦白,即囚徒困境中的納什均衡策略。

均衡求解方法是多智慧體強化學習的基本方法,它對於多智慧體學習的問題,結合了強化學習的經典方法(如 Q-learning)和博弈論中的均衡概念,透過 RL 的方法來求解該均衡目標,從而完成多智慧體的相關任務。這種思路在後面介紹具體的學習方法中會有所體現。

相比於單智慧體系統,強化學習應用在多智慧體系統中會遇到哪些問題和挑戰?

  • 環境的不穩定性:智慧體在做決策的同時,其他智慧體也在採取動作;環境狀態的變化與所有智慧體的聯合動作相關;

  • 智慧體獲取資訊的侷限性:不一定能夠獲得全域性的資訊,智慧體僅能獲取區域性的觀測資訊,但無法得知其他智慧體的觀測資訊、動作和獎勵等資訊;

  • 個體的目標一致性:各智慧體的目標可能是最優的全域性回報;也可能是各自區域性回報的最優;

  • 可擴充性:在大規模的多智慧體系統中,就會涉及到高維度的狀態空間和動作空間,對於模型表達能力和真實場景中的硬體算力有一定的要求。

1.2 多智慧體問題的求解——多智慧體強化學習演算法介紹

對於多智慧體強化學習問題,一種直接的解決思路:將單智慧體強化學習方法直接套用在多智慧體系統中,即每個智慧體把其他智慧體都當做環境中的因素,仍然按照單智慧體學習的方式、透過與環境的互動來更新策略;這是 independent Q-learning 方法的思想。這種學習方式固然簡單也很容易實現,但忽略了其他智慧體也具備決策的能力、所有個體的動作共同影響環境的狀態,使得它很難穩定地學習並達到良好的效果。

在一般情況下,智慧體之間可能存在的是競爭關係(非合作關係)、半競爭半合作關係(混合式)或者是完全合作關係,在這些關係模式下,個體需要考慮其他智慧體決策行為的影響也是不一樣的。參考綜述[3],接下來的部分將根據智慧體之間的關係,按照完全競爭式、半競爭半合作、完全合作式來闡述多智慧體問題的建模以及求解方法。

1.2.1 智慧體之間是完全競爭關係

minimax Q-learning 演算法用於兩個智慧體之間是完全競爭關係的零和隨機博弈。首先是最優值函式的定義:對於智慧體 i,它需要考慮在其他智慧體(i-)採取的動作(a-)令自己(i)回報最差(min)的情況下,能夠獲得的最大(max)期望回報。該回報可以表示為:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

在式子中,V 和 Q 省略了智慧體 i 的下標,是因為在零和博弈中設定了 Q1=-Q2,所以上式對於另一個智慧體來說是對稱等價的。這個值函式表明,當前智慧體在考慮了對手策略的情況下使用貪心選擇。這種方式使得智慧體容易收斂到納什均衡策略。

在學習過程中,基於強化學習中的 Q-learning 方法,minimax Q-learning 利用上述 minimax 思想定義的值函式、透過迭代更新 Q 值;動作的選擇,則是透過線性規劃來求解當前階段狀態 s 對應的納什均衡策略。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 3:minimax-Q learning 演算法流程。圖源[4]

minimax Q 方法是競爭式博弈中很經典的一種思想,基於該種思想衍生出很多其他方法,包括 Friend-or-Foe Q-learning、correlated Q-learning,以及接下來將要提到的 Nash Q-learning。

1.2.2 智慧體之間是半合作半競爭(混合)關係

雙人零和博弈的更一般形式為多人一般和博弈(general-sum game),此時 minimax Q-learning 方法可擴充套件為 Nash Q-learning 方法。當每個智慧體採用普通的 Q 學習方法,並且都採取貪心的方式、即最大化各自的 Q 值時,這樣的方法容易收斂到納什均衡策略。Nash Q-learning 方法可用於處理以納什均衡為解的多智慧體學習問題。它的目標是透過尋找每一個狀態的納什均衡點,從而在學習過程中基於納什均衡策略來更新 Q 值。

具體地,對於一個智慧體 i 來說,它的 Nash Q 值定義為:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

此時,假設了所有智慧體從下一時刻開始都採取納什均衡策略,納什策略可以透過二次規劃(僅考慮離散的動作空間,π是各動作的機率分佈)來求解。

在 Q 值的迭代更新過程中,使用 Nash Q 值來更新:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

可以看到,對於單個智慧體 i,在使用 Nash Q 值進行更新時,它除了需要知道全域性狀態 s 和其他智慧體的動作 a 以外,還需要知道其他所有智慧體在下一狀態對應的納什均衡策略π。進一步地,當前智慧體就需要知道其他智慧體的 Q(s')值,這通常是根據觀察到的其他智慧體的獎勵和動作來猜想和計算。所以,Nash Q-learning 方法對智慧體能夠獲取的其他智慧體的資訊(包括動作、獎勵等)具有較強的假設,在複雜的真實問題中一般不滿足這樣嚴格的條件,方法的適用範圍受限。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 4:nash-Q learning 演算法流程。圖源:[5]

1.2.3 智慧體之間是完全合作關係

前面提到的智慧體之間的兩種關係,都涉及到了個體和個體的相互競爭,所以對於個體來說,在策略學習過程中考慮對方(更一般地,其他智慧體)的決策行為,才能夠做出更好地應對動作,這是比較容易理解的。那麼,如果智慧體之間完全是合作關係,個體的決策也要考慮其他智慧體的決策情況嗎?實際上,“合作”意味著多個智慧體要共同完成一個目標任務,即這個目標的達成與各個體行為組合得到的聯合行為相關;如果個體“一意孤行”,那麼它很難配合其他隊友來共同獲得好的回報。所以,智慧體的策略學習仍然需要考慮聯合動作效應,要考慮其他具有決策能力的智慧體的影響。

怎樣實現在智慧體策略學習過程中考慮其他協作智慧體的影響呢?這個問題我們可以分類討論,分類的依據是具體問題對於智慧體協作的條件要求,即智慧體透過協作獲得最優回報時,是否需要協調機制:

  • 不需要協作機制

對於一個問題(或者是任務),當所有智慧體的聯合最優動作是唯一的時候,完成該任務是不需要協作機制的。這個很容易理解,假設對於環境中的所有智慧體 {A,B} 存在不只一個最優聯合動作,即有 {πA,πB} 和{hA,hB},那麼 A 和 B 之間就需要協商機制,決定是同時取π,還是同時取 h;因為如果其中一個取π、另一個取 h,得到的聯合動作就不一定是最優的了。Team Q-learning 是一種適用於不需要協作機制的問題的學習方法,它提出對於單個智慧體 i,可以透過下面這個式子來求出它的最優動作 hi:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

Distributed Q-learning 也是一種適用於不需要協作機制的問題的學習方法,不同於 Team Q-learning 在選取個體最優動作的時候需要知道其他智慧體的動作,在該方法中智慧體維護的是隻依據自身動作所對應的 Q 值,從而得到個體最優動作。

  • 隱式的協作機制

在智慧體之間需要相互協商、從而達成最優的聯合動作的問題中,個體之間的相互建模,能夠為智慧體的決策提供潛在的協調機制。在聯合動作學習(joint action learner,JAL)[6]方法中,智慧體 i 會基於觀察到的其他智慧體 j 的歷史動作、對其他智慧體 j 的策略進行建模。在頻率最大 Q 值(frequency maximum Q-value, FMQ)[7]方法中,在個體 Q 值的定義中引入了個體動作所在的聯合動作取得最優回報的頻率,從而在學習過程中引導智慧體選擇能夠取得最優回報的聯合動作中的自身動作,那麼所有智慧體的最優動作組合被選擇的機率也會更高。

JAL 和 FMQ 方法的基本思路都是基於均衡求解法,但這類方法通常只能處理小規模(即智慧體的數量較少)的多智慧體問題:在現實問題中,會涉及到大量智慧體之間的互動和相互影響,而一般的均衡求解法受限於計算效率和計算複雜度、很難處理複雜的情況。在大規模多智慧體學習問題中,考慮群體聯合動作的效應,包括當前智慧體受到的影響以及在群體中發揮的作用,對於智慧體的策略學習是有較大幫助的。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

基於平均場理論的多智慧體強化學習(Mean Field MARL, MFMARL)方法是 UCL 學者在 2018 年 ICML 會議上提出的一種針對大規模群體問題的方法,它將傳統強化學習方法(Q-learning)和平均場理論(mean field theory)相結合。平均場理論適用於對複雜的大規模系統建模,它使用了一種簡化的建模思想:對於其中的某個個體,所有其他個體產生的聯合作用可以用一個 “平均量” 來定義和衡量。此時,對於其中一個個體來說,所有其他個體的影響相當於一個單體對於它的影響,這樣的建模方式能夠有效處理維度空間和計算量龐大的問題。

MFMARL 方法基於平均場理論的建模思想,將所有智慧體看作一個“平均場”,個體與其他智慧體之間的關係可以描述為個體和平均場之間的相互影響,從而簡化了後續的分析過程。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 5:基於平均場理論的多智慧體建模方式,單個智慧體只考慮與相鄰的其他智慧體(藍色球體區域)的相互作用。圖源:[8]

首先,為了處理集中式全域性值函式的學習效果會受到智慧體數量(聯合動作的維度)的影響,對值函式進行分解。對於單個智慧體 j,它的值函式 Qj(s,a)包含了與所有 Nj 個相鄰智慧體 k 之間的相互作用:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

然後,將平均場理論的思想結合到上式中。考慮離散的動作空間,單個智慧體的動作採用 one-hot 編碼的方式,即 aj=[h(aj_1), ... h(aj_d)],其中 h(aj_i)=1 if aj=aj_i ?: 0;其他相鄰智慧體的動作可以表示為平均動作 \ bar{aj}和一個波動δ的形式:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

利用泰勒二階展開,得到

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

該式子即是將當前智慧體 j 與其他相鄰智慧體 k 的相互作用,簡化為當前智慧體 j 和虛擬智慧體 \ bar{j}的相互作用,是平均場思想在數學形式上的體現。此時,在學習過程中,迭代更新的物件為平均場下的 Q(s,aj,\bar{aj})值(即 MF-Q),有:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

在更新中使用 v 而不是使用 max Q 的原因在於:對 Q 取 max,需要相鄰智慧體策略 \ bar{aj}的合作,而對於智慧體 j 來說是無法直接干涉其他智慧體的決策情況;另一方面,貪心的選擇依舊會導致學習過程受到環境不穩定性的影響。

對應地,智慧體 j 的策略也會基於 Q 值迭代更新,使用玻爾茲曼分佈有:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

原文證明了透過這樣的迭代更新方式,\bar{aj}最終能夠收斂到唯一平衡點的證明,並推出智慧體 j 的策略πj 能夠收斂到納什均衡策略。

  • 顯式的協作機制

關於顯式的協作機制,我們將透過多智慧體深度強化學習在多機器人領域的應用中會簡單介紹(主要是人機之間的互動,考慮現存的一些約束條件 / 先驗規則等)。

2. 多智慧體深度強化學習

隨著深度學習的發展,利用神經網路的強大表達能力來搭建逼近模型(value approximation)和策略模型(常見於 policy-based 的 DRL 方法)。深度強化學習的方法可以分為基於值函式(value-based)和基於策略(policy-based)兩種,在考慮多智慧體問題時,主要的方式是在值函式的定義或者是策略的定義中引入多智慧體的相關因素,並設計相應的網路結構作為值函式模型和策略模型,最終訓練得到的模型能夠適應(直接或者是潛在地學習到智慧體相互之間的複雜關係),在具體任務上獲得不錯的效果。

2.1 policy-based 的方法

在完全合作的 setting 下,多智慧體整體通常需要最大化全域性的期望回報。前面提到一種完全集中式的方式:透過一箇中心模組來完成全域性資訊的獲取和決策計算,能夠直接地將適用於單智慧體的 RL 方法擴充到多智慧體系統中。但通常在現實情況中,中心化的控制器(centralized controller)並不一定可行,或者說不一定是比較理想的決策方式。而如果採用完全分散式的方式,每個智慧體獨自學習自己的值函式網路以及策略網路、不考慮其他智慧體對自己的影響,無法很好處理環境的不穩定問題。利用強化學習中 actor-critic 框架的特點,能夠在這兩種極端方式中找到協調的辦法。

1. 多智慧體 DDPG 方法(Multi-Agent Deep Deterministic Policy Gradient, MADDPG)

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

這種方法是在深度確定策略梯度(Deep Deterministic Policy Gradient,DDPG)方法的基礎上、對其中涉及到的 actor-critic 框架進行改進,使用集中式訓練、分散式執行的機制(centralized training and decentralized execution),為解決多智慧體問題提供了一種比較通用的思路。

MADDPG 為每個智慧體都建立了一箇中心化的 critic,它能夠獲取全域性資訊(包括全域性狀態和所有智慧體的動作)並給出對應的值函式 Qi(x,a1,...,an),這在一定程度上能夠緩解多智慧體系統環境不穩定的問題。另一方面,每個智慧體的 actor 則只需要根據區域性的觀測資訊作出決策,這能夠實現對多智慧體的分散式控制。

在基於 actor-critic 框架的學習過程中,critic 和 actor 的更新方式和 DDPG 類似。對於 critic,它的最佳化目標為:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

對於 actor,考慮確定性策略μi(ai|oi),策略更新時的梯度計算可以表示為:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 6:中心化的 Q 值學習(綠色)和分散式的策略執行(褐色)。Q 值獲取所有智慧體的觀測資訊 o 和動作 a,策略π根據個體的觀測資訊來輸出個體動作。圖源:[9]

在 MADDPG 中,個體維護的中心化 Q 值需要知道全域性的狀態資訊和所有智慧體的動作資訊,此時假設了智慧體能夠透過通訊或者是某種方式得知其他智慧體的觀測值和策略,這種假設前提過於嚴格。MADDPG 進一步提出了可以透過維護策略逼近函式 \ hat{\miu}來估計其他智慧體的策略,透過對其他智慧體的行為建模使得維護中心化的 Q 值、考慮聯合動作效應對單個個體來說是可行的。智慧體 i 在逼近第 j 個智慧體的策略函式時,其最佳化目標是令策略函式能夠近似經驗樣本中智慧體 j 的行為,同時考慮該策略的熵,可表示為:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

除了考慮聯合動作以外,MADDPG 在處理環境不穩定問題方面還使用了策略整合(policies ensemble)的技巧。由於環境中的每個智慧體的策略都在迭代更新,因此很容易出現單個智慧體的策略對其他智慧體的策略過擬合,即當其他智慧體的策略發生改變時,當前得到的最優策略不一定能很好的適應其他智慧體的策略。為了緩和過擬合問題,MADDPG 提出了策略整合的思想,即對於單個智慧體 i,它的策略μi 是由多個子策略μi^k 構成的集合。在一個 episode 中,只使用一種從集合中取樣得到的子策略進行決策和完成互動。在學習過程中最大化的目標是所有子策略的期望回報,即

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

每個子策略的更新梯度為:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

總的來說,MADDPG 的核心是在 DDPG 演算法的基礎上,對每個智慧體使用全域性的 Q 值來更新區域性的策略,該方法在完全合作、完全競爭和混合關係的問題中都能取得較好效果。演算法流程如下所示:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 7:MADDPG 演算法流程。圖源:[9]

2. 反事實多智慧體策略梯度法方法(Counterfactual Multi-Agent Policy Gradients, COMA)

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

合作式的多智慧體學習問題中,每個智慧體共享獎勵(即在同一個時刻獲得相同的獎勵),此時會存在一個 “置信分配” 問題(credit assignment):如何去評估每個智慧體對這個共享獎勵的貢獻?

COMA 方法在置信分配中利用了一種反事實基線:將智慧體當前的動作和預設的動作進行比較,如果當前動作能夠獲得的回報高於預設動作,則說明當前動作提供了好的貢獻,反之則說明當前動作提供了壞的貢獻;預設動作的回報,則透過當前策略的平均效果來提供(即為反事實基線)。在對某個智慧體和基線進行比較的時,需要固定其他智慧體的動作。當前策略的平均效果和優勢函式的定義如下:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

COMA 方法結合了集中式訓練、分散式執行的思想:分散式的個體策略以區域性觀測值為輸入、輸出個體的動作;中心化的 critic 使用特殊的網路結構來輸出優勢函式值。

具體地,critic 網路的輸入包括了全域性狀態資訊 s、個體的區域性觀測資訊 o、個體的編號 a 以及其他智慧體的動作,首先輸出當前智慧體不同動作所對應的聯合 Q 值。然後, 再經過 COMA 模組,使用輸入其中的智慧體當前策略和動作,計算反事實基線以及輸出最終的優勢函式。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 8:(a) COMA 方法中的 actor-critic 框架圖,(b) actor 的網路結構,(c) critic 的網路結構(包含了核心的 COMA 模組來提供優勢函式值)。圖源:[10]

2.2 value-based 的方法

在前面提到的 policy-based 方法中,中心化的值函式是直接使用全域性資訊進行建模,沒有考慮個體的特點。在多智慧體系統是由大規模的多個個體構成時,這樣的值函式是難以學習或者是訓練到收斂的,很難推匯出理想的策略。並且僅依靠區域性觀測值,無法判斷當前獎勵是由於自身的行為還是環境中其他隊友的行為而獲得的。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

值分解網路(value decomposition networks, VDN)由 DeepMind 團隊在 2018 年提出,該方法的核心是將全域性的 Q(s,a)值分解為各個區域性 Qi(si,ai)的加權和,每個智慧體擁有各自的區域性值函式。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

這樣的分解方式,在聯合動作 Q 值的結構組成方面考慮了個體行為的特性,使得該 Q 值更易於學習。另一方面,它也能夠適配集中式的訓練方式,在一定程度上能夠克服多智慧體系統中環境不穩定的問題。在訓練過程中,透過聯合動作 Q 值來指導策略的最佳化,同時個體從全域性 Q 值中提取區域性的 Qi 值來完成各自的決策(如貪心策略 ai=argmax Qi),實現多智慧體系統的分散式控制。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 9:左圖是完全分散式的區域性 Q 值網路結構,右圖是 VDN 的聯合動作 Q 值網路結構。考慮兩個智慧體,它們的聯合動作 Q 值由個體的 Q1 和 Q2 求和得到,在學習時針對這個聯合 Q 值進行迭代更新,而在執行時個體根據各自的 Qi 值得到自身的動作 ai。圖源:[11]

VDN 對於智慧體之間的關係有較強的假設,但是,這樣的假設並不一定適合所有合作式多智慧體問題。在 2018 年的 ICML 會議上,有研究者提出了改進的方法 QMIX。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

QMIX 在 VDN 的基礎上實現了兩點改進:1)在訓練過程中加入全域性資訊進行輔助;2)採用混合網路對單智慧體的區域性值函式進行合併(而不是簡單的線性相加)。

在 QMIX 方法中,首先假設了全域性 Q 值和區域性 Q 值之間滿足這樣的關係:最大化全域性 Q_tot 值對應的動作,是最大化各個區域性 Q_a 值對應動作的組合,即

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

在這樣的約束條件下,既能夠使用集中式的學習方法來處理環境不穩定性問題以及考慮多智慧體的聯合動作效應(全域性 Q 值的學習),又能夠從中提取出個體策略實現分散式的控制(基於區域性 Q 值的行為選擇)。進一步地,該約束條件可轉化為全域性 Q 值和區域性 Q 值之間的單調性約束關係:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

令全域性 Q 值和區域性 Q 值之間滿足該約束關係的函式表示式有多種,VDN 方法的加權求和就是其中一種,但簡單的線性求和並沒有充分考慮到不同個體的特性,對全體行為和區域性行為之間的關係的描述有一定的侷限性。QMIX 採用了一個混合網路模組(mixing network)作為整合 Qa 生成 Q_tot 的函式表示式,它能夠滿足上述的單調性約束。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 10:QMIX 網路結構。圖源:[12]

在 QMIX 方法設計的網路結構中,每個智慧體都擁有一個 DRQN 網路(綠色塊),該網路以個體的觀測值作為輸入,使用迴圈神經網路來保留和利用歷史資訊,輸出個體的區域性 Qi 值。

所有個體的區域性 Qi 值輸入混合網路模組(藍色塊),在該模組中,各層的權值是利用一個超網路(hypernetwork)以及絕對值計算產生的:絕對值計算保證了權值是非負的、使得區域性 Q 值的整合滿足單調性約束;利用全域性狀態 s 經過超網路來產生權值,能夠更加充分和靈活地利用全域性資訊來估計聯合動作的 Q 值,在一定程度上有助於全域性 Q 值的學習和收斂。

結合 DQN 的思想,以 Q_tot 作為迭代更新的目標,在每次迭代中根據 Q_tot 來選擇各個智慧體的動作,有:

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

最終學習收斂到最優的 Q_tot 並推出對應的策略,即為 QMIX 方法的整個學習流程。

3. 多智慧體強化學習的應用

3.1. 遊戲應用

  • 分步對抗遊戲

這類遊戲包括了圍棋、國際象棋、撲克牌等,MARL 在這幾種遊戲中都有相關的研究進展並取得了不錯的成果。其中,著名的 AlphaGo 透過在和人類對戰的圍棋比賽中取得的驚人成績而進入人們的視野。圍棋是一種雙玩家零和隨機博弈,在每個時刻,玩家都能夠獲取整個棋局。它一種涉及超大狀態空間的回合制遊戲,很難直接使用傳統的 RL 方法或者是搜尋方法。AlphaGo 結合了深度學習和強化學習的方法:

  • 針對巨大狀態空間的問題,使用網路結構 CNN 來提取和表示狀態資訊;

  • 在訓練的第一個階段,使用人類玩家的資料進行有監督訓練,得到預訓練的網路;

  • 在訓練的第二個階段,透過強化學習方法和自我博弈進一步更新網路;

  • 在實際參與遊戲時,結合價值網路(value network)和策略網路(policy network),使用 蒙特卡洛樹搜尋(MCTS)方法得到真正執行的動作。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 11:AlphaGo 在 2016 年擊敗人類玩家。圖源:https://rlss.inria.fr/files/2019/07/RLSS_Multiagent.pdf

  • 實時戰略遊戲

MARL 的另一種重要的遊戲應用領域,是實時戰略遊戲,包括星際爭霸,DOTA,王者榮耀,吃雞等。該類遊戲相比於前面提到的國際象棋、圍棋等回合制型別的遊戲,遊戲 AI 訓練的難度更大,不僅因為遊戲時長過長、對於未來預期回報的估計涉及到的步數更多,還包括了多方同時參與遊戲時造成的複雜空間維度增大,在一些遊戲設定中可能無法獲取完整的資訊以及全域性的形勢(比如在星際爭霸中,不知道迷霧區域是否有敵方的軍隊),在考慮隊內合作的同時也要考慮對外的競爭

OpenAI Five 是 OpenAI 團隊針對 Dota 2 研發的一個遊戲 AI [13],智慧體的策略的學習沒有使用人類玩家的資料、是從零開始的(learn from scratch)。考慮遊戲中隊內英雄的協作,基於每個英雄的分散式控制方式(即每個英雄都有各自的決策網路模型),在訓練過程中,透過一個超引數 “team spirit” 對每個英雄加權、控制團隊合作,並且使用基於團隊整體行為的獎勵機制來引導隊內合作。考慮和其他團隊的對抗,在訓練過程中使用自我對抗的方式(也稱為虛擬自我博弈,fictitious self-play, FSP)來提升策略應對複雜環境或者是複雜對抗形勢的能力。這種自我對抗的訓練方式,早在 2017 年 OpenAI 就基於 Dota2 進行了相關的研究和分析,並發現智慧體能夠自主地學習掌握到一些複雜的技能;應用在群體對抗中,能夠提升團隊策略整體對抗的能力。

AlphaStar 是 OpenAI 團隊另一個針對星際爭霸 2(Starcraft II)研發的遊戲 AI,其中在處理多智慧體博弈問題的時候,再次利用了 self-play 的思想並進一步改進,提出了一種聯盟利用探索的學習方式(league exploiter discovery)。使用多類個體來建立一個聯盟(league),這些個體包括主智慧體(main agents)、主利用者(main exploiters)、聯盟利用者(league exploiters)和歷史玩家(past players)四類。這幾類智慧體的策略會被儲存(相當於構建了一個策略池),在該聯盟內各類智慧體按照一定的匹配規則與策略池中的其他類智慧體的策略進行對抗,能夠利用之前學會的有效資訊並且不斷增強策略的能力,解決普通的自我博弈方法所帶有的 “迴圈學習” 問題(“Chasing its tail”)。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 12:聯盟利用者探索(league exploiter discovery)的學習框架。圖源:[14]

3.2. 多機器人避碰

在現實生活中,多機器人的應用場景主要是透過多個機器人的協作來提升系統的效能和效率,此時多智慧體強化學習的關注重點主要在於機器人(智慧體)之間的合作。

在移動機器人方面,自主避障導航是底層應用的關鍵技術,近幾年透過強化學習的方法來學習單機器人導航策略這方面的工作成果比較多;而當環境中存在多個移動機器人同時向各自目標點移動的時候,需要進一步考慮機器人之間的相互避碰問題,這也是 MARL 在多機器人導航(multi-robot navigation)領域的主要研究問題。Jia Pan 教授團隊 [13] 在控制多機器人避碰導航問題上使用了集中式學習和分散式執行的機制,在學習過程中機器人之間共享獎勵、策略網路和值函式網路,透過共享的經驗樣本來引導相互之間達成隱式的協作機制

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 13:多機器人向各自目標點移動過程中的相互避碰。倉庫物件分發是該問題的常見場景,多個物流機器人在向各自指定的目標點移動過程當中,需要避免和倉庫中的其他物流機器人發生碰撞。圖源:[15]

另外,不僅有機器人和機器人之間的避碰問題,有一些工作還考慮到了機器人和人之間的避碰問題,如 SA-CADRL(socially aware collision avoidance deep reinforcement learning) 。根據該導航任務的具體設定(即機器人處在人流密集的場景中),在策略訓練是引入一些人類社會的規則(socially rule),相當於要讓機器人的策略學習到前面 1.2.3 部分提到顯式的協調機制,達成機器人與人的行為之間的協作。

AlphaGo原來是這樣執行的,一文詳解多智慧體強化學習的基礎和應用

圖 14:左圖展示了相互避碰時的兩種對稱規則,上面為左手規則,下面為右手規則。右圖是在 SA-CADRL 方法中模型引入這樣的對稱性資訊,第一層中的紅色段表示當前智慧體的觀測值,藍色塊表示它考慮的附近三個智慧體的觀測值,權重矩陣的對稱性是考慮了智慧體之間遵循一定規則的對稱行為。圖源:[16]

4. 總結 

多智慧體強化學習(MARL)是結合了強化學習和多智慧體學習這兩個領域的重要研究方向,關注的是多個智慧體的序貫決策問題。本篇文章主要基於智慧體之間的關係型別,包括完全合作式、完全競爭式和混合關係式,對多智慧體強化學習的理論和演算法展開介紹,並在應用方面列舉了一些相關的研究工作。在未來,對 MARL 方面的研究(包括理論層面和應用層面)仍然需要解決較多的問題,包括理論體系的補充和完善、方法的可復現性、模型引數的訓練和計算量、模型的安全性和魯棒性等 [15]。

參考文獻:

[1] Sutton R S, Barto A G. Reinforcement learning: An introduction[M]. MIT press, 2018.

[2] Zhang K , Yang Z , Baar T . Multi-Agent Reinforcement Learning: A Selective Overview of Theories and Algorithms[J]. 2019.

[3] L. Busoniu, R. Babuska, and B. De Schutter, “A comprehensive survey of multi-agent reinforcement learning,” IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, vol. 38, no. 2, pp. 156–172, Mar. 2008.

[4] Littman M L. Markov games as a framework for multi-agent reinforcement learning[C]. international conference on machine learning, 1994: 157-163.

[5] Hu J, Wellman M P. Nash Q-learning for general-sum stochastic games[J]. Journal of machine learning research, 2003, 4(Nov): 1039-1069.

[6] Caroline Claus and Craig Boutilier. The dynamics of reinforcement learning in cooperative multiagent systems. In Proceedings of the Fifteenth National Conference on Artificial Intelligence, pp. 746–752, 1998.

[7] S. Kapetanakis and D. Kudenko. Reinforcement learning of coordination in cooperative multi-agent systems. American Association for Artificial Intelligence, pp. 326-331, 2002.

[8] Yang Y, Luo R, Li M, et al. Mean Field Multi-Agent Reinforcement Learning[C]. international conference on machine learning, 2018: 5567-5576

[9] Lowe R, Wu Y, Tamar A, et al. Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments[C]. neural information processing systems, 2017: 6379-6390.

[10] Foerster J, Farquhar G, Afouras T, et al. Counterfactual Multi-Agent Policy Gradients[J]. arXiv: Artificial Intelligence, 2017.

[11] Sunehag P, Lever G, Gruslys A, et al. Value-Decomposition Networks For Cooperative Multi-Agent Learning.[J]. arXiv: Artificial Intelligence, 2017.

[12] Rashid T, Samvelyan M, De Witt C S, et al. QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning[J]. arXiv: Learning, 2018.

[13] OpenAI Five, OpenAI, https://blog.openai.com/openai-five/, 2018.

[14] Vinyals, O., Babuschkin, I., Czarnecki, W.M. et al. Grandmaster level in StarCraft II using multi-agent reinforcement learning. Nature 575, 350–354 (2019).

[15] P. Long, T. Fan, X. Liao, W. Liu, H. Zhang and J. Pan, "Towards Optimally Decentralized Multi-Robot Collision Avoidance via Deep Reinforcement Learning," 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, QLD, 2018, pp. 6252-6259, doi: 10.1109/ICRA.2018.8461113.

[16] Y. F. Chen, M. Everett, M. Liu and J. P. How, "Socially aware motion planning with deep reinforcement learning," 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, 2017, pp. 1343-1350, doi: 10.1109/IROS.2017.8202312.

[17] Hernandez-Leal P , Kartal B , Taylor M E . A survey and critique of multiagent deep reinforcement learning[J]. Autonomous Agents & Multi Agent Systems, 2019(2).

分析師介紹:

楊旭韻,工程碩士,主要研究方向是強化學習、模仿學習以及元學習。現從事工業機器人相關的技術研究工作,主要負責機器學習演算法落地應用的工作。

相關文章