博客專欄

EEPW首頁 > 博客 > AlphaGo原來是這樣運行的,一文詳解多智能體強化學習的基礎(chǔ)和應(yīng)用(上)

AlphaGo原來是這樣運行的,一文詳解多智能體強化學習的基礎(chǔ)和應(yīng)用(上)

發(fā)布人:機器之心 時間:2020-11-04 來源:工程師 發(fā)布文章

在這篇綜述性文章中,作者詳盡地介紹了多智能強化學習的理論基礎(chǔ),并闡述了解決各類多智能問題的經(jīng)典算法。此外,作者還以 AlphaGo、AlphaStar 為例,概述了多智能體強化學習的實際應(yīng)用。

近年來,隨著強化學習(reinforcement learning)在多個應(yīng)用領(lǐng)域取得了令人矚目的成果,并且考慮到在現(xiàn)實場景中通常會同時存在多個決策個體(智能體),部分研究者逐漸將眼光從單智能體領(lǐng)域延伸到多智能體。

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

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

我們知道,強化學習的核心思想是“試錯”(trial-and-error):智能體通過與環(huán)境的交互,根據(jù)獲得的反饋信息迭代地優(yōu)化。在 RL 領(lǐng)域,待解決的問題通常被描述為馬爾科夫決策過程。

45.png

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

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

1.1 多智能體問題的建模——博弈論基礎(chǔ)

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

44.png

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

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

43.jpg

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

42.png

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

值得注意的是,納什均衡不一定是全局最優(yōu),但它是在概率上最容易產(chǎn)生的結(jié)果,是在學習時較容易收斂到的狀態(tài),特別是如果當前智能體無法知道其他智能體將會采取怎樣的策略。這里舉個簡單的例子來幫助理解,即博弈論中經(jīng)典的囚徒困境。根據(jù)兩個人不同的交代情況,判刑的時間是不一樣的:

41.png

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

均衡求解方法是多智能體強化學習的基本方法,它對于多智能體學習的問題,結(jié)合了強化學習的經(jīng)典方法(如 Q-learning)和博弈論中的均衡概念,通過 RL 的方法來求解該均衡目標,從而完成多智能體的相關(guān)任務(wù)。這種思路在后面介紹具體的學習方法中會有所體現(xiàn)。

相比于單智能體系統(tǒng),強化學習應(yīng)用在多智能體系統(tǒng)中會遇到哪些問題和挑戰(zhàn)?

1、環(huán)境的不穩(wěn)定性:智能體在做決策的同時,其他智能體也在采取動作;環(huán)境狀態(tài)的變化與所有智能體的聯(lián)合動作相關(guān);

2、智能體獲取信息的局限性:不一定能夠獲得全局的信息,智能體僅能獲取局部的觀測信息,但無法得知其他智能體的觀測信息、動作和獎勵等信息;

3、個體的目標一致性:各智能體的目標可能是最優(yōu)的全局回報;也可能是各自局部回報的最優(yōu);

4、可拓展性:在大規(guī)模的多智能體系統(tǒng)中,就會涉及到高維度的狀態(tài)空間和動作空間,對于模型表達能力和真實場景中的硬件算力有一定的要求。

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

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

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

1.2.1 智能體之間是完全競爭關(guān)系

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

40.png

在式子中,V 和 Q 省略了智能體 i 的下標,是因為在零和博弈中設(shè)定了 Q1=-Q2,所以上式對于另一個智能體來說是對稱等價的。這個值函數(shù)表明,當前智能體在考慮了對手策略的情況下使用貪心選擇。這種方式使得智能體容易收斂到納什均衡策略。在學習過程中,基于強化學習中的 Q-learning 方法,minimax Q-learning 利用上述 minimax 思想定義的值函數(shù)、通過迭代更新 Q 值;動作的選擇,則是通過線性規(guī)劃來求解當前階段狀態(tài) s 對應(yīng)的納什均衡策略。

39.png

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

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

1.2.2 智能體之間是半合作半競爭(混合)關(guān)系

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

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

38.png

此時,假設(shè)了所有智能體從下一時刻開始都采取納什均衡策略,納什策略可以通過二次規(guī)劃(僅考慮離散的動作空間,π是各動作的概率分布)來求解。

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

37.png

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

36.png

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

1.2.3 智能體之間是完全合作關(guān)系

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

怎樣實現(xiàn)在智能體策略學習過程中考慮其他協(xié)作智能體的影響呢?這個問題我們可以分類討論,分類的依據(jù)是具體問題對于智能體協(xié)作的條件要求,即智能體通過協(xié)作獲得最優(yōu)回報時,是否需要協(xié)調(diào)機制:

