多智能體強(qiáng)化學(xué)習(xí)算法評估Hard模式來了!浙大、南棲仙策聯(lián)手推出
本文作者來自浙江大學(xué)、中國科學(xué)技術(shù)大學(xué)、中科院自動化所和南棲仙策。作者列表:鄧悅、喻言、馬瑋彧、王子瑞、朱文輝、趙鑒和張寅。第一作者鄧悅是浙江大學(xué)計(jì)算機(jī)系博士生。通訊作者是南棲仙策趙鑒博士和浙江大學(xué)計(jì)算機(jī)系教授張寅。
在人工智能領(lǐng)域,具有挑戰(zhàn)性的模擬環(huán)境對于推動多智能體強(qiáng)化學(xué)習(xí)(MARL)領(lǐng)域的發(fā)展至關(guān)重要。在合作式多智能體強(qiáng)化學(xué)習(xí)環(huán)境中,大多數(shù)算法均通過星際爭霸多智能體挑戰(zhàn)(SMAC)作為實(shí)驗(yàn)環(huán)境來驗(yàn)證算法的收斂和樣本利用率。然而隨著 MARL 算法的不斷進(jìn)步,很多算法在 SMAC 環(huán)境上均表現(xiàn)出接近最優(yōu)的性能,這使得對算法的真實(shí)有效性的評估變得更為復(fù)雜。盡管 SMACv2 環(huán)境在任務(wù)初始化時采用概率生成的方式以削弱開環(huán)控制的特性,但是兩個環(huán)境均是以默認(rèn)的、單一的、且確定的腳本作為對手腳本。這使得智能體學(xué)習(xí)到的策略模型更容易過擬合到某一個對手策略,或利用對手策略的漏洞而擬合到取巧方法上。
圖一:SMACv1(左)和 SMACv2(右)的默認(rèn)腳本。分別為:“操控所有玩家 2 的角色攻擊 Team1 位置” 和 “操控每個玩家 2 的角色攻擊玩家 1 的最近角色”。
為說明默認(rèn)腳本帶來的影響,如下的三個視頻回放分別來自 SMACv1、SMACv2 的默認(rèn)對手策略和合適的對手策略。
在 SMACv1 環(huán)境中,對手 zealot 被仇恨范圍和腳本卡在 Team1 的位置,脫離其他角色的戰(zhàn)斗。
在 SMACv2 環(huán)境中,因?yàn)槟J(rèn)對手策略為攻擊最近角色,對手 zealot 被 stalker 吸引,脫離其他角色的戰(zhàn)斗。
在 SMAC-HARD 中,豐富對手策略給智能體帶來更正常更大的挑戰(zhàn)。
近期,浙江大學(xué)和南棲仙策聯(lián)合推出了基于 SMAC 模擬環(huán)境的 SMAC-HARD 環(huán)境。該環(huán)境支持可編輯的對手策略、隨機(jī)化對手策略以及 MARL 自博弈接口,從而使智能體訓(xùn)練過程能夠適應(yīng)不同的對手行為進(jìn)而提高模型的穩(wěn)定性。此外,智能體還可以通過 SMAC-HARD 環(huán)境完成黑盒測試來評估 MARL 算法的策略覆蓋性和遷移能力,即智能體在訓(xùn)練過程中僅通過與默認(rèn)對手策略或自博弈模型進(jìn)行推演,但在測試過程中與環(huán)境提供的腳本進(jìn)行交互。
團(tuán)隊(duì)在 SMAC-HARD 上對廣泛使用的先進(jìn)算法進(jìn)行了評估,展示了當(dāng)前的 MARL 算法在面對混合可編輯對手策略時會得到更保守的行為價值,進(jìn)而導(dǎo)致策略網(wǎng)絡(luò)收斂到次優(yōu)解。此外,黑盒策略測試也體現(xiàn)了將所學(xué)策略轉(zhuǎn)移到未知對手身上的難度。團(tuán)隊(duì)希望通過推出 SMAC-HARD 環(huán)境來為后續(xù) MARL 算法評估提出新的挑戰(zhàn),并促進(jìn)多智能體系統(tǒng)社區(qū)中自博弈方法的發(fā)展。
- 論文標(biāo)題:SMAC-Hard: Enabling Mixed Opponent Strategy Script and Self-play on SMAC
- 論文地址:https://arxiv.org/abs/2412.17707
- 項(xiàng)目地址:https://github.com/devindeng94/smac-hard
- 知乎鏈接:https://zhuanlan.zhihu.com/p/14397869903
環(huán)境介紹
就源代碼而言,基于 Python 的 pysc2 代碼包是對《星際爭霸 II》二進(jìn)制游戲文件中的 sc2_protocol 的抽象。通過 pysc2 對 sc2_protocolAPI 的抽象,玩家可以操控游戲的進(jìn)程。而 SMAC 框架是通過將 pysc2 的原始觀測數(shù)據(jù)轉(zhuǎn)化為標(biāo)準(zhǔn)化、結(jié)構(gòu)化、向量化的觀測和狀態(tài)表示,進(jìn)一步封裝了 pysc2 提供的 API。因此,《星際爭霸 II》環(huán)境本身既支持來自 SMAC 的標(biāo)準(zhǔn)化動作,也支持由 pysc2 腳本生成的動作,這為對手可編輯腳本提供了支持。如圖二所示,SMAC-HARD 修改了 SMAC 中的地圖(SC2Map)以啟用多玩家模式并禁用了默認(rèn)攻擊策略以防止默認(rèn)腳本策略中的行動干擾。除了對地圖的修改外,對原 SMAC 的 starcraft.py 文件也進(jìn)行了修改,以容納兩個玩家進(jìn)入游戲,檢索兩個玩家的原始觀測數(shù)據(jù),并同時處理兩個玩家的行動。為了減輕行動執(zhí)行順序的影響,環(huán)境對兩名玩家的行動步進(jìn)過程進(jìn)行了并行化處理。
圖二:SMAC-HARD 環(huán)境、對手策略腳本、自博弈接口封裝,與原始 SMAC、PySC2、StarCraftII 的關(guān)系示意圖。
除了為對手提供了決策樹建模外,當(dāng)存在多個對手策略時,環(huán)境還引入了由預(yù)定義概率設(shè)置的隨機(jī)策略選擇功能以提升對手策略的豐富度。這些概率以浮點(diǎn)值列表的形式表示,默認(rèn)設(shè)置為所有策略相等概率。此外,為了進(jìn)一步擴(kuò)大對手的策略豐富度,環(huán)境還根據(jù)智能體的觀測、狀態(tài)和可用行為等的封裝,為對手提供了類似的對稱接口以促進(jìn) MARL 自博弈模式的發(fā)展。用戶可以通過 "mode" 參數(shù)來控制使用自博弈模式或決策樹模式且該模式默認(rèn)為決策樹模式。以此為前提,用戶將 import 中的 smac 更換為 smac_hard,即可將實(shí)驗(yàn)環(huán)境從 SMAC 無縫過渡到 SMAC-HARD。
圖三:由大模型生成雙方策略腳本過程。在對稱的環(huán)境中,最終生成的雙方策略均被采用為可選備受策略。
雖然決策樹在面對不同對手策略時表現(xiàn)出更高的穩(wěn)定性且可以提供更強(qiáng)的可解釋性。參考最近的工作 LLM-SMAC,對手策略的生成可以通過代碼大模型完成以輔助策略腳本編寫。如圖三所示:將角色信息、地圖信息、與任務(wù)描述合成為環(huán)境提示,并利用規(guī)劃大模型為雙方規(guī)劃策略架構(gòu)。雙方分別利用代碼大模型實(shí)現(xiàn)各自的策略架構(gòu),并利用生成的代碼在 SMAC-HARD 中進(jìn)行測評。再利用大模型作為批評家多輪分析測評結(jié)果和代碼,進(jìn)而為規(guī)劃大模型和代碼大模型提供優(yōu)化建議。
測試結(jié)果
經(jīng)過對五個經(jīng)典算法的測試,SMAC-HARD 環(huán)境表現(xiàn)出對基礎(chǔ) MARL 算法更大的挑戰(zhàn)。在最初的 SMAC 任務(wù)中,幾乎所有算法都能在 1000 萬個時間步內(nèi)實(shí)現(xiàn)接近 100% 的勝率,相比之下,SMAC-HARD 則引入了更高的難度和收斂挑戰(zhàn)。例如,如圖四和表一所示,2m_vs_1z 任務(wù)在原始 SMAC 環(huán)境中相對容易,但在 SMAC-HARD 中卻變成了超難任務(wù)。在 SMAC-HARD 中,Zealot 始終以一名 Marine 為目標(biāo),這就要求一名 Marine 負(fù)責(zé)移動躲避傷害,而另一名則專注于攻擊。這使得每個智能體需要連續(xù)做出正確的行為,這對 MARL 算法構(gòu)成了巨大挑戰(zhàn)。
圖四:經(jīng)典算法在 SMAC-HARD 環(huán)境中 10M 步的測試曲線。
表一:經(jīng)典算法在 SMAC-HARD 環(huán)境中 10M 步的測試結(jié)果。
為測試 MARL 算法的策略覆蓋率和遷移能力,SMAC-HARD 提供了黑盒測試模式。MARL 算法面向默認(rèn)對手策略訓(xùn)練 10M 步后再針對混合對手策略進(jìn)行測試,測試結(jié)果如表二所示。值得注意的是:與黑盒評估的勝率隨著任務(wù)難度的增加而增加,在 3s_vs_3z、3s_vs_4z 和 3s_vs_5z 任務(wù)中產(chǎn)生了相反的趨勢。在 Stalker 面對 Zealot 的時候,Stalker 角色可以通過更高的移速來 “風(fēng)箏” Zealot 角色。3s_vs_5z 的環(huán)境更具挑戰(zhàn)性,智能體必須采用嚴(yán)格的 “風(fēng)箏” 機(jī)制這一最優(yōu)的應(yīng)對策略才能獲勝。學(xué)習(xí)到了最佳應(yīng)對策略的智能體更有可能在黑盒測試的對手腳本前取得成功。
表二:經(jīng)典算法在 SMAC 環(huán)境中訓(xùn)練 10M 步后在 SMAC-HARD 的黑盒模式測試結(jié)果。
除此之外,原 SMAC 環(huán)境中對于對手血量和盾量回復(fù)的獎勵結(jié)算錯誤,使得智能體容易陷入最大化獎勵的最優(yōu)解,但是是勝率結(jié)算的次優(yōu)解。而 SMAC 作為實(shí)驗(yàn)環(huán)境已經(jīng)測評了多個算法,所以雖然發(fā)現(xiàn)了 SMAC 的獎勵結(jié)算錯誤,SMAC 也不方便修正使實(shí)驗(yàn)結(jié)果不具備可比性。由于提出了新的測評環(huán)境,SMAC-HARD 修正了這個來自 SMAC 的獎勵結(jié)算 bug。
圖五:SMAC 環(huán)境作者對獎勵結(jié)算問題的回應(yīng)。
總結(jié)
綜上所述,論文針對 SMAC 中使用的單一默認(rèn)對手策略缺乏策略空間的多樣性問題,引入了支持對手腳本編輯、預(yù)定概率混合對手策略、和自博弈接口對齊的 SMAC-HARD 環(huán)境。研究結(jié)果展示,即使是在傳統(tǒng) SMAC 環(huán)境中性能近乎完美的流行的 MARL 算法,在 SMAC-HARD 環(huán)境中也難以保持高勝率。此外,環(huán)境還對使用 MARL 算法訓(xùn)練的模型進(jìn)行了黑盒評估,強(qiáng)調(diào)在面對單一、脆弱的對手策略時,MARL 策略的可轉(zhuǎn)移性有限。最后,環(huán)境將對手方的訓(xùn)練接口與智能體方的訓(xùn)練接口進(jìn)行了對齊,為潛在的 MARL 自博弈領(lǐng)域研究提供了一個平臺。希望 SMAC-HARD 可以作為一個可編輯的且具有挑戰(zhàn)性的環(huán)境,為 MARL 社區(qū)研究做出貢獻(xiàn)。