博客專欄

EEPW首頁(yè) > 博客 > AlphaGo原來(lái)是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)的基礎(chǔ)和應(yīng)用(下)

AlphaGo原來(lái)是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)的基礎(chǔ)和應(yīng)用(下)

發(fā)布人:機(jī)器之心 時(shí)間:2020-11-04 來(lái)源:工程師 發(fā)布文章

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

17.png

在合作式的多智能體學(xué)習(xí)問(wèn)題中,每個(gè)智能體共享獎(jiǎng)勵(lì)(即在同一個(gè)時(shí)刻獲得相同的獎(jiǎng)勵(lì)),此時(shí)會(huì)存在一個(gè) “置信分配” 問(wèn)題(credit assignment):如何去評(píng)估每個(gè)智能體對(duì)這個(gè)共享獎(jiǎng)勵(lì)的貢獻(xiàn)?

COMA 方法在置信分配中利用了一種反事實(shí)基線:將智能體當(dāng)前的動(dòng)作和默認(rèn)的動(dòng)作進(jìn)行比較,如果當(dāng)前動(dòng)作能夠獲得的回報(bào)高于默認(rèn)動(dòng)作,則說(shuō)明當(dāng)前動(dòng)作提供了好的貢獻(xiàn),反之則說(shuō)明當(dāng)前動(dòng)作提供了壞的貢獻(xiàn);默認(rèn)動(dòng)作的回報(bào),則通過(guò)當(dāng)前策略的平均效果來(lái)提供(即為反事實(shí)基線)。在對(duì)某個(gè)智能體和基線進(jìn)行比較的時(shí),需要固定其他智能體的動(dòng)作。當(dāng)前策略的平均效果和優(yōu)勢(shì)函數(shù)的定義如下:

16.png

15.png

COMA 方法結(jié)合了集中式訓(xùn)練、分布式執(zhí)行的思想:分布式的個(gè)體策略以局部觀測(cè)值為輸入、輸出個(gè)體的動(dòng)作;中心化的 critic 使用特殊的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)輸出優(yōu)勢(shì)函數(shù)值。

具體地,critic 網(wǎng)絡(luò)的輸入包括了全局狀態(tài)信息 s、個(gè)體的局部觀測(cè)信息 o、個(gè)體的編號(hào) a 以及其他智能體的動(dòng)作,首先輸出當(dāng)前智能體不同動(dòng)作所對(duì)應(yīng)的聯(lián)合 Q 值。然后, 再經(jīng)過(guò) COMA 模塊,使用輸入其中的智能體當(dāng)前策略和動(dòng)作,計(jì)算反事實(shí)基線以及輸出最終的優(yōu)勢(shì)函數(shù)。

14.png

圖 8:(a) COMA 方法中的 actor-critic 框架圖,(b) actor 的網(wǎng)絡(luò)結(jié)構(gòu),(c) critic 的網(wǎng)絡(luò)結(jié)構(gòu)(包含了核心的 COMA 模塊來(lái)提供優(yōu)勢(shì)函數(shù)值)。圖源:[10]

2.2 value-based 的方法

在前面提到的 policy-based 方法中,中心化的值函數(shù)是直接使用全局信息進(jìn)行建模,沒有考慮個(gè)體的特點(diǎn)。在多智能體系統(tǒng)是由大規(guī)模的多個(gè)個(gè)體構(gòu)成時(shí),這樣的值函數(shù)是難以學(xué)習(xí)或者是訓(xùn)練到收斂的,很難推導(dǎo)出理想的策略。并且僅依靠局部觀測(cè)值,無(wú)法判斷當(dāng)前獎(jiǎng)勵(lì)是由于自身的行為還是環(huán)境中其他隊(duì)友的行為而獲得的。

13.png

值分解網(wǎng)絡(luò)(value decomposition networks, VDN)由 DeepMind 團(tuán)隊(duì)在 2018 年提出,該方法的核心是將全局的 Q(s,a)值分解為各個(gè)局部 Qi(si,ai)的加權(quán)和,每個(gè)智能體擁有各自的局部值函數(shù)。

12.png

