多智能體強化學習)
1. 項目概述當多智能體遇上離線強化學習最近在復現(xiàn)和優(yōu)化一些多智能體協(xié)同決策的離線項目時遇到了一個經(jīng)典難題如何讓模型從一堆靜態(tài)的、質(zhì)量參差不齊的歷史交互數(shù)據(jù)中不僅學會單個任務(wù)還能舉一反三同時掌握多個相關(guān)任務(wù)這就像給你一堆過去幾年的足球比賽錄像而且錄像還不全有些場次踢得稀爛要求你訓練出一支既能打防守反擊、又能玩?zhèn)骺貪B透還能適應(yīng)不同對手風格的“全能球隊”。傳統(tǒng)的多智能體強化學習MARL模型在線訓練時可以通過大量試錯來調(diào)整策略但到了離線場景數(shù)據(jù)就那么多模型必須“精打細算”從有限的數(shù)據(jù)中挖掘出時空維度的深層關(guān)聯(lián)和可遷移的通用知識。這正是“STAIRS-Former: Spatio-Temporal Attention with Interleaved Recursive Structure Transformer for Offline Multi-task Multi-agent Reinforcement Learning”這個工作試圖攻克的堡壘。光看名字就知道它是個“大家伙”融合了時空注意力、交錯遞歸結(jié)構(gòu)和Transformer。簡單來說它設(shè)計了一種新的Transformer架構(gòu)專門用來處理離線、多任務(wù)、多智能體這種“地獄難度”的三重挑戰(zhàn)。其核心思想是通過一種交錯遞歸的注意力機制讓模型能夠同時、高效地建模智能體之間的空間交互關(guān)系誰和誰在協(xié)作/對抗以及任務(wù)執(zhí)行過程中的時間依賴關(guān)系上一步行動如何影響下一步從而從靜態(tài)數(shù)據(jù)集中提取出魯棒且可遷移的策略表示。對于從事機器人集群控制、自動駕駛協(xié)同決策、游戲AI或者任何需要從歷史數(shù)據(jù)中學習復雜協(xié)同策略的領(lǐng)域這個思路都極具參考價值。2. 核心架構(gòu)與設(shè)計思路拆解要理解STAIRS-Former我們不能把它看成一個黑盒而是需要拆解其設(shè)計背后的“為什么”。離線多任務(wù)多智能體強化學習Offline Multi-task MARL有幾個核心痛點1數(shù)據(jù)異構(gòu)性數(shù)據(jù)可能來自不同策略、不同任務(wù)分布不一致且可能存在質(zhì)量斷層。2信用分配難題在多智能體環(huán)境中全局的成功或失敗很難精確歸因到單個智能體的某個動作上。3任務(wù)間干擾與負遷移直接混合多任務(wù)數(shù)據(jù)訓練模型容易學到任務(wù)特有的“捷徑”或噪聲導致在某個任務(wù)上表現(xiàn)好在另一個任務(wù)上卻變差即發(fā)生負遷移。4離線約束下的過估計經(jīng)典的離線RL問題Q值過估計在MARL中因智能體間的非平穩(wěn)性而更加嚴重。STAIRS-Former的架構(gòu)設(shè)計正是針對這些痛點進行的“組合拳”回應(yīng)。2.1 交錯遞歸結(jié)構(gòu)解耦時空分層抽象傳統(tǒng)Transformer處理序列數(shù)據(jù)時時間與空間信息往往是耦合在同一個注意力計算中的。對于多智能體軌跡數(shù)據(jù)一個三維張量時間步 × 智能體數(shù) × 特征維度這種做法可能讓模型難以清晰地區(qū)分“某個智能體自身隨時間的變化”和“同一時刻智能體間的相互影響”。STAIRS-Former引入了“交錯遞歸結(jié)構(gòu)”。這個設(shè)計的精妙之處在于“交錯”與“遞歸”?!敖诲e”它并非一次性計算所有時空關(guān)系而是通過多個層級Layer交替進行兩種核心操作空間注意力和時間注意力。例如第一層先計算所有智能體在某一時刻的內(nèi)部關(guān)系空間注意力然后將聚合后的信息沿著時間軸傳遞下一層則專注于單個智能體或智能體組隨時間演變的模式時間注意力再將時間上提煉的信息分發(fā)回空間維度。這種交替進行的方式迫使模型顯式地、分步驟地建模兩種不同類型的依賴關(guān)系降低了學習難度增強了模型的解釋性?!斑f歸”這里的遞歸并非指RNN那樣的循環(huán)而是指這種交錯處理的結(jié)構(gòu)在多個層級間堆疊時形成了信息處理的遞歸深化。淺層可能捕捉到基礎(chǔ)的協(xié)同動作如A和B經(jīng)常同時向左移動而深層則能捕捉到更高級的戰(zhàn)術(shù)模式如A的迂回是為了給B創(chuàng)造射門空間這個模式在多個任務(wù)中通用。遞歸結(jié)構(gòu)允許高級抽象在深度方向上逐步構(gòu)建。注意這種設(shè)計與Swin Transformer中的移位窗口有異曲同工之妙都是通過限制注意力范圍來降低計算復雜度并建立層次化表示。但在STAIRS-Former中“窗口”是在時空維度上被智能體分組和時間塊所定義。2.2 時空注意力機制精準聚焦高效計算在交錯遞歸的框架下空間注意力和時間注意力被專門優(yōu)化??臻g注意力Spatial Attention目標在單個時間步內(nèi)計算所有智能體或智能體分組之間的相互影響。關(guān)鍵是要解決信用分配問題——當前全局狀態(tài)的好壞應(yīng)該如何影響對每個智能體動作的評價實現(xiàn)通常采用基于鍵值對的注意力。每個智能體的觀測或隱藏狀態(tài)作為查詢Query、鍵Key和值Value。注意力權(quán)重的計算決定了其他智能體對當前智能體決策的“貢獻度”。STAIRS-Former可能會引入門控機制或稀疏注意力以防止在智能體數(shù)量眾多時注意力過于分散或被少數(shù)智能體主導。實操心得在實現(xiàn)時空間注意力的計算可以并行化因為同一時間步內(nèi)各智能體的計算是獨立的。我們通常會將智能體維度視為批處理Batch維度的一部分以加速運算。時間注意力Temporal Attention目標針對單個智能體或智能體組建模其狀態(tài)、動作和回報在時間序列上的長期依賴關(guān)系。這對于理解戰(zhàn)術(shù)鏈條、因果推理至關(guān)重要。實現(xiàn)類似于標準的Transformer Decoder但需要處理離線RL的序列決策特性。通常會使用因果掩碼Causal Mask確保當前時間步只能關(guān)注過去和當前的信息符合實際決策過程。同時需要巧妙融入回報Reward和折扣因子Discount信息以體現(xiàn)強化學習的時序累積收益思想。實操心得時間注意力層是離線RL價值函數(shù)估計準確與否的核心。要特別注意位置編碼的設(shè)計對于決策序列除了絕對位置有時加入相對位置編碼或旋轉(zhuǎn)位置編碼RoPE能更好地捕捉動作間的相對時序關(guān)系。2.3 針對多任務(wù)與離線場景的專項設(shè)計架構(gòu)是骨架針對性的設(shè)計才是靈魂。多任務(wù)適配STAIRS-Former通常會在輸入層或某個中間層引入任務(wù)標識符Task ID或任務(wù)條件向量。這個條件信息會參與到注意力權(quán)重的計算或特征調(diào)制中引導模型根據(jù)不同的任務(wù)生成不同的策略。更高級的做法是使用分層注意力底層共享通用技能如移動、避障高層注意力根據(jù)任務(wù)選擇特定的戰(zhàn)術(shù)組合。離線穩(wěn)定性保障這是避免模型在未見數(shù)據(jù)上“幻想”出高價值動作的關(guān)鍵。STAIRS-Former很可能借鑒或融合了保守性Q學習Conservative Q-Learning, CQL、策略約束Policy Constraint或不確定性估計等離線RL技術(shù)的思想。例如在計算目標Q值時加入保守性懲罰項或者在注意力機制中對于數(shù)據(jù)集中未出現(xiàn)過的狀態(tài)智能體組合動作模式給予較低的注意力權(quán)重或直接屏蔽從而抑制外推誤差。3. 模型實現(xiàn)與核心環(huán)節(jié)解析理論需要落地。下面我們以一個簡化的場景——基于離線數(shù)據(jù)學習多個足球防守戰(zhàn)術(shù)如高位逼搶、低位防守、造越位——來拆解STAIRS-Former的實現(xiàn)要點。假設(shè)我們有一批歷史比賽片段數(shù)據(jù)每個片段包含多個時間步每個時間步有所有球員智能體的位置、速度、動作跑動方向、搶斷意圖等和團隊即時獎勵。3.1 輸入表征與嵌入層原始數(shù)據(jù)如坐標、速度需要轉(zhuǎn)化為適合Transformer處理的嵌入向量。這是第一步也是影響模型性能的基礎(chǔ)。智能體特征編碼每個智能體在時間步t的特征包括其自身觀測如位置、速度、體力和可能的部分全局信息如球的位置。這些特征通過一個共享的多層感知機MLP編碼為初始嵌入向量 ( e_i^t )。時間位置編碼使用正弦余弦位置編碼或可學習的位置編碼為每個時間步t添加時序信息得到 ( p^t )。任務(wù)條件編碼對于多任務(wù)我們有一個任務(wù)標簽如“高位逼搶”。這個標簽通過一個獨立的嵌入表轉(zhuǎn)換為任務(wù)條件向量 ( c_{task} )。組合輸入最終輸入到第一層Transformer的序列是[任務(wù)條件向量 時間步1的智能體1嵌入 時間步1的智能體2嵌入 ..., 時間步T的智能體N嵌入]。其中每個智能體嵌入已經(jīng)加上了對應(yīng)的時間位置編碼( h_i^{t, (0)} e_i^t p^t )。任務(wù)條件向量通常放在序列開頭作為全局上下文。注意這里有一個重要技巧。為了在空間注意力中區(qū)分不同智能體我們還需要加入智能體身份編碼Agent ID Encoding這是一個可學習的向量與智能體索引綁定。因此更精確的初始嵌入是( h_i^{t, (0)} e_i^t p^t a_i )其中 ( a_i ) 是智能體i的身份編碼。3.2 交錯遞歸Transformer層詳解假設(shè)我們的STAIRS-Former有L層每層內(nèi)部包含一個空間注意力子層和一個時間注意力子層它們順序執(zhí)行。以第l層為例空間注意力子層輸入該層輸入序列 ( H^{(l-1)} )。重組為了進行空間注意力我們需要將序列從[任務(wù)向量, 時1智1, 時1智2, ..., 時T智N]重組為以時間步為批次的形態(tài)。實際上我們通過張量變形和轉(zhuǎn)置操作在計算時讓注意力機制在“智能體維度”上進行。具體來說對于某個時間步t我們?nèi)〕鏊兄悄荏w在該時間步的隱藏狀態(tài) ( { h_i^{t, (l-1)} }_{i1}^N )。計算對這N個向量應(yīng)用多頭注意力MHA。查詢、鍵、值都來自它們自身。這允許每個智能體根據(jù)其他智能體的狀態(tài)來更新自己的表示。公式可簡化為 [ \tilde{h}_i^{t, (l)} \text{MHA}_S(Qh_i^{t, (l-1)}, K{h_j^{t, (l-1)}}, V{h_j^{t, (l-1)}}) ]輸出得到該時間步下所有智能體經(jīng)過空間交互后的新表示 ( { \tilde{h}i^{t, (l)} }{i1}^N )。對所有時間步并行執(zhí)行此操作。殘差連接與層歸一化( h_i^{t, (l), mid} \text{LayerNorm}(h_i^{t, (l-1)} \tilde{h}_i^{t, (l)}) )。時間注意力子層輸入空間子層輸出的中間表示 ( h_i^{t, (l), mid} )。重組現(xiàn)在我們將焦點轉(zhuǎn)向單個智能體。對于智能體i我們?nèi)〕銎湓谒袝r間步的序列 ( { h_i^{t, (l), mid} }_{t1}^T )。計算對這個長度為T的序列應(yīng)用帶因果掩碼的多頭注意力。這允許智能體i在時間步t時參考其自身過去的歷史來更新當前表示。 [ \hat{h}i^{t, (l)} \text{MHA}T(Qh_i^{t, (l), mid}, K{h_i^{s, (l), mid}}{s \le t}, V{h_i^{s, (l), mid}}{s \le t}) ]輸出得到智能體i在所有時間步上經(jīng)過時間建模后的新表示。殘差連接與層歸一化( h_i^{t, (l)} \text{LayerNorm}(h_i^{t, (l), mid} \hat{h}_i^{t, (l)}) )。前饋網(wǎng)絡(luò)每個子層后通常還跟一個位置式前饋網(wǎng)絡(luò)FFN包含兩個線性變換和一個激活函數(shù)用于增加非線性能力。同樣會有殘差連接和層歸一化。通過L層的這種“空間-時間”交錯處理模型最終輸出高級的時空表征 ( H^{(L)} )。3.3 輸出頭與策略價值函數(shù)STAIRS-Former的編碼器輸出了豐富的表征我們需要利用這些表征來生成策略動作分布和估計價值。策略網(wǎng)絡(luò)Actor通常對于每個智能體i在時間步t我們?nèi)∑渥罱K的隱藏狀態(tài) ( h_i^{t, (L)} )。將其通過一個策略頭一個MLP輸出對應(yīng)動作空間的參數(shù)如高斯分布的均值和方差或離散動作的概率分布。關(guān)鍵點在離線RL中策略網(wǎng)絡(luò)通常被約束接近行為策略生成數(shù)據(jù)集的策略。這可以通過在損失函數(shù)中添加KL散度懲罰來實現(xiàn)或者使用重要性采樣加權(quán)的行為克隆。價值函數(shù)網(wǎng)絡(luò)Critic在MARL中價值函數(shù)可以是每個智能體的局部值函數(shù)Q_i也可以是全局的團隊值函數(shù)Q_tot。STAIRS-Former的結(jié)構(gòu)特別適合學習一個混合的、基于注意力的值函數(shù)。一種常見設(shè)計利用最后一層空間注意力子層計算出的注意力權(quán)重這些權(quán)重天然反映了智能體間的相互重要性。我們可以設(shè)計一個“注意力加權(quán)混合網(wǎng)絡(luò)”每個智能體輸出一個局部Q值 ( q_i )然后利用空間注意力權(quán)重 ( \alpha_{ij} )表示智能體j對i的重要性進行加權(quán)求和得到智能體i的全局Q值感知( Q_i q_i \lambda \sum_{j \neq i} \alpha_{ij} q_j )其中λ是一個可學習或固定的混合系數(shù)。全局團隊Q值則可以是對所有 ( Q_i ) 的某種聚合如求和、最小值等。價值網(wǎng)絡(luò)的學習目標必須包含離線RL的保守性項例如CQL損失以懲罰在數(shù)據(jù)分布外動作的高估。4. 訓練流程與損失函數(shù)設(shè)計STAIRS-Former的訓練是一個多目標優(yōu)化的過程需要平衡策略學習、價值估計、離線約束和多任務(wù)適配。4.1 整體訓練流程數(shù)據(jù)準備收集或擁有一個離線數(shù)據(jù)集 ( D { \tau_k } )每個軌跡 ( \tau ) 包含多個任務(wù)的數(shù)據(jù)并帶有任務(wù)標簽。數(shù)據(jù)格式為(狀態(tài)序列, 聯(lián)合動作序列, 獎勵序列, 終止標志, 任務(wù)ID)。批次采樣從D中隨機采樣一個批次Batch的軌跡片段。由于Transformer處理序列通常采樣固定長度T的連續(xù)片段。前向傳播將批次數(shù)據(jù)輸入STAIRS-Former網(wǎng)絡(luò)得到當前策略網(wǎng)絡(luò)輸出的動作分布參數(shù)以及價值網(wǎng)絡(luò)輸出的Q值。損失計算計算包含以下幾部分的聯(lián)合損失策略損失( L_{actor} )最大化期望回報同時約束策略不要偏離行為策略太遠。常用離線策略梯度算法如AWAC或帶約束的BC。價值損失( L_{critic} )包含標準的時序差分TD誤差損失如MSE損失以及保守性損失如CQL損失。( L_{critic} L_{td} \alpha_{cql} L_{cql} )。任務(wù)鑒別損失可選( L_{task} )為了增強任務(wù)特定表征可以添加一個輔助任務(wù)如根據(jù)中間特征預(yù)測任務(wù)ID這有助于模型分離任務(wù)共享和任務(wù)特有的知識。反向傳播與優(yōu)化計算總損失 ( L_{total} L_{actor} L_{critic} \beta L_{task} ) 的梯度使用Adam等優(yōu)化器更新網(wǎng)絡(luò)參數(shù)。4.2 關(guān)鍵損失函數(shù)剖析以保守Q學習CQL為例其在STAIRS-Former中的融入方式至關(guān)重要。CQL損失的核心思想在價值函數(shù)更新中不僅最小化TD誤差還增加一個正則項這個正則項降低懲罰策略網(wǎng)絡(luò)當前推薦的動作的Q值同時提高獎勵數(shù)據(jù)集中實際出現(xiàn)的動作的Q值。公式簡化如下 [ L_{CQL} \mathbb{E}{s \sim D} \left[ \log \sum_a \exp(Q(s, a)) - \mathbb{E}{a \sim \hat{\pi}(a|s)} [Q(s, a)] \right] ] 其中( \hat{\pi} ) 是行為策略從數(shù)據(jù)集中估計。第一項是“l(fā)ogsumexp”它會對所有動作尤其是高Q值動作產(chǎn)生一個上界起到懲罰作用第二項是數(shù)據(jù)分布下Q值的期望起到提升作用。在MARL中的適配在STAIRS-Former中Q(s, a) 變成了 ( Q_i(o_i, a_i, \mathbf{a}{-i}) ) 或 ( Q{tot}(\mathbf{o}, \mathbf{a}) )。計算CQL損失時需要對所有智能體的聯(lián)合動作空間進行考慮這會導致計算復雜度爆炸。因此實踐中的關(guān)鍵技巧是使用重要性采樣或?qū)χ悄荏w進行因式分解。例如可以假設(shè)行為策略是各智能體獨立的然后分別對每個智能體的局部動作空間應(yīng)用CQL正則項再通過注意力混合網(wǎng)絡(luò)組合起來。這大大降低了計算負擔。4.3 超參數(shù)調(diào)優(yōu)經(jīng)驗訓練STAIRS-Former這類復雜模型超參數(shù)設(shè)置如同駕駛精密儀器。超參數(shù)類別典型值/范圍調(diào)優(yōu)經(jīng)驗與影響模型結(jié)構(gòu)層數(shù)L4~6注意力頭數(shù)8隱藏層維度256~512層數(shù)太淺建模能力不足太深易過擬合且訓練慢。智能體數(shù)多時可適當增加頭數(shù)以捕捉多樣關(guān)系。學習率初始LR3e-4 ~ 1e-5使用余弦退火離線RL對學習率敏感。建議從較小值開始配合熱身Warmup策略。保守性系數(shù)α_cql0.1 ~ 10.0這是最重要的參數(shù)之一。太小無法抑制外推誤差太大會導致策略過于保守、性能下降。需要根據(jù)數(shù)據(jù)集特性數(shù)據(jù)質(zhì)量、覆蓋度仔細網(wǎng)格搜索。批次大小256 ~ 1024較大的批次有助于穩(wěn)定訓練尤其是對于注意力機制。但受限于GPU內(nèi)存。梯度裁剪范數(shù)閾值0.5 ~ 1.0必須使用防止Transformer訓練中的梯度爆炸。折扣因子γ0.99 ~ 0.999取決于任務(wù)的時間尺度。長期依賴強的任務(wù)需要更大的γ。實操心得“先暖身再加速”策略非常有效。先用一個較小的保守系數(shù)α_cql和較高的行為克隆權(quán)重讓策略網(wǎng)絡(luò)快速接近行為策略穩(wěn)定價值網(wǎng)絡(luò)的初期學習。然后逐步增加α_cql引入更強的保守性約束讓模型在安全區(qū)域內(nèi)優(yōu)化策略。這個過程可以手動調(diào)度也可以設(shè)計自適應(yīng)算法。5. 實戰(zhàn)常見問題與排查技巧即便理解了原理和流程在實際編碼和調(diào)試STAIRS-Former時依然會踩很多坑。下面是我從幾個復現(xiàn)項目中總結(jié)出的“避坑指南”。5.1 訓練不收斂或性能震蕩這是最常見的問題可能的原因是多方面的。數(shù)據(jù)預(yù)處理不當癥狀損失值NaN或Q值爆炸式增長/衰減。排查檢查數(shù)據(jù)中是否存在異常值如無窮大、NaN。對連續(xù)狀態(tài)和獎勵進行標準化減去均值除以標準差是必須的。標準化參數(shù)應(yīng)從訓練集計算并應(yīng)用于驗證/測試集。技巧獎勵的尺度對RL訓練影響巨大。如果獎勵范圍過大可以嘗試裁剪Clipping或使用獎勵縮放Reward Scaling將其調(diào)整到一個合理的范圍如[-1, 1]或[0, 1]附近。保守性系數(shù)α_cql設(shè)置錯誤癥狀策略很快變得極其保守完全不采取有意義的行動性能停滯或者策略過于激進在仿真中產(chǎn)生荒謬行為Q值虛高。排查監(jiān)控兩個關(guān)鍵指標a)策略的動作熵如果熵持續(xù)快速下降至接近0說明策略變得確定且保守。b)數(shù)據(jù)集中動作的Q值與策略動作的Q值之間的差距CQL損失旨在拉大這個差距。如果差距沒有變化或反向變化說明α_cql可能無效或符號錯了。技巧實現(xiàn)一個簡單的自適應(yīng)α_cql。設(shè)定一個目標差距target gap例如希望策略動作的Q值比數(shù)據(jù)動作的平均Q值低某個閾值。然后使用PID控制器或簡單的比例控制來動態(tài)調(diào)整α_cqlα_new α_old λ * (current_gap - target_gap)。注意力機制失效癥狀模型性能與不使用注意力的基線模型無異或者注意力權(quán)重趨于均勻分布。排查可視化中間層的注意力權(quán)重圖。對于空間注意力查看在關(guān)鍵決策時刻智能體是否關(guān)注了相關(guān)的伙伴或?qū)κ?。對于時間注意力查看是否關(guān)注了歷史上重要的時刻。技巧在訓練初期可以嘗試對注意力權(quán)重加入輕微的稀疏性鼓勵如L1正則或者使用門控注意力讓模型學會在必要時“關(guān)閉”對某些無關(guān)智能體或時間步的關(guān)注。另外確保智能體身份編碼是可學習的并且有足夠的區(qū)分度。5.2 多任務(wù)間的負遷移模型在任務(wù)A上表現(xiàn)好卻在任務(wù)B上變差這是多任務(wù)學習的老大難問題。任務(wù)條件信息未被有效利用癥狀無論輸入哪個任務(wù)ID模型的行為模式都相似。排查檢查任務(wù)條件向量是否被正確地連接到輸入序列中并且參與了注意力計算例如作為額外的Key/Value。可以嘗試在測試時“篡改”任務(wù)ID觀察策略是否發(fā)生顯著變化。技巧使用條件層歸一化Conditional Layer Norm來代替簡單的向量拼接。將任務(wù)條件向量作為層歸一化中的縮放scale和偏移shift參數(shù)能更有效地將任務(wù)信息注入到每一層特征中。共享參數(shù)與任務(wù)特定參數(shù)的平衡癥狀模型在所有任務(wù)上都表現(xiàn)平庸沒有特長。排查考慮引入更靈活的參數(shù)共享機制。例如采用MoEMixture of Experts風格的設(shè)計。讓STAIRS-Former的某些層如底層的時空注意力由所有任務(wù)共享而頂層的策略/價值輸出頭或者注意力中的某些投影矩陣由任務(wù)特定的“專家”網(wǎng)絡(luò)生成。技巧在損失函數(shù)中加入任務(wù)間差異最大化的輔助損失。鼓勵模型為不同任務(wù)產(chǎn)生盡可能不同的隱藏表征這可以通過對比學習的思想來實現(xiàn)拉大不同任務(wù)樣本在表征空間中的距離。5.3 計算效率與內(nèi)存瓶頸STAIRS-Former的時空注意力計算復雜度與智能體數(shù)N和時間步長T的乘積的平方相關(guān)在大規(guī)模場景下是沉重的負擔。長序列處理問題當軌跡長度T很長時時間注意力的計算和內(nèi)存占用呈O(T2)增長。解決方案分段處理將長軌跡切成重疊的固定長度片段進行訓練在推理時使用滑動窗口。線性注意力研究并應(yīng)用線性復雜度的注意力變體如Linformer、Performer或Linear Transformer它們通過核函數(shù)近似或低秩分解來降低計算量。局部注意力限制時間注意力只關(guān)注最近的一段歷史如過去50步而不是全部歷史。這對許多決策問題來說是合理的。多智能體規(guī)模問題智能體數(shù)量N很大時空間注意力矩陣巨大。解決方案分組注意力將智能體分成若干組如按空間位置就近分組先在組內(nèi)做注意力再在組間做注意力。這借鑒了Swin Transformer的思想??蓪W習稀疏連接并非所有智能體間都需要全連接??梢砸胍粋€可學習的鄰接矩陣或者基于智能體距離的閾值只計算重要連接對的注意力。因子化注意力將聯(lián)合注意力分解為“自我注意力”和“他人注意力”兩部分分別計算后再融合可以降低參數(shù)數(shù)量。調(diào)試心法始終貫徹“分而治之”的原則。先在一個極簡環(huán)境如2個智能體、1個任務(wù)、短軌跡上驗證模型基礎(chǔ)功能前向傳播、梯度回傳和離線學習能力能否避免明顯的外推錯誤。然后逐步增加復雜度增加智能體、增加任務(wù)、延長軌跡。每增加一個維度都仔細觀察訓練曲線和策略表現(xiàn)確保問題被隔離定位。使用大量的日志記錄和可視化工具如TensorBoard來監(jiān)控注意力權(quán)重、Q值分布、策略熵等內(nèi)部狀態(tài)這些是診斷模型“健康”狀況的聽診器。