自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

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

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

1. 強(qiáng)化學(xué)習(xí)和多智能體強(qiáng)化學(xué)習(xí)

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

圖 1:強(qiáng)化學(xué)習(xí)的框架(同時(shí)也表示了馬爾科夫決策過程)。圖源:[1]

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

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

在馬爾科夫博弈中,所有智能體根據(jù)當(dāng)前的環(huán)境狀態(tài)(或者是觀測值)來同時(shí)選擇并執(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)移概率,表示損失因子。此時(shí),某個(gè)智能體 i 獲得的累積獎勵的期望可以表示為:

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

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

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

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

個(gè)體的目標(biāo)一致性:各智能體的目標(biāo)可能是最優(yōu)的全局回報(bào);也可能是各自局部回報(bào)的最優(yōu);

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

1.2 多智能體問題的求解——多智能體強(qiáng)化學(xué)習(xí)算法介紹

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

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

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

在式子中,V 和 Q 省略了智能體 i 的下標(biāo),是因?yàn)樵诹愫筒┺闹性O(shè)定了 Q1=-Q2,所以上式對于另一個(gè)智能體來說是對稱等價(jià)的。這個(gè)值函數(shù)表明,當(dāng)前智能體在考慮了對手策略的情況下使用貪心選擇。這種方式使得智能體容易收斂到納什均衡策略。

在學(xué)習(xí)過程中,基于強(qiáng)化學(xué)習(xí)中的 Q-learning 方法,minimax Q-learning 利用上述 minimax 思想定義的值函數(shù)、通過迭代更新 Q 值;動作的選擇,則是通過線性規(guī)劃來求解當(dāng)前階段狀態(tài) s 對應(yīng)的納什均衡策略。

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

圖 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),此時(shí) minimax Q-learning 方法可擴(kuò)展為 Nash Q-learning 方法。當(dāng)每個(gè)智能體采用普通的 Q 學(xué)習(xí)方法,并且都采取貪心的方式、即最大化各自的 Q 值時(shí),這樣的方法容易收斂到納什均衡策略。Nash Q-learning 方法可用于處理以納什均衡為解的多智能體學(xué)習(xí)問題。它的目標(biāo)是通過尋找每一個(gè)狀態(tài)的納什均衡點(diǎn),從而在學(xué)習(xí)過程中基于納什均衡策略來更新 Q 值。

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

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

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

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

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

不需要協(xié)作機(jī)制

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

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

隱式的協(xié)作機(jī)制

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

利用泰勒二階展開,得到

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

顯式的協(xié)作機(jī)制

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

2. 多智能體深度強(qiáng)化學(xué)習(xí)

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

2.1 policy-based 的方法

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

每個(gè)子策略的更新梯度為:

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)
AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

圖 8:(a) COMA 方法中的 actor-critic 框架圖,(b) actor 的網(wǎng)絡(luò)結(jié)構(gòu),(c) critic 的網(wǎng)絡(luò)結(jié)構(gòu)(包含了核心的 COMA 模塊來提供優(yōu)勢函數(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)出理想的策略。并且僅依靠局部觀測值,無法判斷當(dāng)前獎勵是由于自身的行為還是環(huán)境中其他隊(duì)友的行為而獲得的。

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

圖 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è)體的觀測值作為輸入,使用循環(huán)神經(jīng)網(wǎng)絡(luò)來保留和利用歷史信息,輸出個(gè)體的局部 Qi 值。

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)
AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

3.1. 游戲應(yīng)用

分步對抗游戲

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

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

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

在訓(xùn)練的第二個(gè)階段,通過強(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í)行的動作。

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

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

OpenAI Five 是 OpenAI 團(tuán)隊(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)練過程中,通過一個(gè)超參數(shù) “team spirit” 對每個(gè)英雄加權(quán)、控制團(tuán)隊(duì)合作,并且使用基于團(tuán)隊(duì)整體行為的獎勵機(jī)制來引導(dǎo)隊(duì)內(nèi)合作。考慮和其他團(tuán)隊(duì)的對抗,在訓(xùn)練過程中使用自我對抗的方式(也稱為虛擬自我博弈,fictitious self-play, FSP)來提升策略應(yīng)對復(fù)雜環(huán)境或者是復(fù)雜對抗形勢的能力。這種自我對抗的訓(xùn)練方式,早在 2017 年 OpenAI 就基于 Dota2 進(jìn)行了相關(guān)的研究和分析,并發(fā)現(xiàn)智能體能夠自主地學(xué)習(xí)掌握到一些復(fù)雜的技能;應(yīng)用在群體對抗中,能夠提升團(tuán)隊(duì)策略整體對抗的能力。

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

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

AlphaGo原來是這樣運(yùn)行的,一文詳解多智能體強(qiáng)化學(xué)習(xí)

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

4. 總結(jié)

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

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心Pro
相關(guān)推薦

2023-08-28 06:52:29

2022-12-14 07:32:40

InnoDBMySQL引擎

2018-04-02 15:13:21

網(wǎng)絡(luò)

2024-04-30 08:22:51

Figma圖形編輯變換矩陣

2023-02-15 08:17:38

2025-02-17 09:22:16

MySQLSQL語句

2022-05-05 08:55:12

工業(yè)物聯(lián)網(wǎng)IIoT

2024-02-06 09:30:25

Figma矩形矩形物理屬性

2023-05-22 15:58:11

2017-07-18 10:16:27

強(qiáng)化學(xué)習(xí)決策問題監(jiān)督學(xué)習(xí)

2020-05-26 08:52:36

Java JVM多態(tài)

2021-03-05 15:03:36

算法強(qiáng)化學(xué)習(xí)技術(shù)

2020-11-24 06:20:02

Linux日志文件系統(tǒng)

2016-10-12 08:54:24

2022-07-11 11:14:47

強(qiáng)化學(xué)習(xí)AI基于模型

2025-02-07 16:15:27

2014-07-21 10:32:52

蘋果公司實(shí)習(xí)

2017-03-27 16:35:23

2021-09-10 16:31:56

人工智能機(jī)器學(xué)習(xí)技術(shù)

2022-08-26 14:44:32

強(qiáng)化學(xué)習(xí)AI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號