郭 鑫,王 微,青 偉,李 劍,何召鋒
(北京郵電大學(xué),北京 100088)
從智能機(jī)器人[1],交通信號(hào)控制[2],動(dòng)態(tài)頻譜分配[3],到智能電網(wǎng)經(jīng)濟(jì)調(diào)度[4],實(shí)時(shí)競(jìng)價(jià)[5]等眾多領(lǐng)域,多智能體強(qiáng)化學(xué)習(xí)算法都取得了不錯(cuò)的成果。但在復(fù)雜的場(chǎng)景下,使用強(qiáng)化學(xué)習(xí)的方法仍然具有挑戰(zhàn)性。因?yàn)楝F(xiàn)實(shí)世界的復(fù)雜性,訓(xùn)練時(shí)和測(cè)試時(shí)的環(huán)境通常會(huì)發(fā)生一些變化,這樣的環(huán)境要求智能體具有泛化到不可見狀態(tài)的能力。近年來(lái),在解決多智能體強(qiáng)化學(xué)習(xí)泛化性方面,學(xué)者們也做了大量研究。
深度確定性策略梯度算法(M3DDPG)[6]、值的極小化極大化算法(Qmixmax)[7]、Romax[8]等采用了極小極大化的思想考慮最壞情況并優(yōu)化最小化目標(biāo)。此外,文獻(xiàn)[9]將基于核的強(qiáng)化學(xué)習(xí)與深度強(qiáng)化學(xué)習(xí)結(jié)合起來(lái),文獻(xiàn)[10]通過(guò)多數(shù)投票決定每個(gè)智能體的行動(dòng),而忽略了智能體間的交互。文獻(xiàn)[11]中多智能體深度確定性策略算法(MADDPG)隨機(jī)使用訓(xùn)練的多個(gè)策略網(wǎng)絡(luò)。但是這些方法計(jì)算量太大,局限性強(qiáng),沒(méi)有發(fā)揮不同策略的優(yōu)勢(shì)。
該文關(guān)注到集成方法在泛化性方面的優(yōu)越性能,提出基于人類偏好的角色策略集成方法。主要貢獻(xiàn)在于:
(1)將多智能體強(qiáng)化學(xué)習(xí)與集成方法結(jié)合,使得智能體學(xué)習(xí)多種策略,在不同情況應(yīng)用不同的策略,充分發(fā)揮各策略的優(yōu)勢(shì),有效提升了智能體的泛化性。
(2)結(jié)合生命史理論和集成算法,綜合考慮短期利益和長(zhǎng)期回報(bào),解決了訓(xùn)練中過(guò)度探索和無(wú)效訓(xùn)練的問(wèn)題,使得智能體能快速找到最優(yōu)策略。
(3)提出角色參數(shù)共享機(jī)制,相比于傳統(tǒng)的全部智能體共享參數(shù),創(chuàng)新在于為智能體動(dòng)態(tài)地劃分角色,同角色的智能體共享參數(shù)。該方法不僅提高了效率,而且實(shí)現(xiàn)了多智能體算法的可擴(kuò)展性。
(4)在包含合作、競(jìng)爭(zhēng)和混合場(chǎng)景的多智能體粒子環(huán)境中,實(shí)驗(yàn)結(jié)果表明該算法相比現(xiàn)有多智能體強(qiáng)化學(xué)習(xí)算法在泛化能力和訓(xùn)練速度方面都有很大的提升。
通常,多智能體強(qiáng)化學(xué)習(xí)過(guò)程可以表示為馬爾可夫博弈[12],記作(N,S,O1,…,ON,A1,…,AN,Γ,R1,…,RN),包括智能體集合i∈N={1,2,…,N}、狀態(tài)空間S、聯(lián)合觀測(cè)空間O,以及聯(lián)合動(dòng)作空間A。智能體i僅可得到關(guān)于當(dāng)前狀態(tài)S的局部觀測(cè)Oi。轉(zhuǎn)移函數(shù)Γ定義了基于當(dāng)前狀態(tài)和動(dòng)作所能到達(dá)的下一狀態(tài)的分布S×A→S';而S×A×S'→R定義了智能體i在t時(shí)刻接收到的獎(jiǎng)賞函數(shù)。算法的學(xué)習(xí)目標(biāo)是找到一組使每個(gè)智能體均可獲得最大累計(jì)獎(jiǎng)賞Ri的策略π=(π1,π2,…,πN),γ是折扣因子,T是一個(gè)執(zhí)行周期的步長(zhǎng)。
在集成算法中,多個(gè)策略被訓(xùn)練,然后智能體從它們集成的多個(gè)候選動(dòng)作中選擇動(dòng)作。集成方法起源于單智能體強(qiáng)化學(xué)習(xí),例如利用Q值函數(shù)、網(wǎng)絡(luò)結(jié)構(gòu)和策略的集成。文獻(xiàn)[13]提出了各種聚合動(dòng)作的方法來(lái)幫助智能體選擇更好的行動(dòng),如多數(shù)投票、加權(quán)投票、等級(jí)投票、波爾茲曼乘法等。Bootstrapped DQN[14]、UCB[15]、DBDDPG[16]等通過(guò)集成Q值使智能體擁有更好的動(dòng)作。之后,集成的方法不斷發(fā)展,在多智能體強(qiáng)化學(xué)習(xí)中也開展了大量研究。文獻(xiàn)[9]將基于核的強(qiáng)化學(xué)習(xí)與深度強(qiáng)化學(xué)習(xí)結(jié)合起來(lái),整合了兩種算法的優(yōu)點(diǎn)。文獻(xiàn)[10]通過(guò)智能體的多數(shù)投票決定智能體的行動(dòng)。文獻(xiàn)[11]使用多個(gè)行動(dòng)-評(píng)估(actor-critic)結(jié)構(gòu),并在每個(gè)事件中隨機(jī)選擇其中之一。文獻(xiàn)[17-19]也將集成方法應(yīng)用在多智能體系統(tǒng)中。
本節(jié)首先介紹了基于人類偏好的策略集成方法,然后根據(jù)肯德爾系數(shù),介紹了角色共享參數(shù)機(jī)制的細(xì)節(jié)。該方法的概述如圖1所示。
圖1 基于人類偏好的多智能體角色策略集成方法
集成學(xué)習(xí)通過(guò)結(jié)合多個(gè)策略完成學(xué)習(xí)任務(wù)。傳統(tǒng)的集成學(xué)習(xí)方法通過(guò)隨機(jī)、大多數(shù)投票,均值等機(jī)制獲得唯一的結(jié)果,但這些方法都沒(méi)有發(fā)揮每個(gè)策略的優(yōu)勢(shì)。在這部分,將介紹如何發(fā)揮每個(gè)策略的優(yōu)勢(shì)使得訓(xùn)練更快,效果更好。
(1)
依據(jù)生命史理論[20-21],考慮到即時(shí)獎(jiǎng)勵(lì)的重要性,從這M個(gè)較大的長(zhǎng)期回報(bào)內(nèi)選擇具有最大的即時(shí)獎(jiǎng)勵(lì)的動(dòng)作,如下式所示:
(2)
其中,ki為智能體選擇的動(dòng)作對(duì)應(yīng)的策略的下標(biāo)。之后,在更新階段,智能體的M套策略只需要隨著每次的選擇更新ki策略,如下式:
(3)
(4)
由于訓(xùn)練階段可以隨意取得每一個(gè)動(dòng)作的即時(shí)獎(jiǎng)勵(lì),但測(cè)試階段無(wú)法輕易獲得即時(shí)獎(jiǎng)勵(lì),為了解決這一問(wèn)題,該文提出了一個(gè)輔助預(yù)測(cè)獎(jiǎng)勵(lì)網(wǎng)絡(luò)。該網(wǎng)絡(luò)為多層感知器網(wǎng)絡(luò),通過(guò)訓(xùn)練階段的即時(shí)獎(jiǎng)勵(lì)訓(xùn)練網(wǎng)絡(luò)對(duì)于每一個(gè)動(dòng)作的預(yù)測(cè)值。其損失函數(shù)如下式所示:
(5)
針對(duì)智能體學(xué)習(xí)多個(gè)策略引發(fā)的計(jì)算消耗大的問(wèn)題,本算法引入角色共享機(jī)制解決該問(wèn)題。角色被理解為接受信息、加工信息和發(fā)送信息的抽象對(duì)象。角色參數(shù)共享機(jī)制認(rèn)為:角色是按照策略執(zhí)行行為的統(tǒng)一體,所以將策略相近的智能體劃分為同一角色。在這部分,將介紹如何利用肯德爾系數(shù),衡量智能體之間的相關(guān)性,然后智能體動(dòng)態(tài)地劃分為不同的角色,同角色的智能體學(xué)習(xí)和使用同一套策略。
智能體間的相關(guān)性可通過(guò)分析它們的即時(shí)獎(jiǎng)勵(lì)的序列的相關(guān)性得到。例如:智能體i和智能體k的即時(shí)獎(jiǎng)勵(lì)的序列如下式:
(6)
肯德爾系數(shù)的計(jì)算公式如下式所示:
(7)
定義1 強(qiáng)相關(guān):設(shè)定閾值G,如果兩個(gè)智能體的肯德爾系數(shù)值大于閾值G,則定義這兩個(gè)智能體具有強(qiáng)相關(guān)性。
定義2 最大相關(guān):對(duì)于智能體i,計(jì)算相關(guān)性。通過(guò)最大值T(i,k)得到智能體i和智能體k有最大相關(guān)性。
如果兩個(gè)智能體的肯德爾系數(shù)值同時(shí)滿足定義1和定義2,則這兩個(gè)智能體被劃分為同一角色,學(xué)習(xí)和使用同一套策略。
在基于人類偏好的多智能體角色策略集成算法中,訓(xùn)練階段,同角色的智能體共同訓(xùn)練M個(gè)策略網(wǎng)絡(luò)以及一個(gè)輔助預(yù)測(cè)獎(jiǎng)勵(lì)網(wǎng)絡(luò)。更新階段,只更新執(zhí)行動(dòng)作的策略網(wǎng)絡(luò)。在測(cè)試評(píng)估階段,由于集中訓(xùn)練和分散式執(zhí)行,通過(guò)輔助預(yù)測(cè)獎(jiǎng)勵(lì)網(wǎng)絡(luò)選擇動(dòng)作。算法流程具體如算法1所示。
算法1 基于人類偏好的多智能體角色策略集成(HPMARPE)算法。
初始化:具有N個(gè)智能體的E個(gè)并行環(huán)境,經(jīng)驗(yàn)回放緩沖區(qū)D,策略網(wǎng)絡(luò)π,輔助預(yù)測(cè)獎(jiǎng)勵(lì)網(wǎng)絡(luò)f。
(1)for episode=1toN,進(jìn)行迭代:
(2)fort=1 toT,進(jìn)行迭代:
(3)form=1 toM:
(6)結(jié)束
(7)選擇動(dòng)作和策略
(8)執(zhí)行行動(dòng),智能體得到獎(jiǎng)勵(lì)r,同時(shí)轉(zhuǎn)移到新狀態(tài)st+1
(9)將(o,a,r,k,o')存入經(jīng)驗(yàn)回放緩沖區(qū)
(10)for agent=1 ton,進(jìn)行迭代:
(11)采樣經(jīng)驗(yàn)(o,a,r,k,o')
(12)更新策略網(wǎng)絡(luò)
(13)通過(guò)最小化損失Lr更新網(wǎng)絡(luò)f
(14)結(jié)束
(15)更新目標(biāo)網(wǎng)絡(luò):
(16)結(jié)束
(17)結(jié)束
該文采用的是多智能體粒子環(huán)境[11]。在合作、競(jìng)爭(zhēng)、混合場(chǎng)景下分別進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)用到的場(chǎng)景如圖2所示。
圖2(a)為漫游者-塔的合作場(chǎng)景。該任務(wù)包含N+M個(gè)智能體,L個(gè)目標(biāo)地,其中包含N個(gè)漫游者,M個(gè)塔。漫游者和塔隨機(jī)配對(duì),漫游者的目標(biāo)是到達(dá)正確的目的地,然而不知道目的地的位置,配對(duì)的塔指揮漫游者到達(dá)指定的目標(biāo)地,依據(jù)他們與正確的目標(biāo)地的距離獲得獎(jiǎng)勵(lì)。
圖2(b)為捕食者-獵物的競(jìng)爭(zhēng)場(chǎng)景。在該場(chǎng)景下,速度較快的捕食者追逐速度較慢的獵物。每當(dāng)捕食者追逐到獵物時(shí),獵物受到懲罰,捕食者獲得獎(jiǎng)勵(lì)。
圖2(c)為物理欺騙的混合場(chǎng)景。在該場(chǎng)景中,N個(gè)智能體相互合作對(duì)抗敵對(duì)智能體,他們的目標(biāo)都是到達(dá)目的地,但敵對(duì)智能體不知道目的地在哪。合作的智能體中只要有一個(gè)到達(dá)目的地,則所有智能體獲得獎(jiǎng)勵(lì),敵對(duì)智能體受到懲罰。
圖2 多智能體粒子環(huán)境
為了驗(yàn)證所提的基于人類偏好的多智能體角色策略集成(HPMARPE)模型的泛化性和可擴(kuò)展性,該文與DIRS-V[10]、MADDPG-S[11]、MADDPG-R[11]進(jìn)行比較。
(1)DIRS-V:在該方法中,每個(gè)智能體通過(guò)所有智能體的多數(shù)投票決定每個(gè)智能體的行動(dòng)。
(2)MADDPG-S:該方法為多智能體深度確定性策略算法,每個(gè)智能體僅訓(xùn)練一個(gè)策略。
(3)MADDPG-R:針對(duì)智能體的泛化性問(wèn)題,該方法同樣提出策略集合的思想,每個(gè)智能體訓(xùn)練多個(gè)策略,優(yōu)化策略集合的整體效果,在測(cè)試時(shí),隨機(jī)選用其中的子策略。
為了驗(yàn)證算法的有效性,本節(jié)主要從泛化性、訓(xùn)練效率、可擴(kuò)展性來(lái)對(duì)比評(píng)估算法的優(yōu)越性。
(1)智能體的泛化性。
為了驗(yàn)證該方法訓(xùn)練的智能體的泛化性,將訓(xùn)練多次得到的智能體的策略隨機(jī)組合進(jìn)行測(cè)試,以此來(lái)評(píng)估智能體在面對(duì)其他智能體新的策略時(shí)的性能。競(jìng)爭(zhēng)、合作、混合場(chǎng)景下實(shí)驗(yàn)結(jié)果分別展示在表1~表3中。表1展示了獵物被捕捉的次數(shù),從表中可看出,經(jīng)過(guò)HPMARPE訓(xùn)練的智能體對(duì)抗使用單一的策略的敵對(duì)智能體時(shí),整體取得了最好的效果。表2展示了合作場(chǎng)景下的漫游者距離目的地的距離,距離越小,效果越好。從表中可知,合作的智能體都使用基于人類偏好的多智能體角色策略集成算法(HPMARPE)時(shí),智能體配合良好,取得了最好的效果。這是符合預(yù)期的結(jié)果。表3顯示的是復(fù)雜的混合場(chǎng)景下智能體和敵對(duì)智能體的成功率,差值越大,效果越好。與競(jìng)爭(zhēng)和合作環(huán)境下的實(shí)驗(yàn)結(jié)果相一致,在該場(chǎng)景,合作的智能體使用HPMARPE對(duì)抗單一策略的智能體會(huì)取得最好的效果。
表1 捕食者-獵物場(chǎng)景下的測(cè)試結(jié)果
表2 合作場(chǎng)景下的測(cè)試結(jié)果
表3 混合場(chǎng)景下的測(cè)試結(jié)果
綜上,使用集成策略的智能體優(yōu)于使用單一策略的智能體。然而,使用基于人類偏好的策略集成方法的智能體又顯著優(yōu)于使用其他策略集成的智能體。
(2)角色參數(shù)共享方法的性能。
圖3為算法中不同的角色參數(shù)共享下的訓(xùn)練結(jié)果。閾值G對(duì)智能體的角色劃分起著重要作用。為了研究該方法在不同的閾值G下的影響,分別設(shè)G=0、0.3、0.5、0.7和1.0。G=1.0意味著每個(gè)智能體都是一個(gè)單獨(dú)的角色,這時(shí)算法為無(wú)共享機(jī)制,所有智能體學(xué)習(xí)自己的多個(gè)策略。而G=0表示所有智能體同屬于一個(gè)角色,共享同一套策略。從圖3可以看出,G=0.7時(shí)算法在圖中取得了最佳性能。事實(shí)上,過(guò)小的閾值G將一些弱相關(guān)的智能體歸入同一角色,這使得智能體共享一些模糊的策略,因此妨礙了他們的學(xué)習(xí)。過(guò)大的閾值G會(huì)把智能體分成多個(gè)角色,每個(gè)智能體訓(xùn)練數(shù)據(jù)單一,這使得它很難達(dá)到最優(yōu)性能。上述的實(shí)驗(yàn)結(jié)果表明采用一個(gè)合適的閾值G,一方面會(huì)避免無(wú)效訓(xùn)練,另一方面增加了數(shù)據(jù)的多樣性,從而算法性能獲得提升,因此需要適當(dāng)?shù)拈撝礕將智能體進(jìn)行分類。
圖3 角色劃分的影響
(3)訓(xùn)練效率。
此外,角色參數(shù)共享機(jī)制還影響了算法的訓(xùn)練效率,從圖3不同閾值下算法的收斂變化比較中可以看出,G=0.7時(shí)算法最先達(dá)到收斂,大概在10 000迭代次數(shù)左右,G=0.5時(shí)算法在20 000迭代次數(shù)左右收斂,其余閾值下,20 000步之后仍然未達(dá)到收斂。這是因?yàn)?合適的閾值下,同角色下的不同智能體共同學(xué)習(xí)和訓(xùn)練,使得學(xué)習(xí)效率大大提高,從而可以在更少的迭代次數(shù)下收斂。該實(shí)驗(yàn)結(jié)果驗(yàn)證了角色參數(shù)共享機(jī)制可以有效提升訓(xùn)練效率。
(4)可擴(kuò)展性。
為了檢驗(yàn)角色參數(shù)共享方法在可擴(kuò)展性方面的影響,在訓(xùn)練環(huán)境上學(xué)習(xí)模型,在智能體數(shù)量與訓(xùn)練環(huán)境不同的場(chǎng)景上對(duì)學(xué)習(xí)到的策略進(jìn)行測(cè)試,沒(méi)有額外的再訓(xùn)練,以此來(lái)確定該方法的可擴(kuò)展性。表4顯示了在合作場(chǎng)景中的實(shí)驗(yàn)結(jié)果,表中N*N代表環(huán)境中的智能體數(shù)量。實(shí)驗(yàn)結(jié)果表明:當(dāng)測(cè)試環(huán)境中智能體的數(shù)量增加時(shí),該方法(HPMARPE)顯著優(yōu)于MADDPG,其成功率只有小幅波動(dòng),而MADDPG方法訓(xùn)練的智能體成功率大幅下降,且智能體數(shù)量增加越多,性能下降越多。這是因?yàn)?在該方法中,當(dāng)環(huán)境中新增智能體時(shí),該智能體依據(jù)自己的目標(biāo)和動(dòng)作的獎(jiǎng)勵(lì)值確定所屬角色,從而可以采用該角色在訓(xùn)練環(huán)境下學(xué)習(xí)與訓(xùn)練的多套策略,在不同情況下做出不同的應(yīng)對(duì),以此來(lái)保持性能穩(wěn)定。
表4 合作場(chǎng)景下的可擴(kuò)展性測(cè)試結(jié)果
(5)超參數(shù)的影響。
為進(jìn)一步評(píng)估策略集成方法的影響,圖4顯示了在合作場(chǎng)景中不同數(shù)量的策略進(jìn)行集成的實(shí)驗(yàn)結(jié)果。K是策略的數(shù)量,不同數(shù)量的策略使智能體有不同規(guī)模的行動(dòng)集。從結(jié)果中可以看出,設(shè)置過(guò)大的K對(duì)性能的影響很小。此外,如果策略的數(shù)量大于動(dòng)作空間的尺寸,它甚至?xí)?dǎo)致性能下降。
圖4 合作場(chǎng)景中策略數(shù)量的影響
該文研究了多智能體強(qiáng)化學(xué)習(xí)的泛化性問(wèn)題,提出了一種基于人類偏好的多智能體角色策略集成算法。該方法首先使用基于人類偏好的策略集成的思路,綜合考慮即時(shí)獎(jiǎng)勵(lì)和長(zhǎng)期回報(bào),解決了智能體策略改變引發(fā)的泛化性問(wèn)題,同時(shí)提出角色參數(shù)共享機(jī)制,根據(jù)歷史行動(dòng)的即時(shí)獎(jiǎng)勵(lì)將智能體動(dòng)態(tài)分為不同的角色,智能體按角色共享參數(shù),減少計(jì)算資源的同時(shí)實(shí)現(xiàn)了可擴(kuò)展性。該算法在多智能體粒子環(huán)境的多個(gè)場(chǎng)景上進(jìn)行了實(shí)驗(yàn),與其他現(xiàn)有的方法相比,在泛化性和訓(xùn)練效率上,都有極大的提高。