1、不需要協(xié)作機制

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

35.png

Distributed Q-learning 也是一種適用于不需要協(xié)作機制的問題的學習方法,不同于 Team Q-learning 在選取個體最優(yōu)動作的時候需要知道其他智能體的動作,在該方法中智能體維護的是只依據(jù)自身動作所對應(yīng)的 Q 值,從而得到個體最優(yōu)動作。

隱式的協(xié)作機制

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

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

34.jpg

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

MFMARL 方法基于平均場理論的建模思想,將所有智能體看作一個“平均場”,個體與其他智能體之間的關(guān)系可以描述為個體和平均場之間的相互影響,從而簡化了后續(xù)的分析過程。

33.jpg

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

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

32.png

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

31.png

利用泰勒二階展開,得到

30.png

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

29.png28.png

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

對應(yīng)地,智能體 j 的策略也會基于 Q 值迭代更新,使用玻爾茲曼分布有:

27.png

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

2、顯式的協(xié)作機制

關(guān)于顯式的協(xié)作機制,我們將通過多智能體深度強化學習在多機器人領(lǐng)域的應(yīng)用中會簡單介紹(主要是人機之間的交互,考慮現(xiàn)存的一些約束條件 / 先驗規(guī)則等)。

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

隨著深度學習的發(fā)展,利用神經(jīng)網(wǎng)絡(luò)的強大表達能力來搭建逼近模型(value approximation)和策略模型(常見于 policy-based 的 DRL 方法)。深度強化學習的方法可以分為基于值函數(shù)(value-based)和基于策略(policy-based)兩種,在考慮多智能體問題時,主要的方式是在值函數(shù)的定義或者是策略的定義中引入多智能體的相關(guān)因素,并設(shè)計相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)作為值函數(shù)模型和策略模型,最終訓練得到的模型能夠適應(yīng)(直接或者是潛在地學習到智能體相互之間的復雜關(guān)系),在具體任務(wù)上獲得不錯的效果。

2.1 policy-based 的方法

在完全合作的 setting 下,多智能體整體通常需要最大化全局的期望回報。前面提到一種完全集中式的方式:通過一個中心模塊來完成全局信息的獲取和決策計算,能夠直接地將適用于單智能體的 RL 方法拓展到多智能體系統(tǒng)中。但通常在現(xiàn)實情況中,中心化的控制器(centralized controller)并不一定可行,或者說不一定是比較理想的決策方式。而如果采用完全分布式的方式,每個智能體獨自學習自己的值函數(shù)網(wǎng)絡(luò)以及策略網(wǎng)絡(luò)、不考慮其他智能體對自己的影響,無法很好處理環(huán)境的不穩(wěn)定問題。利用強化學習中 actor-critic 框架的特點,能夠在這兩種極端方式中找到協(xié)調(diào)的辦法。

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

26.png

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

MADDPG 為每個智能體都建立了一個中心化的 critic,它能夠獲取全局信息(包括全局狀態(tài)和所有智能體的動作)并給出對應(yīng)的值函數(shù) Qi(x,a1,...,an),這在一定程度上能夠緩解多智能體系統(tǒng)環(huán)境不穩(wěn)定的問題。另一方面,每個智能體的 actor 則只需要根據(jù)局部的觀測信息作出決策,這能夠?qū)崿F(xiàn)對多智能體的分布式控制。

在基于 actor-critic 框架的學習過程中,critic 和 actor 的更新方式和 DDPG 類似。對于 critic,它的優(yōu)化目標為:

25.png

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

24.png23.png

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

在 MADDPG 中,個體維護的中心化 Q 值需要知道全局的狀態(tài)信息和所有智能體的動作信息,此時假設(shè)了智能體能夠通過通信或者是某種方式得知其他智能體的觀測值和策略,這種假設(shè)前提過于嚴格。MADDPG 進一步提出了可以通過維護策略逼近函數(shù) \ hat{\miu}來估計其他智能體的策略,通過對其他智能體的行為建模使得維護中心化的 Q 值、考慮聯(lián)合動作效應(yīng)對單個個體來說是可行的。智能體 i 在逼近第 j 個智能體的策略函數(shù)時,其優(yōu)化目標是令策略函數(shù)能夠近似經(jīng)驗樣本中智能體 j 的行為,同時考慮該策略的熵,可表示為:

22.png

21.png

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

20.png

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

19.png

總的來說,MADDPG 的核心是在 DDPG 算法的基礎(chǔ)上,對每個智能體使用全局的 Q 值來更新局部的策略,該方法在完全合作、完全競爭和混合關(guān)系的問題中都能取得較好效果。算法流程如下所示:

18.png

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


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