AlphaGo原來(lái)是這樣運行的,一文詳解多智能體強化學(xué)習的基礎和應用(下)
2. 反事實(shí)多智能體策略梯度法方法(Counterfactual Multi-Agent Policy Gradients, COMA)
在合作式的多智能體學(xué)習問(wèn)題中,每個(gè)智能體共享獎勵(即在同一個(gè)時(shí)刻獲得相同的獎勵),此時(shí)會(huì )存在一個(gè) “置信分配” 問(wèn)題(credit assignment):如何去評估每個(gè)智能體對這個(gè)共享獎勵的貢獻?
COMA 方法在置信分配中利用了一種反事實(shí)基線(xiàn):將智能體當前的動(dòng)作和默認的動(dòng)作進(jìn)行比較,如果當前動(dòng)作能夠獲得的回報高于默認動(dòng)作,則說(shuō)明當前動(dòng)作提供了好的貢獻,反之則說(shuō)明當前動(dòng)作提供了壞的貢獻;默認動(dòng)作的回報,則通過(guò)當前策略的平均效果來(lái)提供(即為反事實(shí)基線(xiàn))。在對某個(gè)智能體和基線(xiàn)進(jìn)行比較的時(shí),需要固定其他智能體的動(dòng)作。當前策略的平均效果和優(yōu)勢函數的定義如下:
COMA 方法結合了集中式訓練、分布式執行的思想:分布式的個(gè)體策略以局部觀(guān)測值為輸入、輸出個(gè)體的動(dòng)作;中心化的 critic 使用特殊的網(wǎng)絡(luò )結構來(lái)輸出優(yōu)勢函數值。
具體地,critic 網(wǎng)絡(luò )的輸入包括了全局狀態(tài)信息 s、個(gè)體的局部觀(guān)測信息 o、個(gè)體的編號 a 以及其他智能體的動(dòng)作,首先輸出當前智能體不同動(dòng)作所對應的聯(lián)合 Q 值。然后, 再經(jīng)過(guò) COMA 模塊,使用輸入其中的智能體當前策略和動(dòng)作,計算反事實(shí)基線(xiàn)以及輸出最終的優(yōu)勢函數。
圖 8:(a) COMA 方法中的 actor-critic 框架圖,(b) actor 的網(wǎng)絡(luò )結構,(c) critic 的網(wǎng)絡(luò )結構(包含了核心的 COMA 模塊來(lái)提供優(yōu)勢函數值)。圖源:[10]
2.2 value-based 的方法
在前面提到的 policy-based 方法中,中心化的值函數是直接使用全局信息進(jìn)行建模,沒(méi)有考慮個(gè)體的特點(diǎn)。在多智能體系統是由大規模的多個(gè)個(gè)體構成時(shí),這樣的值函數是難以學(xué)習或者是訓練到收斂的,很難推導出理想的策略。并且僅依靠局部觀(guān)測值,無(wú)法判斷當前獎勵是由于自身的行為還是環(huán)境中其他隊友的行為而獲得的。
值分解網(wǎng)絡(luò )(value decomposition networks, VDN)由 DeepMind 團隊在 2018 年提出,該方法的核心是將全局的 Q(s,a)值分解為各個(gè)局部 Qi(si,ai)的加權和,每個(gè)智能體擁有各自的局部值函數。
這樣的分解方式,在聯(lián)合動(dòng)作 Q 值的結構組成方面考慮了個(gè)體行為的特性,使得該 Q 值更易于學(xué)習。另一方面,它也能夠適配集中式的訓練方式,在一定程度上能夠克服多智能體系統中環(huán)境不穩定的問(wèn)題。在訓練過(guò)程中,通過(guò)聯(lián)合動(dòng)作 Q 值來(lái)指導策略的優(yōu)化,同時(shí)個(gè)體從全局 Q 值中提取局部的 Qi 值來(lái)完成各自的決策(如貪心策略 ai=argmax Qi),實(shí)現多智能體系統的分布式控制。
圖 9:左圖是完全分布式的局部 Q 值網(wǎng)絡(luò )結構,右圖是 VDN 的聯(lián)合動(dòng)作 Q 值網(wǎng)絡(luò )結構??紤]兩個(gè)智能體,它們的聯(lián)合動(dòng)作 Q 值由個(gè)體的 Q1 和 Q2 求和得到,在學(xué)習時(shí)針對這個(gè)聯(lián)合 Q 值進(jìn)行迭代更新,而在執行時(shí)個(gè)體根據各自的 Qi 值得到自身的動(dòng)作 ai。圖源:[11]
VDN 對于智能體之間的關(guān)系有較強的假設,但是,這樣的假設并不一定適合所有合作式多智能體問(wèn)題。在 2018 年的 ICML 會(huì )議上,有研究者提出了改進(jìn)的方法 QMIX。
QMIX 在 VDN 的基礎上實(shí)現了兩點(diǎn)改進(jìn):1)在訓練過(guò)程中加入全局信息進(jìn)行輔助;2)采用混合網(wǎng)絡(luò )對單智能體的局部值函數進(jìn)行合并(而不是簡(jiǎn)單的線(xiàn)性相加)。
在 QMIX 方法中,首先假設了全局 Q 值和局部 Q 值之間滿(mǎn)足這樣的關(guān)系:最大化全局 Q_tot 值對應的動(dòng)作,是最大化各個(gè)局部 Q_a 值對應動(dòng)作的組合,即
在這樣的約束條件下,既能夠使用集中式的學(xué)習方法來(lái)處理環(huán)境不穩定性問(wèn)題以及考慮多智能體的聯(lián)合動(dòng)作效應(全局 Q 值的學(xué)習),又能夠從中提取出個(gè)體策略實(shí)現分布式的控制(基于局部 Q 值的行為選擇)。進(jìn)一步地,該約束條件可轉化為全局 Q 值和局部 Q 值之間的單調性約束關(guān)系:
令全局 Q 值和局部 Q 值之間滿(mǎn)足該約束關(guān)系的函數表達式有多種,VDN 方法的加權求和就是其中一種,但簡(jiǎn)單的線(xiàn)性求和并沒(méi)有充分考慮到不同個(gè)體的特性,對全體行為和局部行為之間的關(guān)系的描述有一定的局限性。QMIX 采用了一個(gè)混合網(wǎng)絡(luò )模塊(mixing network)作為整合 Qa 生成 Q_tot 的函數表達式,它能夠滿(mǎn)足上述的單調性約束。
圖 10:QMIX 網(wǎng)絡(luò )結構。圖源:[12]
在 QMIX 方法設計的網(wǎng)絡(luò )結構中,每個(gè)智能體都擁有一個(gè) DRQN 網(wǎng)絡(luò )(綠色塊),該網(wǎng)絡(luò )以個(gè)體的觀(guān)測值作為輸入,使用循環(huán)神經(jīng)網(wǎng)絡(luò )來(lái)保留和利用歷史信息,輸出個(gè)體的局部 Qi 值。
所有個(gè)體的局部 Qi 值輸入混合網(wǎng)絡(luò )模塊(藍色塊),在該模塊中,各層的權值是利用一個(gè)超網(wǎng)絡(luò )(hypernetwork)以及絕對值計算產(chǎn)生的:絕對值計算保證了權值是非負的、使得局部 Q 值的整合滿(mǎn)足單調性約束;利用全局狀態(tài) s 經(jīng)過(guò)超網(wǎng)絡(luò )來(lái)產(chǎn)生權值,能夠更加充分和靈活地利用全局信息來(lái)估計聯(lián)合動(dòng)作的 Q 值,在一定程度上有助于全局 Q 值的學(xué)習和收斂。
結合 DQN 的思想,以 Q_tot 作為迭代更新的目標,在每次迭代中根據 Q_tot 來(lái)選擇各個(gè)智能體的動(dòng)作,有:
最終學(xué)習收斂到最優(yōu)的 Q_tot 并推出對應的策略,即為 QMIX 方法的整個(gè)學(xué)習流程。
3. 多智能體強化學(xué)習的應用
3.1. 游戲應用
1、分步對抗游戲
這類(lèi)游戲包括了圍棋、國際象棋、****牌等,MARL 在這幾種游戲中都有相關(guān)的研究進(jìn)展并取得了不錯的成果。其中,著(zhù)名的 AlphaGo 通過(guò)在和人類(lèi)對戰的圍棋比賽中取得的驚人成績(jì)而進(jìn)入人們的視野。圍棋是一種雙玩家零和隨機博弈,在每個(gè)時(shí)刻,玩家都能夠獲取整個(gè)棋局。它一種涉及超大狀態(tài)空間的回合制游戲,很難直接使用傳統的 RL 方法或者是搜索方法。AlphaGo 結合了深度學(xué)習和強化學(xué)習的方法:
針對巨大狀態(tài)空間的問(wèn)題,使用網(wǎng)絡(luò )結構 CNN 來(lái)提取和表示狀態(tài)信息;
在訓練的第一個(gè)階段,使用人類(lèi)玩家的數據進(jìn)行有監督訓練,得到預訓練的網(wǎng)絡(luò );
在訓練的第二個(gè)階段,通過(guò)強化學(xué)習方法和自我博弈進(jìn)一步更新網(wǎng)絡(luò );
在實(shí)際參與游戲時(shí),結合價(jià)值網(wǎng)絡(luò )(value network)和策略網(wǎng)絡(luò )(policy network),使用 蒙特卡洛樹(shù)搜索(MCTS)方法得到真正執行的動(dòng)作。
圖 11:AlphaGo 在 2016 年擊敗人類(lèi)玩家。圖源:https://rlss.inria.fr/files/2019/07/RLSS_Multiagent.pdf
2、實(shí)時(shí)戰略游戲
MARL 的另一種重要的游戲應用領(lǐng)域,是實(shí)時(shí)戰略游戲,包括星際爭霸,DOTA,王者榮耀,吃雞等。該類(lèi)游戲相比于前面提到的國際象棋、圍棋等回合制類(lèi)型的游戲,游戲 AI 訓練的難度更大,不僅因為游戲時(shí)長(cháng)過(guò)長(cháng)、對于未來(lái)預期回報的估計涉及到的步數更多,還包括了多方同時(shí)參與游戲時(shí)造成的復雜空間維度增大,在一些游戲設定中可能無(wú)法獲取完整的信息以及全局的形勢(比如在星際爭霸中,不知道迷霧區域是否有敵方的軍隊),在考慮隊內合作的同時(shí)也要考慮對外的競爭。
OpenAI Five 是 OpenAI 團隊針對 Dota 2 研發(fā)的一個(gè)游戲 AI [13],智能體的策略的學(xué)習沒(méi)有使用人類(lèi)玩家的數據、是從零開(kāi)始的(learn from scratch)??紤]游戲中隊內英雄的協(xié)作,基于每個(gè)英雄的分布式控制方式(即每個(gè)英雄都有各自的決策網(wǎng)絡(luò )模型),在訓練過(guò)程中,通過(guò)一個(gè)超參數 “team spirit” 對每個(gè)英雄加權、控制團隊合作,并且使用基于團隊整體行為的獎勵機制來(lái)引導隊內合作??紤]和其他團隊的對抗,在訓練過(guò)程中使用自我對抗的方式(也稱(chēng)為虛擬自我博弈,fictitious self-play, FSP)來(lái)提升策略應對復雜環(huán)境或者是復雜對抗形勢的能力。這種自我對抗的訓練方式,早在 2017 年 OpenAI 就基于 Dota2 進(jìn)行了相關(guān)的研究和分析,并發(fā)現智能體能夠自主地學(xué)習掌握到一些復雜的技能;應用在群體對抗中,能夠提升團隊策略整體對抗的能力。
AlphaStar 是 OpenAI 團隊另一個(gè)針對星際爭霸 2(Starcraft II)研發(fā)的游戲 AI,其中在處理多智能體博弈問(wèn)題的時(shí)候,再次利用了 self-play 的思想并進(jìn)一步改進(jìn),提出了一種聯(lián)盟利用探索的學(xué)習方式(league exploiter discovery)。使用多類(lèi)個(gè)體來(lái)建立一個(gè)聯(lián)盟(league),這些個(gè)體包括主智能體(main agents)、主利用者(main exploiters)、聯(lián)盟利用者(league exploiters)和歷史玩家(past players)四類(lèi)。這幾類(lèi)智能體的策略會(huì )被保存(相當于構建了一個(gè)策略池),在該聯(lián)盟內各類(lèi)智能體按照一定的匹配規則與策略池中的其他類(lèi)智能體的策略進(jìn)行對抗,能夠利用之前學(xué)會(huì )的有效信息并且不斷增強策略的能力,解決普通的自我博弈方法所帶有的 “循環(huán)學(xué)習” 問(wèn)題(“Chasing its tail”)。
圖 12:聯(lián)盟利用者探索(league exploiter discovery)的學(xué)習框架。圖源:[14]
3.2. 多機器人避碰
在現實(shí)生活中,多機器人的應用場(chǎng)景主要是通過(guò)多個(gè)機器人的協(xié)作來(lái)提升系統的性能和效率,此時(shí)多智能體強化學(xué)習的關(guān)注重點(diǎn)主要在于機器人(智能體)之間的合作。
在移動(dòng)機器人方面,自主避障導航是底層應用的關(guān)鍵技術(shù),近幾年通過(guò)強化學(xué)習的方法來(lái)學(xué)習單機器人導航策略這方面的工作成果比較多;而當環(huán)境中存在多個(gè)移動(dòng)機器人同時(shí)向各自目標點(diǎn)移動(dòng)的時(shí)候,需要進(jìn)一步考慮機器人之間的相互避碰問(wèn)題,這也是 MARL 在多機器人導航(multi-robot navigation)領(lǐng)域的主要研究問(wèn)題。Jia Pan 教授團隊 [13] 在控制多機器人避碰導航問(wèn)題上使用了集中式學(xué)習和分布式執行的機制,在學(xué)習過(guò)程中機器人之間共享獎勵、策略網(wǎng)絡(luò )和值函數網(wǎng)絡(luò ),通過(guò)共享的經(jīng)驗樣本來(lái)引導相互之間達成隱式的協(xié)作機制。
圖 13:多機器人向各自目標點(diǎn)移動(dòng)過(guò)程中的相互避碰。倉庫物件分發(fā)是該問(wèn)題的常見(jiàn)場(chǎng)景,多個(gè)物流機器人在向各自指定的目標點(diǎn)移動(dòng)過(guò)程當中,需要避免和倉庫中的其他物流機器人發(fā)生碰撞。圖源:[15]
另外,不僅有機器人和機器人之間的避碰問(wèn)題,有一些工作還考慮到了機器人和人之間的避碰問(wèn)題,如 SA-CADRL(socially aware collision avoidance deep reinforcement learning) 。根據該導航任務(wù)的具體設定(即機器人處在人流密集的場(chǎng)景中),在策略訓練是引入一些人類(lèi)社會(huì )的規則(socially rule),相當于要讓機器人的策略學(xué)習到前面 1.2.3 部分提到顯式的協(xié)調機制,達成機器人與人的行為之間的協(xié)作。
圖 14:左圖展示了相互避碰時(shí)的兩種對稱(chēng)規則,上面為左手規則,下面為右手規則。右圖是在 SA-CADRL 方法中模型引入這樣的對稱(chēng)性信息,第一層中的紅色段表示當前智能體的觀(guān)測值,藍色塊表示它考慮的附近三個(gè)智能體的觀(guān)測值,權重矩陣的對稱(chēng)性是考慮了智能體之間遵循一定規則的對稱(chēng)行為。圖源:[16]
4. 總結
多智能體強化學(xué)習(MARL)是結合了強化學(xué)習和多智能體學(xué)習這兩個(gè)領(lǐng)域的重要研究方向,關(guān)注的是多個(gè)智能體的序貫決策問(wèn)題。本篇文章主要基于智能體之間的關(guān)系類(lèi)型,包括完全合作式、完全競爭式和混合關(guān)系式,對多智能體強化學(xué)習的理論和算法展開(kāi)介紹,并在應用方面列舉了一些相關(guān)的研究工作。在未來(lái),對 MARL 方面的研究(包括理論層面和應用層面)仍然需要解決較多的問(wèn)題,包括理論體系的補充和完善、方法的可復現性、模型參數的訓練和計算量、模型的安全性和魯棒性等 [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).
分析師介紹:
楊旭韻,工程碩士,主要研究方向是強化學(xué)習、模仿學(xué)習以及元學(xué)習?,F從事工業(yè)機器人相關(guān)的技術(shù)研究工作,主要負責機器學(xué)習算法落地應用的工作。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。