這樣的分解方式,在聯(lián)合動(dòng)作 Q 值的結(jié)構(gòu)組成方面考慮了個(gè)體行為的特性,使得該 Q 值更易于學(xué)習(xí)。另一方面,它也能夠適配集中式的訓(xùn)練方式,在一定程度上能夠克服多智能體系統(tǒng)中環(huán)境不穩(wěn)定的問(wèn)題。在訓(xùn)練過(guò)程中,通過(guò)聯(lián)合動(dòng)作 Q 值來(lái)指導(dǎo)策略的優(yōu)化,同時(shí)個(gè)體從全局 Q 值中提取局部的 Qi 值來(lái)完成各自的決策(如貪心策略 ai=argmax Qi),實(shí)現(xiàn)多智能體系統(tǒng)的分布式控制。

11.png

圖 9:左圖是完全分布式的局部 Q 值網(wǎng)絡(luò)結(jié)構(gòu),右圖是 VDN 的聯(lián)合動(dòng)作 Q 值網(wǎng)絡(luò)結(jié)構(gòu)??紤]兩個(gè)智能體,它們的聯(lián)合動(dòng)作 Q 值由個(gè)體的 Q1 和 Q2 求和得到,在學(xué)習(xí)時(shí)針對(duì)這個(gè)聯(lián)合 Q 值進(jìn)行迭代更新,而在執(zhí)行時(shí)個(gè)體根據(jù)各自的 Qi 值得到自身的動(dòng)作 ai。圖源:[11]

VDN 對(duì)于智能體之間的關(guān)系有較強(qiáng)的假設(shè),但是,這樣的假設(shè)并不一定適合所有合作式多智能體問(wèn)題。在 2018 年的 ICML 會(huì)議上,有研究者提出了改進(jìn)的方法 QMIX。

10.png

QMIX 在 VDN 的基礎(chǔ)上實(shí)現(xiàn)了兩點(diǎn)改進(jìn):1)在訓(xùn)練過(guò)程中加入全局信息進(jìn)行輔助;2)采用混合網(wǎng)絡(luò)對(duì)單智能體的局部值函數(shù)進(jìn)行合并(而不是簡(jiǎn)單的線性相加)。

在 QMIX 方法中,首先假設(shè)了全局 Q 值和局部 Q 值之間滿足這樣的關(guān)系:最大化全局 Q_tot 值對(duì)應(yīng)的動(dòng)作,是最大化各個(gè)局部 Q_a 值對(duì)應(yīng)動(dòng)作的組合,即

9.png

在這樣的約束條件下,既能夠使用集中式的學(xué)習(xí)方法來(lái)處理環(huán)境不穩(wěn)定性問(wèn)題以及考慮多智能體的聯(lián)合動(dòng)作效應(yīng)(全局 Q 值的學(xué)習(xí)),又能夠從中提取出個(gè)體策略實(shí)現(xiàn)分布式的控制(基于局部 Q 值的行為選擇)。進(jìn)一步地,該約束條件可轉(zhuǎn)化為全局 Q 值和局部 Q 值之間的單調(diào)性約束關(guān)系:

8.png

令全局 Q 值和局部 Q 值之間滿足該約束關(guān)系的函數(shù)表達(dá)式有多種,VDN 方法的加權(quán)求和就是其中一種,但簡(jiǎn)單的線性求和并沒有充分考慮到不同個(gè)體的特性,對(duì)全體行為和局部行為之間的關(guān)系的描述有一定的局限性。QMIX 采用了一個(gè)混合網(wǎng)絡(luò)模塊(mixing network)作為整合 Qa 生成 Q_tot 的函數(shù)表達(dá)式,它能夠滿足上述的單調(diào)性約束。

7.png

圖 10:QMIX 網(wǎng)絡(luò)結(jié)構(gòu)。圖源:[12]

在 QMIX 方法設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)中,每個(gè)智能體都擁有一個(gè) DRQN 網(wǎng)絡(luò)(綠色塊),該網(wǎng)絡(luò)以個(gè)體的觀測(cè)值作為輸入,使用循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)保留和利用歷史信息,輸出個(gè)體的局部 Qi 值。

