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