姜成怡
四川大學(xué) 電子信息學(xué)院 四川 成都 610065
近年來(lái),一系列經(jīng)典的深度強(qiáng)化學(xué)習(xí)算法[1]被研究者們相繼提出,并在許多控制任務(wù)中取得了重大成功。2017年,Open AI團(tuán)隊(duì)提出了一種經(jīng)典的多智能體深度強(qiáng)化學(xué)習(xí)算法,稱作MADDPG[2],MADDPG的重要貢獻(xiàn)是提出了一種中心化訓(xùn)練-去中心化執(zhí)行(Centralized Training And Decentralized Execution,CTDE)的訓(xùn)練框架。采用CTDE訓(xùn)練時(shí),每個(gè)智能體在訓(xùn)練過(guò)程中對(duì)群體中其他智能體始終保持著等同的關(guān)注。
事實(shí)上,在真實(shí)世界里,智能體并不需要一直關(guān)注其他所有智能體的信息,而應(yīng)該動(dòng)態(tài)地關(guān)注有利于完成群體任務(wù)的高相關(guān)智能體的信息。2019年,Iqba S等人提出了MAAC算法[3],他們用全連接神經(jīng)網(wǎng)絡(luò)來(lái)編碼每個(gè)智能體的觀測(cè)和動(dòng)作,然后通過(guò)自注意力機(jī)制[4]計(jì)算出其他智能體編碼信息的相關(guān)性大小,達(dá)到動(dòng)態(tài)關(guān)注高相關(guān)智能體的效果。但是,MAAC算法忽視了每個(gè)智能體的觀測(cè)是多種信息的組合,包括自身的速度、位置、與其他智能體的相對(duì)位置等,直接用全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行編碼同樣意味著等同地利用觀測(cè)中的每一種信息。但事實(shí)上,每個(gè)智能體的觀測(cè)中,每種信息對(duì)當(dāng)前智能體的策略評(píng)估都具有不同的相關(guān)性。因此,MAAC算法存在誤判智能體編碼信息相關(guān)性大小的風(fēng)險(xiǎn),這會(huì)導(dǎo)致群體學(xué)到一個(gè)次優(yōu)的協(xié)同策略。
針對(duì)該問(wèn)題,本文提出了一種具有兩級(jí)注意力機(jī)制的訓(xùn)練架構(gòu)。在MAAC訓(xùn)練架構(gòu)的基礎(chǔ)上,用一種參數(shù)量更少的自注意力模型來(lái)重構(gòu)其編碼模塊,最后在合作導(dǎo)航場(chǎng)景中驗(yàn)證了本文的算法具有顯著的性能優(yōu)勢(shì)。
本文采用了2020年谷歌團(tuán)隊(duì)提出的Synthesizer注意力模型[5]來(lái)重構(gòu)MAAC中的編碼模塊,得到具有兩級(jí)注意力機(jī)制的訓(xùn)練架構(gòu),如圖1所示。
圖1 基于兩級(jí)注意力機(jī)制的算法訓(xùn)練架構(gòu)
重構(gòu)后的編碼模塊結(jié)構(gòu)如圖1左邊紅色方框中所示。需要注意的是,由于每個(gè)智能體的觀測(cè)包含多種信息,在計(jì)算注意力權(quán)重時(shí),如果精確到每一種信息的注意力權(quán)重,那么每一種信息都需要構(gòu)造神經(jīng)網(wǎng)絡(luò),這無(wú)疑需要龐大的算力。因此,本文采用了一種靈活的處理方式:對(duì)io進(jìn)行分片,計(jì)算每個(gè)片段的注意力權(quán)重。以計(jì)算編碼信息為例,將io分片后,對(duì)每個(gè)分片分別用一個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)提取value向量,圖中黃色箭頭v1,...,v4即表示提取每個(gè)分片value向量的神經(jīng)網(wǎng)絡(luò),同樣采用智能體間共享網(wǎng)絡(luò)參數(shù)的方式來(lái)促進(jìn)群體在具有共同環(huán)境特征的情況下有效學(xué)習(xí)。在提取value向量的同時(shí),將所有分片依次輸入兩個(gè)全連接神經(jīng)網(wǎng)絡(luò)MLP,輸出每個(gè)分片的注意力權(quán)重值。得到每個(gè)分片的注意力權(quán)重值后,進(jìn)行Softmax歸一化,接著與每個(gè)分片的value向量進(jìn)行加權(quán)求和,最終得到io的編碼。上述編碼過(guò)程可以用以下公式表示:
其中,α表示通過(guò)g1,g2這兩個(gè)神經(jīng)網(wǎng)絡(luò)計(jì)算得到的每個(gè)分片的相關(guān)性大小,v表示每個(gè)分片的value拼接起來(lái)的特征向量,h表示激活函數(shù)。
經(jīng)上述過(guò)程處理,編碼信息中高相關(guān)特征得到了增強(qiáng),低相關(guān)特征則被弱化,再將該編碼信息輸入自注意力模塊,將極大提高每個(gè)智能體信息相關(guān)性的計(jì)算準(zhǔn)確性。
為了更好地分析注意力機(jī)制為算法性能提升帶來(lái)的具體表現(xiàn),本文額外對(duì)MAAC算法進(jìn)行了消融,探究移除其自注意力模塊后的無(wú)注意力機(jī)制方法的性能表現(xiàn)。本文采用3個(gè)隨機(jī)種子在Open AI團(tuán)隊(duì)提供的基準(zhǔn)合作導(dǎo)航場(chǎng)景中進(jìn)行了3次實(shí)驗(yàn),對(duì)比3種算法的性能。
該場(chǎng)景中有3個(gè)智能體和3個(gè)地標(biāo),智能體和地標(biāo)的初始位置隨機(jī)分布,智能體的任務(wù)目標(biāo)是學(xué)會(huì)協(xié)同的占領(lǐng)所有地標(biāo),同時(shí),智能體在運(yùn)動(dòng)過(guò)程中還要學(xué)會(huì)避免相互碰撞。
統(tǒng)計(jì)訓(xùn)練過(guò)程中群體每回合完成任務(wù)的次數(shù)以及群體每回合的碰撞次數(shù),結(jié)果如圖2所示。圖中陰影區(qū)域表示3次實(shí)驗(yàn)的標(biāo)準(zhǔn)差,實(shí)曲線表示均值。
從圖2中可以看出,本文提出的兩級(jí)注意力機(jī)制訓(xùn)練架構(gòu)Double_Attention在各項(xiàng)指標(biāo)上均表現(xiàn)最優(yōu),而無(wú)注意力機(jī)制方法No_Attention則表現(xiàn)最差。另外,值得注意的是,觀察8000至18000回合中,No_Attention方法的群體每回合碰撞次數(shù)反而更低,優(yōu)于MAAC算法。這正好印證了本文的推斷:MAAC算法的編碼方式會(huì)導(dǎo)致對(duì)相關(guān)性的判斷出現(xiàn)偏差,限制群體發(fā)現(xiàn)更優(yōu)的策略,而No_Attention則相當(dāng)于等同地關(guān)注所有智能體的信息,反而有利于群體的行為協(xié)同,減少了碰撞,而Double_Attention則有效緩解了該問(wèn)題。
圖2 群體每回合完成任務(wù)次數(shù)(左)、群體每回合碰撞次數(shù)(右)
本文針對(duì)在多智能體合作系統(tǒng)中,目前最先進(jìn)的MAAC算法訓(xùn)練架構(gòu)的編碼方式可能導(dǎo)致智能體對(duì)其他智能體的關(guān)注產(chǎn)生偏差,進(jìn)而限制群體發(fā)現(xiàn)更優(yōu)策略的問(wèn)題,提出了一種具有兩級(jí)注意力機(jī)制的算法訓(xùn)練架構(gòu),并額外對(duì)MAAC算法進(jìn)行消融參與到算法對(duì)比中。最后在合作導(dǎo)航場(chǎng)景中驗(yàn)證了本文提出的算法具有顯著的優(yōu)勢(shì)。