所有個(gè)體的局部 Qi 值輸入混合網(wǎng)絡(luò)模塊(藍(lán)色塊),在該模塊中,各層的權(quán)值是利用一個(gè)超網(wǎng)絡(luò)(hypernetwork)以及絕對(duì)值計(jì)算產(chǎn)生的:絕對(duì)值計(jì)算保證了權(quán)值是非負(fù)的、使得局部 Q 值的整合滿足單調(diào)性約束;利用全局狀態(tài) s 經(jīng)過(guò)超網(wǎng)絡(luò)來(lái)產(chǎn)生權(quán)值,能夠更加充分和靈活地利用全局信息來(lái)估計(jì)聯(lián)合動(dòng)作的 Q 值,在一定程度上有助于全局 Q 值的學(xué)習(xí)和收斂。

結(jié)合 DQN 的思想,以 Q_tot 作為迭代更新的目標(biāo),在每次迭代中根據(jù) Q_tot 來(lái)選擇各個(gè)智能體的動(dòng)作,有:

6.png

5.png

最終學(xué)習(xí)收斂到最優(yōu)的 Q_tot 并推出對(duì)應(yīng)的策略,即為 QMIX 方法的整個(gè)學(xué)習(xí)流程。

3. 多智能體強(qiáng)化學(xué)習(xí)的應(yīng)用

3.1. 游戲應(yīng)用

1、分步對(duì)抗游戲

這類游戲包括了圍棋、國(guó)際象棋、****牌等,MARL 在這幾種游戲中都有相關(guān)的研究進(jìn)展并取得了不錯(cuò)的成果。其中,著名的 AlphaGo 通過(guò)在和人類對(duì)戰(zhàn)的圍棋比賽中取得的驚人成績(jī)而進(jìn)入人們的視野。圍棋是一種雙玩家零和隨機(jī)博弈,在每個(gè)時(shí)刻,玩家都能夠獲取整個(gè)棋局。它一種涉及超大狀態(tài)空間的回合制游戲,很難直接使用傳統(tǒng)的 RL 方法或者是搜索方法。AlphaGo 結(jié)合了深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的方法:

針對(duì)巨大狀態(tài)空間的問(wèn)題,使用網(wǎng)絡(luò)結(jié)構(gòu) CNN 來(lái)提取和表示狀態(tài)信息;

在訓(xùn)練的第一個(gè)階段,使用人類玩家的數(shù)據(jù)進(jìn)行有監(jiān)督訓(xùn)練,得到預(yù)訓(xùn)練的網(wǎng)絡(luò);

在訓(xùn)練的第二個(gè)階段,通過(guò)強(qiáng)化學(xué)習(xí)方法和自我博弈進(jìn)一步更新網(wǎng)絡(luò);

在實(shí)際參與游戲時(shí),結(jié)合價(jià)值網(wǎng)絡(luò)(value network)和策略網(wǎng)絡(luò)(policy network),使用 蒙特卡洛樹搜索(MCTS)方法得到真正執(zhí)行的動(dòng)作。

4.png

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

2、實(shí)時(shí)戰(zhàn)略游戲

MARL 的另一種重要的游戲應(yīng)用領(lǐng)域,是實(shí)時(shí)戰(zhàn)略游戲,包括星際爭(zhēng)霸,DOTA,王者榮耀,吃雞等。該類游戲相比于前面提到的國(guó)際象棋、圍棋等回合制類型的游戲,游戲 AI 訓(xùn)練的難度更大,不僅因?yàn)橛螒驎r(shí)長(zhǎng)過(guò)長(zhǎng)、對(duì)于未來(lái)預(yù)期回報(bào)的估計(jì)涉及到的步數(shù)更多,還包括了多方同時(shí)參與游戲時(shí)造成的復(fù)雜空間維度增大,在一些游戲設(shè)定中可能無(wú)法獲取完整的信息以及全局的形勢(shì)(比如在星際爭(zhēng)霸中,不知道迷霧區(qū)域是否有敵方的軍隊(duì)),在考慮隊(duì)內(nèi)合作的同時(shí)也要考慮對(duì)外的競(jìng)爭(zhēng)。

