項(xiàng)目地址盒让,本篇是算法篇,另可參閱實(shí)習(xí)感受底桂。
本項(xiàng)目主要是將深度強(qiáng)化學(xué)習(xí)(RL)中的MADDPG——混合競(jìng)爭(zhēng)合作環(huán)境下的多智體評(píng)論家算法接入到暴雪公司和Deepmind發(fā)布的針對(duì)星際爭(zhēng)霸2的SC2LE環(huán)境下泉懦。本wiki介紹了該項(xiàng)目用到的基礎(chǔ)算法——MADDPG算法片部,以及其在RL中的算法基礎(chǔ)涤姊。
強(qiáng)化學(xué)習(xí)(RL)
強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)區(qū)別于監(jiān)督式學(xué)習(xí)和無(wú)監(jiān)督式學(xué)習(xí)的一種新的學(xué)習(xí)方式暇番。其他機(jī)器學(xué)習(xí)算法中學(xué)習(xí)器都是學(xué)怎么做,而在強(qiáng)化學(xué)習(xí)中思喊,是在嘗試的過(guò)程中學(xué)習(xí)到在特定的情境下選擇哪種行動(dòng)可以得到最大的回報(bào)壁酬。在很多場(chǎng)景中,當(dāng)前的行動(dòng)不僅會(huì)影響當(dāng)前的回報(bào)搔涝,還會(huì)影響之后的狀態(tài)和一系列的回報(bào)厨喂。
RL與監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)的比較:
- 有監(jiān)督的學(xué)習(xí)的訓(xùn)練集中庄呈,每個(gè)樣本的觀測(cè)值都已經(jīng)有了標(biāo)簽(label)。進(jìn)行學(xué)習(xí)派阱,訓(xùn)練集中每一個(gè)樣本的特征可以視為是對(duì)該狀態(tài)(state)的描述诬留,而標(biāo)簽(label)可以視為是應(yīng)該執(zhí)行的正確的決策或動(dòng)作(action)。一個(gè)簡(jiǎn)單的例子就是通過(guò)一些已有標(biāo)簽(label)的腫瘤數(shù)據(jù)中贫母,根據(jù)腫瘤的大小文兑、形狀等特征(features)判讀腫瘤是良性還是惡性的。但是有監(jiān)督的學(xué)習(xí)不能學(xué)習(xí)交互的情景腺劣,因?yàn)樵诮换サ膯?wèn)題中獲得期望行為的樣例是非常不實(shí)際的绿贞,智能體(agent)只能從自己的經(jīng)歷(experiment)中進(jìn)行學(xué)習(xí),而經(jīng)歷(experiment)中采取的行為并不一定是最優(yōu)的橘原。這時(shí)利用強(qiáng)化學(xué)習(xí)(RL)就非常合適籍铁,因?yàn)閺?qiáng)化學(xué)習(xí)(RL)不是利用正確的行為來(lái)指導(dǎo),而是利用已有的訓(xùn)練信息來(lái)對(duì)行為進(jìn)行評(píng)價(jià)趾断。
- 無(wú)監(jiān)督學(xué)習(xí)是指在缺乏足夠的先驗(yàn)知識(shí)的情況下拒名,讓計(jì)算機(jī)能代我們完成這些工作,或至少提供一些幫助芋酌。根據(jù)類別未知(沒(méi)有被標(biāo)記)的訓(xùn)練樣本解決模式識(shí)別中的各種問(wèn)題增显,稱之為無(wú)監(jiān)督學(xué)習(xí)。一個(gè)例子就是雞尾酒聚會(huì)中背景音樂(lè)和說(shuō)話聲音的提取脐帝,因?yàn)槭孪炔⒉恢纼煞N聲音同云,沒(méi)有標(biāo)簽(label)糖权。因?yàn)閺?qiáng)化學(xué)習(xí)(RL)利用的并不是采取正確行動(dòng)的經(jīng)歷(experiment),從這一點(diǎn)來(lái)看和無(wú)監(jiān)督的學(xué)習(xí)確實(shí)有點(diǎn)像炸站。但無(wú)監(jiān)督的學(xué)習(xí)的目的可以說(shuō)是從一堆未標(biāo)記樣本中發(fā)現(xiàn)隱藏的結(jié)構(gòu)温兼,而強(qiáng)化學(xué)習(xí)(RL)的目的是最大化回報(bào)(reward)。
- 總的來(lái)說(shuō)武契,強(qiáng)化學(xué)習(xí)(RL)與其他機(jī)器學(xué)習(xí)算法不同的地方在于:其中沒(méi)有監(jiān)督者募判,只有一個(gè)回報(bào)(reward)信號(hào);反饋是延遲的咒唆,不是立即生成的届垫;時(shí)間在強(qiáng)化學(xué)習(xí)(RL)中具有重要的意義;智能體(agent)的行為會(huì)影響之后一系列的回報(bào)(reward)全释。 一個(gè)很容易理解的強(qiáng)化學(xué)習(xí)的例子如前一段時(shí)間風(fēng)靡一時(shí)的Alpha Go装处。這個(gè)機(jī)器下圍棋的時(shí)候,機(jī)器為了贏得比賽需要在每一次做出決策浸船,是選擇往哪里走妄迁,然后得到的反饋并不是像監(jiān)督學(xué)習(xí)一樣的對(duì)或者錯(cuò),這個(gè)反饋跟最后能否贏得比賽關(guān)系在現(xiàn)在看還不明朗李命。這需要機(jī)器去不斷重復(fù)學(xué)習(xí)登淘,然后改進(jìn)下棋過(guò)程。
強(qiáng)化學(xué)習(xí)基本算法
Value-Based(或Q-Learning)基于價(jià)值的方法和Policy-Based(或Policy Gradients)基于策略的方法是強(qiáng)化學(xué)習(xí)中最重要的兩類方法封字。Value-Based是預(yù)測(cè)某個(gè)狀態(tài)(state)下所有策略或動(dòng)作(action)的期望價(jià)值——Q值黔州,之后通過(guò)選擇最大Q值對(duì)應(yīng)的策略或動(dòng)作(action)執(zhí)行策略,適合僅有少量離散取值的策略或動(dòng)作(action)的環(huán)境阔籽。Policy-Based是直接預(yù)測(cè)某個(gè)狀態(tài)(state)下應(yīng)該采取的策略或動(dòng)作(action)流妻,適合高維連續(xù)策略或動(dòng)作(action)的環(huán)境,更通用笆制。
強(qiáng)化學(xué)習(xí)的主要挑戰(zhàn)
正如上文所言绅这,在監(jiān)督學(xué)習(xí)中,每個(gè)訓(xùn)練示例都有一個(gè)目標(biāo)標(biāo)簽(label)在辆;在非監(jiān)督學(xué)習(xí)中证薇,則沒(méi)有任何標(biāo)簽(label);而在強(qiáng)化學(xué)習(xí)中开缎,則有稀疏的棕叫、延時(shí)的標(biāo)簽(label)——獎(jiǎng)勵(lì)(reward)。僅僅基于這些獎(jiǎng)勵(lì)(reward)奕删,代理人必須學(xué)會(huì)在環(huán)境中策略和行動(dòng)(action)俺泣。
強(qiáng)化學(xué)習(xí)的巨大挑戰(zhàn)主要體現(xiàn)在以下兩方面:
- 信貸分配問(wèn)題(credit assignment problem):有時(shí)候一瞬間得到的獎(jiǎng)勵(lì)(reward)來(lái)自一個(gè)長(zhǎng)期的策略——就像是我們通過(guò)一學(xué)期的努力得到了期末的成績(jī)一樣,如何把得到的最終獎(jiǎng)勵(lì)(reward)分配給之前的策略和行為(action)?
- 探索和利用困境(explore-exploit dilemma):當(dāng)我們已經(jīng)有了一定的經(jīng)驗(yàn)(experimence)伏钠,這時(shí)候我們就面臨著一個(gè)種權(quán)衡——是繼續(xù)堅(jiān)持之前的策略還是進(jìn)行一下探索横漏?
信貸分配問(wèn)題(credit assignment problem)的解決辦法往往是通過(guò)貼現(xiàn)未來(lái)回報(bào)(discounted future reward)的計(jì)算來(lái)實(shí)現(xiàn)的:。其中貼現(xiàn)參數(shù)γ應(yīng)該根據(jù)環(huán)境的決定性來(lái)設(shè)定熟掂。
探索和利用困境(explore-exploit dilemma)往往是通過(guò)貪心ε算法(ε-greedy exploration)處理的和經(jīng)驗(yàn)重放(experiment replay)缎浇。貪心ε算法大致就是進(jìn)行決策時(shí),生成一個(gè)ε概率的隨機(jī)方向赴肚,用來(lái)探索素跺。而經(jīng)驗(yàn)重發(fā)的策略不是選取最近的一批來(lái)重放,為了避免達(dá)到局部最優(yōu)誉券,經(jīng)驗(yàn)重放選擇了一小批隨機(jī)經(jīng)驗(yàn)進(jìn)行重放指厌。
深度Q學(xué)習(xí)算法
基于價(jià)值的方法——Q函數(shù)
Q函數(shù)定義為在t時(shí)刻、狀態(tài)下踊跟,我們執(zhí)行了動(dòng)作的最大貼現(xiàn)未來(lái)回報(bào)(maximum discounted future reward):踩验。可以直觀理解Q代表的含義成商玫,在t時(shí)刻箕憾、狀態(tài)下,我們執(zhí)行了動(dòng)作之后拳昌,游戲結(jié)束時(shí)刻我們將要得到的最好分?jǐn)?shù)袭异。盡管我們無(wú)法在狀態(tài)下就得到Q函數(shù)的具體值,我們之后可以通過(guò)其他方法求得——這有點(diǎn)像隱性函數(shù)的求解地回。考慮一個(gè)狀態(tài)轉(zhuǎn)化扁远,我們可以表示Q函數(shù)為形似Bellman方程的形式:。這說(shuō)明我們可以通過(guò)迭代進(jìn)行求解刻像。
Q值的儲(chǔ)存
通常把Q函數(shù)的值儲(chǔ)存為一個(gè)矩陣:
Q(1,1) | Q(1,2) | Q(1,3) | |
Q(2,1) | Q(2,2) | Q(2,3) | |
Q(3,1) | Q(3,2) | Q(3,3) |
雖然這樣表示十分直觀方便,但是考慮到星際爭(zhēng)霸游戲環(huán)境下狀態(tài)和動(dòng)作的種類之多并闲,用矩陣表示顯然是耗費(fèi)計(jì)算力的细睡。
深度Q神經(jīng)網(wǎng)絡(luò)
為了探索Q函數(shù)方法的更廣法應(yīng)用,我們引入了深度Q神經(jīng)網(wǎng)絡(luò)(DQN)的概念帝火。神經(jīng)網(wǎng)絡(luò)特別擅長(zhǎng)為高度結(jié)構(gòu)化的數(shù)據(jù)提供良好的特性溜徙。我們可以用神經(jīng)網(wǎng)絡(luò)來(lái)表示Q函數(shù),它以狀態(tài)(四個(gè)游戲屏幕)和動(dòng)作作為輸入和輸出相應(yīng)的Q值犀填。
DQN的損失函數(shù)是蠢壹。
具體操作是:
- 對(duì)當(dāng)前狀態(tài)s進(jìn)行前饋傳遞,得到所有動(dòng)作的預(yù)測(cè)值
- 對(duì)下一個(gè)狀態(tài)s進(jìn)行前饋傳遞九巡,并計(jì)算最大網(wǎng)絡(luò)輸出
- 將目標(biāo)動(dòng)作的Q值設(shè)置為图贸;對(duì)于所有其他操作,設(shè)置Q值為1.得到的預(yù)測(cè)值,返回這些輸出的誤差為0
- 使用反向傳播更新權(quán)值
偽代碼
Q學(xué)習(xí)過(guò)程的偽代碼如下:
% 初始化
初始化經(jīng)驗(yàn)重放內(nèi)存D
隨機(jī)初始化狀態(tài)疏日、動(dòng)作的Q(s,a)值
初始化狀態(tài)s
while(每一個(gè)輪次)
··% 選擇執(zhí)行行動(dòng)
··選擇并執(zhí)行Q值最大的動(dòng)作a(以ε的概率選擇一個(gè)隨機(jī)策略)
··觀察獎(jiǎng)勵(lì)r和之后的狀態(tài)s'
··把存儲(chǔ)到經(jīng)驗(yàn)重放內(nèi)存中
··% 訓(xùn)練DQN網(wǎng)絡(luò)
··從經(jīng)驗(yàn)重放內(nèi)存D中偿洁,隨機(jī)選取一批狀態(tài)轉(zhuǎn)化
··計(jì)算每一小批的目標(biāo)Q值
····如果ss'是終點(diǎn)狀態(tài),tt=rr
····否則沟优,
··以損失來(lái)訓(xùn)練深度Q網(wǎng)絡(luò)
··s=s'
end
策略梯度算法
基于策略的方法——策略梯度
基于值的方法一般是確定性的涕滋,給定一個(gè)狀態(tài)就能計(jì)算出每種可能動(dòng)作的獎(jiǎng)勵(lì)(確定值),但這種確定性的方法恰恰無(wú)法處理一些現(xiàn)實(shí)的問(wèn)題挠阁,比如玩100把石頭剪刀布的游戲宾肺,最好的解法是隨機(jī)的使用石頭、剪刀和布并盡量保證這三種手勢(shì)出現(xiàn)的概率一樣侵俗,因?yàn)槿魏我环N手勢(shì)的概率高于其他手勢(shì)都會(huì)被對(duì)手注意到并使用相應(yīng)的手勢(shì)贏得游戲锨用。
另外,過(guò)多的狀態(tài)數(shù)量也是使用基于值的方法的一個(gè)限制因素坡慌,因?yàn)榛谥档姆椒ㄐ枰4鏍顟B(tài)-動(dòng)作的對(duì)應(yīng)關(guān)系黔酥,因此很多現(xiàn)實(shí)問(wèn)題(例如機(jī)器人控制和自動(dòng)駕駛都是連續(xù)動(dòng)作空間)都因?yàn)榫蘖康臓顟B(tài)而無(wú)法計(jì)算。
策略梯度利用隨機(jī)(stochastic)解決上面的兩個(gè)問(wèn)題產(chǎn)生的洪橘,它能提供服從某種概率分布的隨機(jī)非確定的結(jié)果跪者,策略梯度不計(jì)算獎(jiǎng)勵(lì)而是使用概率選擇動(dòng)作,這樣就避免了因?yàn)橛?jì)算獎(jiǎng)勵(lì)而維護(hù)狀態(tài)表熄求。策略梯度的基本原理是通過(guò)反饋調(diào)整策略渣玲,具體來(lái)說(shuō)就是在得到正向獎(jiǎng)勵(lì)時(shí),增加相應(yīng)的動(dòng)作的概率弟晚;得到負(fù)向的獎(jiǎng)勵(lì)時(shí)忘衍,降低相應(yīng)動(dòng)作的概率。用一個(gè)概率分布函數(shù)找到每一步的最優(yōu)策略卿城,其中為策略函數(shù)的參數(shù)枚钓。
策略梯度學(xué)習(xí)(PG)
利用策略梯度的方法,目標(biāo)就是訓(xùn)練出參數(shù)瑟押,讓獎(jiǎng)勵(lì)的期望值最大:搀捷。
采用梯度上升的方法,對(duì)參數(shù)θ求偏導(dǎo):多望。
根據(jù)偏導(dǎo)數(shù)性質(zhì)嫩舟,。
所以
怀偷。
由于策略產(chǎn)生的是非確定的動(dòng)作家厌,因此相同策略在多輪次中會(huì)產(chǎn)生不同的軌跡,為了避免個(gè)體的偏差椎工,我們需要多次取樣并取均值來(lái)提高準(zhǔn)確性饭于,所以蜀踏,。
因此镰绎,我們就得到了可計(jì)算的目標(biāo)函數(shù)的導(dǎo)數(shù)脓斩,在輪次的反向傳播 (back propagation) 中使用學(xué)習(xí)率與的乘積作為差值更新:
確定性策略梯度學(xué)習(xí)(DPG)
確定性的行為策略,每一步的行為通過(guò)函數(shù)μ直接獲得確定的值:畴栖,函數(shù)μ即最優(yōu)行為策略随静,不再是一個(gè)需要采樣的隨機(jī)策略。確定性策略梯度學(xué)習(xí)節(jié)省了最優(yōu)策略概率分布進(jìn)行采樣時(shí)吗讶,獲得行為需要耗費(fèi)的計(jì)算力燎猛。
深度確定性梯度下降(DDPG)
DDPG算法融合了Q函數(shù)和策略梯度的基礎(chǔ)思想,采用卷積神經(jīng)網(wǎng)絡(luò)作為策略函數(shù)μ和回報(bào)函數(shù)Q
的模擬照皆,即策略μ網(wǎng)絡(luò)和價(jià)值Q網(wǎng)絡(luò)重绷;然后使用深度學(xué)習(xí)的方法來(lái)訓(xùn)練上述神經(jīng)網(wǎng)絡(luò),訓(xùn)練的目標(biāo)是使Q網(wǎng)絡(luò)的L盡可能小膜毁、使μ網(wǎng)絡(luò)的J盡可能大昭卓。
Q網(wǎng)絡(luò)和策略網(wǎng)絡(luò)
如果只使用單個(gè)神經(jīng)網(wǎng)絡(luò)的算法,學(xué)習(xí)過(guò)程很不穩(wěn)定瘟滨,因?yàn)镼網(wǎng)絡(luò)的參數(shù)在頻繁的梯度變換的同時(shí)候醒,又用于計(jì)算Q網(wǎng)絡(luò)和μ網(wǎng)絡(luò)的梯度≡尤常基于此倒淫,DDPG分別為μ網(wǎng)絡(luò)、Q網(wǎng)絡(luò)各創(chuàng)建兩個(gè)神經(jīng)網(wǎng)絡(luò)拷貝,一個(gè)叫做online败玉,一個(gè)叫做target敌土。
優(yōu)點(diǎn)在于target網(wǎng)絡(luò)參數(shù)變化小,用于在訓(xùn)練過(guò)程中計(jì)算online網(wǎng)絡(luò)的梯度运翼,比較穩(wěn)定返干,訓(xùn)練易于收斂。代價(jià)是參數(shù)變化小血淌,學(xué)習(xí)過(guò)程變慢犬金。
DDPG圖解
DDPG偽代碼
% 初始化
初始化經(jīng)驗(yàn)重放內(nèi)存R
隨機(jī)初始化Qonline網(wǎng)絡(luò)和策略online網(wǎng)絡(luò)的參數(shù)和,其中μ網(wǎng)絡(luò)作為critic網(wǎng)絡(luò)六剥,Q網(wǎng)絡(luò)作為actor網(wǎng)絡(luò)
分別復(fù)制兩個(gè)網(wǎng)絡(luò)(參數(shù)復(fù)制),生成target網(wǎng)絡(luò)
while(每一輪次)
··% 選擇執(zhí)行行動(dòng)
··UO初始化噪音峰伙,用于探索策略
··初始化狀態(tài)
··while(輪次中的每一刻)
····根據(jù)策略μ網(wǎng)絡(luò)和策略探索選擇和執(zhí)行策略
····觀察獎(jiǎng)勵(lì)r和之后的狀態(tài)
····把存儲(chǔ)到經(jīng)驗(yàn)重放內(nèi)存中
····% 訓(xùn)練網(wǎng)絡(luò)
····從經(jīng)驗(yàn)重放內(nèi)存D中疗疟,隨機(jī)選取一批N個(gè)狀態(tài)轉(zhuǎn)化
····設(shè)置
····更新Q網(wǎng)絡(luò),梯度下降損失函數(shù)
····更新策略網(wǎng)絡(luò)瞳氓,梯度上升函數(shù)
····軟更新兩個(gè)target網(wǎng)絡(luò)
··結(jié)束
結(jié)束
多智體深度確定性梯度下降(MADDPG)
為了將強(qiáng)化學(xué)習(xí)的概念應(yīng)用更具有挑戰(zhàn)性的情景下策彤,如多個(gè)機(jī)器人控制、語(yǔ)言交流、多玩家游戲等多智體競(jìng)爭(zhēng)與合作問(wèn)題店诗。在這個(gè)項(xiàng)目中裹刮,我們采用了Deepmind發(fā)布的MADDPG算法,用于該星際爭(zhēng)霸2環(huán)境一個(gè)特定場(chǎng)景的訓(xùn)練庞瘸。
傳統(tǒng)的算法用于多智能體環(huán)境下具有以下困難:
- Q-learning會(huì)受到環(huán)境不穩(wěn)定性的挑戰(zhàn):每個(gè)智能體都在變化捧弃,而且每個(gè)智能體的角度來(lái)看,環(huán)境都會(huì)變得不穩(wěn)定擦囊。
- 策略梯度(PG)方法在智能體數(shù)目增多時(shí)违霞,會(huì)有variance變大的問(wèn)題。
DDPG結(jié)合了Q學(xué)習(xí)算法和Actor-Critic的思想瞬场,MADDPG沿用了這個(gè)思想买鸽。
多智體Actor-Critic
我們通過(guò)采用分散執(zhí)行,集中訓(xùn)練的框架來(lái)實(shí)現(xiàn)我們的目標(biāo)贯被。若N個(gè)智能體(actor)的策略集合分別是眼五,策略參數(shù)分別為,那么智能體i的策略梯度為:
是一個(gè)是一個(gè)集中的動(dòng)作值函數(shù)彤灶,它將所有智能體的動(dòng)作和狀態(tài)X(包含每個(gè)智能體的觀測(cè)值和一些附加狀態(tài)信息)作為輸入看幼,然后輸出Q值。每個(gè)智能體的Q值是分開的枢希,智能體有不同的獎(jiǎng)勵(lì)機(jī)制桌吃。
擴(kuò)展到確定性策略,考慮N個(gè)多智體的策略苞轿,參數(shù)為(縮寫為)茅诱,那么梯度為:
經(jīng)驗(yàn)重放緩沖區(qū)D包括元組,記錄了所有智能體的經(jīng)驗(yàn)搬卒,集中動(dòng)作值函數(shù)按如下方式更新:瑟俭,,其中是延遲參數(shù)的目標(biāo)策略集合契邀。
其他智能體的策略推測(cè)
為了推測(cè)其他智能體策略摆寄,每個(gè)智能體可以額外保有一個(gè)與智能體j的真實(shí)策略有關(guān)的近似值,這個(gè)近似策略通過(guò)最大化智能體j的動(dòng)作對(duì)數(shù)概率加上一個(gè)熵正則化項(xiàng)來(lái)進(jìn)行學(xué)習(xí):,其中H是策略分布的熵坯门。
那么微饥,集中動(dòng)作值函數(shù)更新時(shí),可以用古戴。其中用表示策略的目標(biāo)網(wǎng)絡(luò)欠橘。
智能體的策略集成
多智能體強(qiáng)化學(xué)習(xí)中的一個(gè)反復(fù)的問(wèn)題是由于智能體不斷變化的策略而導(dǎo)致的環(huán)境非平穩(wěn)性。競(jìng)爭(zhēng)環(huán)境下尤其如此现恼,因?yàn)橹悄荏w可以通過(guò)過(guò)度適應(yīng)競(jìng)爭(zhēng)對(duì)手的行為而獲得很強(qiáng)的策略肃续。這樣的策略是不可取的黍檩,因?yàn)樗鼈兒艽嗳酰?dāng)競(jìng)爭(zhēng)對(duì)手改變策略時(shí)就可能會(huì)失敗始锚。
為了獲得對(duì)競(jìng)爭(zhēng)智能體策略變化更魯棒的多智能體策略刽酱,我們提出了對(duì)K個(gè)不同的子策略進(jìn)行匯總。在每個(gè)回合的博弈中瞧捌,我們?yōu)槊總€(gè)智能體隨機(jī)地選擇一個(gè)特定的子策略執(zhí)行棵里。假設(shè)策略是K個(gè)子策略的集合,子策略K由表示察郁,對(duì)于智能體衍慎,我們的最大集成化目標(biāo)是:。
由于不同的子策略將在不同的博弈回合中執(zhí)行皮钠,因此我們?yōu)橹悄荏wi的每個(gè)子策略維護(hù)一個(gè)重播緩沖區(qū)稳捆。因此,我們可以導(dǎo)推出集成的目標(biāo)值關(guān)于的梯度:
參考
前人工作
【1】星際爭(zhēng)霸2人工智能研究環(huán)境SC2LE初體驗(yàn)
【2】邁向通用人工智能:星際爭(zhēng)霸2人工智能研究環(huán)境SC2LE完全入門指南
參考網(wǎng)頁(yè)
【2】DNQ介紹
【3】Intel——DNQ
【4】MADDPG論文翻譯
【5】MADDPG官方文檔
【7】DDPG詳解