OpenAI Five 是 OpenAI 團(tuán)隊(duì)針對(duì) Dota 2 研發(fā)的一個(gè)游戲 AI [13],智能體的策略的學(xué)習(xí)沒有使用人類玩家的數(shù)據(jù)、是從零開始的(learn from scratch)??紤]游戲中隊(duì)內(nèi)英雄的協(xié)作,基于每個(gè)英雄的分布式控制方式(即每個(gè)英雄都有各自的決策網(wǎng)絡(luò)模型),在訓(xùn)練過(guò)程中,通過(guò)一個(gè)超參數(shù) “team spirit” 對(duì)每個(gè)英雄加權(quán)、控制團(tuán)隊(duì)合作,并且使用基于團(tuán)隊(duì)整體行為的獎(jiǎng)勵(lì)機(jī)制來(lái)引導(dǎo)隊(duì)內(nèi)合作??紤]和其他團(tuán)隊(duì)的對(duì)抗,在訓(xùn)練過(guò)程中使用自我對(duì)抗的方式(也稱為虛擬自我博弈,fictitious self-play, FSP)來(lái)提升策略應(yīng)對(duì)復(fù)雜環(huán)境或者是復(fù)雜對(duì)抗形勢(shì)的能力。這種自我對(duì)抗的訓(xùn)練方式,早在 2017 年 OpenAI 就基于 Dota2 進(jìn)行了相關(guān)的研究和分析,并發(fā)現(xiàn)智能體能夠自主地學(xué)習(xí)掌握到一些復(fù)雜的技能;應(yīng)用在群體對(duì)抗中,能夠提升團(tuán)隊(duì)策略整體對(duì)抗的能力。

AlphaStar 是 OpenAI 團(tuán)隊(duì)另一個(gè)針對(duì)星際爭(zhēng)霸 2(Starcraft II)研發(fā)的游戲 AI,其中在處理多智能體博弈問(wèn)題的時(shí)候,再次利用了 self-play 的思想并進(jìn)一步改進(jìn),提出了一種聯(lián)盟利用探索的學(xué)習(xí)方式(league exploiter discovery)。使用多類個(gè)體來(lái)建立一個(gè)聯(lián)盟(league),這些個(gè)體包括主智能體(main agents)、主利用者(main exploiters)、聯(lián)盟利用者(league exploiters)和歷史玩家(past players)四類。這幾類智能體的策略會(huì)被保存(相當(dāng)于構(gòu)建了一個(gè)策略池),在該聯(lián)盟內(nèi)各類智能體按照一定的匹配規(guī)則與策略池中的其他類智能體的策略進(jìn)行對(duì)抗,能夠利用之前學(xué)會(huì)的有效信息并且不斷增強(qiáng)策略的能力,解決普通的自我博弈方法所帶有的 “循環(huán)學(xué)習(xí)” 問(wèn)題(“Chasing its tail”)。

3.png

圖 12:聯(lián)盟利用者探索(league exploiter discovery)的學(xué)習(xí)框架。圖源:[14]

3.2. 多機(jī)器人避碰

在現(xiàn)實(shí)生活中,多機(jī)器人的應(yīng)用場(chǎng)景主要是通過(guò)多個(gè)機(jī)器人的協(xié)作來(lái)提升系統(tǒng)的性能和效率,此時(shí)多智能體強(qiáng)化學(xué)習(xí)的關(guān)注重點(diǎn)主要在于機(jī)器人(智能體)之間的合作。

在移動(dòng)機(jī)器人方面,自主避障導(dǎo)航是底層應(yīng)用的關(guān)鍵技術(shù),近幾年通過(guò)強(qiáng)化學(xué)習(xí)的方法來(lái)學(xué)習(xí)單機(jī)器人導(dǎo)航策略這方面的工作成果比較多;而當(dāng)環(huán)境中存在多個(gè)移動(dòng)機(jī)器人同時(shí)向各自目標(biāo)點(diǎn)移動(dòng)的時(shí)候,需要進(jìn)一步考慮機(jī)器人之間的相互避碰問(wèn)題,這也是 MARL 在多機(jī)器人導(dǎo)航(multi-robot navigation)領(lǐng)域的主要研究問(wèn)題。Jia Pan 教授團(tuán)隊(duì) [13] 在控制多機(jī)器人避碰導(dǎo)航問(wèn)題上使用了集中式學(xué)習(xí)和分布式執(zhí)行的機(jī)制,在學(xué)習(xí)過(guò)程中機(jī)器人之間共享獎(jiǎng)勵(lì)、策略網(wǎng)絡(luò)和值函數(shù)網(wǎng)絡(luò),通過(guò)共享的經(jīng)驗(yàn)樣本來(lái)引導(dǎo)相互之間達(dá)成隱式的協(xié)作機(jī)制。

2.png

圖 13:多機(jī)器人向各自目標(biāo)點(diǎn)移動(dòng)過(guò)程中的相互避碰。倉(cāng)庫(kù)物件分發(fā)是該問(wèn)題的常見場(chǎng)景,多個(gè)物流機(jī)器人在向各自指定的目標(biāo)點(diǎn)移動(dòng)過(guò)程當(dāng)中,需要避免和倉(cāng)庫(kù)中的其他物流機(jī)器人發(fā)生碰撞。圖源:[15]

另外,不僅有機(jī)器人和機(jī)器人之間的避碰問(wèn)題,有一些工作還考慮到了機(jī)器人和人之間的避碰問(wèn)題,如 SA-CADRL(socially aware collision avoidance deep reinforcement learning) 。根據(jù)該導(dǎo)航任務(wù)的具體設(shè)定(即機(jī)器人處在人流密集的場(chǎng)景中),在策略訓(xùn)練是引入一些人類社會(huì)的規(guī)則(socially rule),相當(dāng)于要讓機(jī)器人的策略學(xué)習(xí)到前面 1.2.3 部分提到顯式的協(xié)調(diào)機(jī)制,達(dá)成機(jī)器人與人的行為之間的協(xié)作。

1.png

圖 14:左圖展示了相互避碰時(shí)的兩種對(duì)稱規(guī)則,上面為左手規(guī)則,下面為右手規(guī)則。右圖是在 SA-CADRL 方法中模型引入這樣的對(duì)稱性信息,第一層中的紅色段表示當(dāng)前智能體的觀測(cè)值,藍(lán)色塊表示它考慮的附近三個(gè)智能體的觀測(cè)值,權(quán)重矩陣的對(duì)稱性是考慮了智能體之間遵循一定規(guī)則的對(duì)稱行為。圖源:[16]

4. 總結(jié) 

多智能體強(qiáng)化學(xué)習(xí)(MARL)是結(jié)合了強(qiáng)化學(xué)習(xí)和多智能體學(xué)習(xí)這兩個(gè)領(lǐng)域的重要研究方向,關(guān)注的是多個(gè)智能體的序貫決策問(wèn)題。本篇文章主要基于智能體之間的關(guān)系類型,包括完全合作式、完全競(jìng)爭(zhēng)式和混合關(guān)系式,對(duì)多智能體強(qiáng)化學(xué)習(xí)的理論和算法展開介紹,并在應(yīng)用方面列舉了一些相關(guān)的研究工作。在未來(lái),對(duì) MARL 方面的研究(包括理論層面和應(yīng)用層面)仍然需要解決較多的問(wèn)題,包括理論體系的補(bǔ)充和完善、方法的可復(fù)現(xiàn)性、模型參數(shù)的訓(xùn)練和計(jì)算量、模型的安全性和魯棒性等 [15]。

參考文獻(xiàn):

[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).

分析師介紹:

楊旭韻,工程碩士,主要研究方向是強(qiáng)化學(xué)習(xí)、模仿學(xué)習(xí)以及元學(xué)習(xí)。現(xiàn)從事工業(yè)機(jī)器人相關(guān)的技術(shù)研究工作,主要負(fù)責(zé)機(jī)器學(xué)習(xí)算法落地應(yīng)用的工作。

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



關(guān)鍵詞:

相關(guān)推薦

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

關(guān)閉
×

有奖问卷
英飞凌400V CoolSiC™重新定义高性能电源设计的功率密度和效率,含有奖小问卷,限前200名工程师!