習(xí)在無人機編隊節(jié)能協(xié)作中的應(yīng)用與實踐)
1. 項目概述當(dāng)無人機編隊遇上“自私”的智能體最近在折騰一個挺有意思的項目核心是解決一個聽起來有點矛盾的問題如何讓一群各自為戰(zhàn)、只關(guān)心自己“小算盤”個體獎勵的無人機在完成一個共同的大任務(wù)時還能聰明地省電。這其實就是“面向任務(wù)的無人機網(wǎng)絡(luò)”中一個典型的“能量感知多智能體強化學(xué)習(xí)”問題。我們常說的MARL多智能體強化學(xué)習(xí)聽起來高大上但真放到無人機編隊這種動態(tài)、資源受限的環(huán)境里挑戰(zhàn)就全來了。每個無人機智能體都只根據(jù)自己看到的局部信息做決策目標(biāo)是最大化自己的長期回報比如盡快飛到目標(biāo)點、減少與其他無人機的碰撞風(fēng)險。但如果大家都只顧自己飛得爽整個機群的隊形可能就散了任務(wù)完不成電量也嘩嘩地掉。所以這個項目的精髓就在于“Scaling up”和“Energy-Aware”。前者意味著我們要把算法從實驗室的模擬小規(guī)模推到能應(yīng)對幾十上百架無人機的大場面后者則要求我們在設(shè)計獎勵函數(shù)時必須把能量消耗這個硬約束給“烙”進每個智能體的決策邏輯里讓它們從“自私”的本能中自發(fā)地學(xué)會協(xié)作和節(jié)能。這可不是簡單的算法調(diào)參而是一整套從架構(gòu)設(shè)計、訓(xùn)練策略到工程實現(xiàn)的系統(tǒng)工程。下面我就結(jié)合自己的實踐拆解一下這里面的門道。2. 核心思路與架構(gòu)設(shè)計從集中訓(xùn)練到分散執(zhí)行要讓一群“自私”的無人機學(xué)會高效協(xié)作最經(jīng)典的思路莫過于“集中式訓(xùn)練分布式執(zhí)行”這個范式。聽起來有點繞其實道理很簡單訓(xùn)練的時候我們開“上帝視角”讓一個中央大腦Critic網(wǎng)絡(luò)能看到所有無人機的狀態(tài)和動作從而學(xué)習(xí)評估全局價值但真正執(zhí)行任務(wù)時每架無人機只用自己的“小腦”Actor網(wǎng)絡(luò)根據(jù)自己看到的局部環(huán)境來做決策完全獨立不依賴中央指揮。2.1 為什么選擇CTDE架構(gòu)在無人機網(wǎng)絡(luò)這種場景下CTDE幾乎是必然選擇。首先完全分布式的學(xué)習(xí)每個智能體獨立學(xué)自己的策略容易陷入非平穩(wěn)環(huán)境的問題——你的鄰居策略一直在變對你來說環(huán)境就是劇烈波動的很難收斂。其次完全集中式的控制在實際中不現(xiàn)實通信延遲和帶寬限制會讓中央控制器成為瓶頸。CTDE巧妙地折中了訓(xùn)練階段利用全局信息學(xué)出好的策略執(zhí)行階段去中心化保證了可擴展性和魯棒性。在我們的項目中這個中央大腦Critic的輸入就包含了所有無人機的觀測信息位置、速度、剩余電量等和聯(lián)合動作。它的任務(wù)是學(xué)習(xí)一個全局的Q值函數(shù)用來指導(dǎo)每個“小腦”Actor的更新。而每個Actor只接收自己本地的觀測比如前方障礙物距離、目標(biāo)點方位、自身電量輸出一個動作指令如加速、轉(zhuǎn)向、懸停。2.2 個體獎勵與全局目標(biāo)的融合藝術(shù)項目的另一個關(guān)鍵詞是“Individual Reward”。這意味著我們不給無人機設(shè)計一個統(tǒng)一的“團隊獎”而是為每架無人機量身定制獎勵函數(shù)。這更符合現(xiàn)實——每架無人機的任務(wù)可能略有不同比如偵察不同區(qū)域其能量狀態(tài)和位置也獨一無二。一個典型的個體獎勵函數(shù)可能包含以下幾項需要進行加權(quán)求和任務(wù)進度獎勵與目標(biāo)點的距離縮短時給予正獎勵。碰撞懲罰與其他無人機或障礙物距離過近時給予大的負(fù)獎勵。能量消耗懲罰這是一個關(guān)鍵。我們不能只用一個簡單的負(fù)常數(shù)。更精細(xì)的做法是將獎勵與瞬時功耗關(guān)聯(lián)起來。例如懸停功耗、平飛功耗、加速功耗是不同的。我們可以建立一個簡單的功耗模型功耗 基礎(chǔ)功耗 k1*速度 k2*加速度^2。然后在每一步將歸一化的負(fù)功耗作為懲罰項融入獎勵。這樣無人機就會自發(fā)地選擇更節(jié)能的飛行策略比如勻速飛行而非頻繁加減速。隊形保持獎勵可選如果編隊飛行很重要可以加入一項獎勵鼓勵無人機與其理想編隊位置的偏差變小。這里最大的挑戰(zhàn)是獎勵塑形。各項獎勵的權(quán)重系數(shù)需要精心調(diào)整。如果能量懲罰太重?zé)o人機可能“怕”得不敢動如果任務(wù)獎勵太重它們又會變成“電老虎”。我的經(jīng)驗是采用課程學(xué)習(xí)的方式初期讓任務(wù)獎勵占主導(dǎo)先學(xué)會基本導(dǎo)航后期逐步增大能量懲罰的權(quán)重讓智能體在已學(xué)會的技能基礎(chǔ)上優(yōu)化能效。2.3 注意力機制讓Critic學(xué)會“抓重點”當(dāng)無人機數(shù)量上升到幾十架時把所有智能體的信息直接拼接起來喂給Critic網(wǎng)絡(luò)會導(dǎo)致輸入維度爆炸且網(wǎng)絡(luò)難以學(xué)習(xí)智能體間復(fù)雜的相互關(guān)系。這時Actor-Attention-Critic這類架構(gòu)就派上用場了。它的核心思想是讓中央的Critic網(wǎng)絡(luò)學(xué)會“注意力”。對于當(dāng)前要評估的某個無人機假設(shè)是無人機iCritic網(wǎng)絡(luò)不會同等地看待所有其他無人機j的信息。相反它會計算一個注意力權(quán)重α_ij這個權(quán)重代表了無人機j對無人機i當(dāng)前決策的重要性。比如無人機j如果就在i的正前方且距離很近那么它的權(quán)重就很高如果無人機j在很遠(yuǎn)的地方權(quán)重就接近零。具體實現(xiàn)時Critic網(wǎng)絡(luò)會為每個智能體i學(xué)習(xí)一個查詢向量Query而其他智能體j提供鍵值對Key-Value。通過Query和Key的相似度計算注意力權(quán)重再用這個權(quán)重對Value進行加權(quán)求和最終得到融合了“重點關(guān)系”信息的上下文向量再用于計算Q值。這樣Critic就能更高效地處理大規(guī)模智能體間的稀疏交互這也是實現(xiàn)“Scaling up”的關(guān)鍵技術(shù)之一。3. 核心算法實現(xiàn)DQN與策略梯度的結(jié)合考量項目相關(guān)熱詞提到了DQNDeep Q-Network。DQN是值函數(shù)方法的代表非常適合離散動作空間比如上下左右移動。但在無人機連續(xù)控制速度、角速度場景下我們需要策略梯度方法如DDPG, TD3或其多智能體版本MADDPG。3.1 為什么最終可能沒選純DQN雖然標(biāo)題熱詞關(guān)聯(lián)了DQN但針對連續(xù)動作空間的無人機控制直接使用DQN會遇到困難。DQN需要枚舉所有可能動作來計算Q值并取最大而連續(xù)動作空間是無窮的。通常的解決方案是使用基于策略梯度的方法。不過項目中可能采用了一種混合思路或者在某些離散化的子問題上使用了DQN。例如可以將無人機的高層決策如“前往A區(qū)”、“前往B區(qū)”、“返航充電”建模為離散動作用DQN來學(xué)習(xí)而底層的連續(xù)運動控制具體飛行軌跡則用策略梯度網(wǎng)絡(luò)來學(xué)習(xí)。這是一種分層強化學(xué)習(xí)的思想。另一種可能是在仿真環(huán)境中為了快速驗證協(xié)作邏輯先將動作空間離散化為幾個固定方向和大小的速度矢量此時就可以應(yīng)用多智能體版本的DQN如V-DQN。3.2 基于Actor-Attention-Critic的實現(xiàn)框架以我們實際采用的MADDPGMulti-Agent DDPG結(jié)合注意力機制的框架為例核心組件如下Actor網(wǎng)絡(luò) (π_i)每個智能體i獨有一個。輸入本地觀測 o_i。輸出連續(xù)動作 a_i。Critic網(wǎng)絡(luò) (Q_i)每個智能體i也獨有一個但訓(xùn)練時輸入全局信息。輸入所有智能體的觀測 o (o_1, ..., o_N) 和所有智能體的動作 a (a_1, ..., a_N)。輸出Q值。注意力層集成在將(o, a)送入Critic深層網(wǎng)絡(luò)前先通過一個注意力層。對于智能體i的Critic它將自己的觀測和動作作為Query將其他智能體的(觀測動作)作為Key和Value計算加權(quán)和的上下文向量再與自身信息拼接。經(jīng)驗回放池存儲全局的經(jīng)驗元組 (o, a, r, o‘)。注意這里的 o, a, r 都是所有智能體的聯(lián)合向量。目標(biāo)網(wǎng)絡(luò)每個Actor和Critic都有對應(yīng)的目標(biāo)網(wǎng)絡(luò)用于穩(wěn)定訓(xùn)練更新采用軟更新方式。訓(xùn)練時Critic的損失函數(shù)是標(biāo)準(zhǔn)的TD誤差最小化但用的是全局信息。Actor的梯度更新則依賴于自身Critic給出的Q值評價通過策略梯度定理計算。由于Critic包含了注意力機制它能更準(zhǔn)確地評估在復(fù)雜交互中某個智能體動作的好壞。3.3 能量消耗模型的集成這是“能量感知”落地的關(guān)鍵。我們需要在仿真環(huán)境中建立一個盡可能貼近現(xiàn)實的無人機能耗模型。一個常用的簡化模型是P P0 P1 * v P2 * v^3 P3 * a^2其中P是總功耗P0是基礎(chǔ)懸停功耗P1*v項與速度線性相關(guān)克服空氣阻力P2*v^3項與速度立方相關(guān)誘導(dǎo)功率主要部分P3*a^2項與加速度平方相關(guān)加減速能耗。在每一步仿真中根據(jù)當(dāng)前智能體的速度v和加速度a計算瞬時功耗P_t然后更新其剩余電量E_t1 E_t - P_t * Δt。個體獎勵函數(shù)中的能量懲罰項可以設(shè)計為r_energy -β * (P_t / P_max)其中β是權(quán)重系數(shù)P_max是最大功耗用于歸一化。更高級的還可以加入剩余電量的獎勵鼓勵智能體在電量低時提前規(guī)劃返航。4. 大規(guī)模仿真訓(xùn)練與工程實踐“Scaling up”不僅指算法層面更體現(xiàn)在工程實現(xiàn)上。訓(xùn)練一個幾十上百智能體的網(wǎng)絡(luò)對仿真速度和計算資源是巨大考驗。4.1 仿真環(huán)境搭建我們選擇了OpenAI Gym的風(fēng)格來自定義環(huán)境但底層仿真器使用了更高效的專門工具如AirSim微軟開源或Gazebo配合ROS。對于純算法快速迭代也可以先用簡單的2D或3D物理引擎如PyBullet自定義一個輕量環(huán)境。環(huán)境需要提供幾個核心接口reset(): 初始化所有無人機狀態(tài)隨機或固定位置。step(action_list): 輸入所有無人機的動作列表推進一個仿真步長計算新的狀態(tài)、個體獎勵和完成標(biāo)志。get_obs(): 返回每個智能體的局部觀測如激光雷達點云、相對目標(biāo)向量、剩余電量百分比。為了加速訓(xùn)練一個重要的技巧是使用向量化環(huán)境。即同時運行多個獨立的環(huán)境實例比如16個或32個在一個訓(xùn)練步中收集大批量的經(jīng)驗數(shù)據(jù)這能極大提高數(shù)據(jù)采樣效率是穩(wěn)定訓(xùn)練大規(guī)模MARL的必備手段。4.2 分布式訓(xùn)練框架當(dāng)智能體數(shù)量N很大時即使使用注意力機制Critic網(wǎng)絡(luò)的輸入維度與N相關(guān)也會增長。一種工程上的優(yōu)化是采用參數(shù)共享。所有同構(gòu)的無人機共享同一個Actor網(wǎng)絡(luò)參數(shù)和同一個Critic網(wǎng)絡(luò)參數(shù)。這樣無論N是10還是100我們需要訓(xùn)練的網(wǎng)絡(luò)參數(shù)數(shù)量是固定的極大地提升了可擴展性。此時智能體的獨特性通過其輸入的觀測信息包含自身ID編碼或獨特的位置電量信息來區(qū)分。訓(xùn)練流程通常在一個高性能GPU服務(wù)器上進行。流程如下初始化共享的Actor、Critic網(wǎng)絡(luò)及其目標(biāo)網(wǎng)絡(luò)。啟動多個向量化環(huán)境進程。每個環(huán)境步收集所有智能體在所有環(huán)境中的經(jīng)驗存入一個共享的經(jīng)驗回放池。定期從回放池中采樣一批數(shù)據(jù)計算Critic損失和Actor梯度。使用分布式優(yōu)化器如Horovod或簡單的多GPU數(shù)據(jù)并行來更新網(wǎng)絡(luò)參數(shù)。軟更新目標(biāo)網(wǎng)絡(luò)。4.3 超參數(shù)調(diào)優(yōu)與訓(xùn)練技巧訓(xùn)練大規(guī)模MARL非常不穩(wěn)定需要精心調(diào)參學(xué)習(xí)率Actor的學(xué)習(xí)率通常比Critic小一個數(shù)量級如3e-4 vs 1e-3?;胤懦卮笮⌒枰浅4蟀偃f級別以保證樣本多樣性避免過早遺忘舊經(jīng)驗。批次大小可以設(shè)置得比較大1024或更高配合向量化環(huán)境。折扣因子γ對于無人機任務(wù)中期獎勵很重要γ通常設(shè)置在0.95-0.99。探索策略對于連續(xù)動作通常使用奧恩斯坦-烏倫貝克過程噪聲添加到Actor輸出動作上。探索噪聲的大小需要隨時間衰減。獎勵縮放對個體獎勵進行歸一化或縮放使其大致落在[-1, 1]區(qū)間有助于穩(wěn)定訓(xùn)練。一個關(guān)鍵的技巧是課程學(xué)習(xí)先從簡單的場景開始如2架無人機無障礙物訓(xùn)練一個基礎(chǔ)策略。然后逐步增加難度更多無人機、加入障礙物、更復(fù)雜的任務(wù)目標(biāo)并在之前訓(xùn)練好的網(wǎng)絡(luò)權(quán)重上繼續(xù)微調(diào)。這比直接從地獄難度開始訓(xùn)練成功率高得多。5. 實戰(zhàn)挑戰(zhàn)與問題排查實錄在實際操作中你會遇到各種各樣的問題。下面記錄幾個典型問題及其解決思路。5.1 訓(xùn)練不收斂或策略退化這是最常見的問題?,F(xiàn)象是獎勵曲線震蕩劇烈沒有上升趨勢或者智能體學(xué)到一個非常保守的“不動”策略因為一動就可能被懲罰。排查Critic是否過擬合如果Critic網(wǎng)絡(luò)容量太大而數(shù)據(jù)不足它可能記住了一些偶然的獎勵模式無法給出正確的價值引導(dǎo)??梢試L試減小Critic網(wǎng)絡(luò)的層數(shù)或神經(jīng)元數(shù)增加Dropout或者加強L2正則化。檢查獎勵函數(shù)設(shè)計這是問題的重災(zāi)區(qū)。個體獎勵函數(shù)中正獎勵和負(fù)獎勵的尺度是否平衡能量懲罰是否過于嚴(yán)苛我的經(jīng)驗是先讓智能體學(xué)會完成任務(wù)獲得正獎勵再通過逐步增加能量懲罰來“雕琢”其節(jié)能行為??梢苑謩e繪制每個獎勵分量的曲線看是哪一項導(dǎo)致了異常。調(diào)整探索噪聲初始探索噪聲可以設(shè)大一些確保充分探索。然后設(shè)計一個衰減計劃在訓(xùn)練中后期逐漸減小噪聲讓策略趨于穩(wěn)定。衰減太快會導(dǎo)致早熟太慢則無法收斂。驗證注意力機制是否有效可以通過可視化注意力權(quán)重來檢查。在測試時對于某個智能體畫出它分配給其他智能體的注意力權(quán)重?zé)崃D。如果權(quán)重分布均勻或混亂說明注意力機制沒學(xué)到有意義的關(guān)系可能需要調(diào)整注意力層的維度或結(jié)構(gòu)。5.2 智能體間缺乏有效協(xié)作即使個體獎勵設(shè)計得當(dāng)智能體也可能表現(xiàn)出“個人主義”缺乏默契導(dǎo)致整體任務(wù)效率低下例如在狹窄通道口發(fā)生擁堵。在Critic中注入全局信息確保Critic網(wǎng)絡(luò)的輸入確實包含了所有智能體的聯(lián)合信息。如果使用了參數(shù)共享要確保每個智能體的觀測在輸入Critic前被正確區(qū)分和組合。引入輕微的團隊獎勵信號雖然強調(diào)個體獎勵但可以加入一個非常小的全局獎勵項作為“粘合劑”。例如當(dāng)整個機群的平均任務(wù)進度提升時給每個個體一點微小的正獎勵。這能提供一個微弱的協(xié)同信號而不至于讓智能體完全依賴它。利用注意力機制顯式建模影響如前所述注意力權(quán)重本身就反映了智能體間的相互影響。鼓勵Critic學(xué)習(xí)到清晰的注意力模式例如只關(guān)注鄰近的、有碰撞風(fēng)險的智能體這能間接促進基于局部信息的協(xié)同決策。5.3 仿真到現(xiàn)實的遷移問題在仿真中訓(xùn)練好的策略部署到真實無人機上可能失效。這被稱為“現(xiàn)實差距”。在仿真中增加隨機性在訓(xùn)練時對無人機的動力學(xué)模型參數(shù)如質(zhì)量、推力系數(shù)、環(huán)境參數(shù)如風(fēng)擾加入隨機擾動。這能讓策略學(xué)會適應(yīng)一個分布而不是單個確定的模型提高魯棒性。域隨機化更進一步可以隨機化仿真環(huán)境的視覺紋理、光照條件、傳感器噪聲模型等讓策略不依賴于特定的仿真渲染特性。在線自適應(yīng)或微調(diào)在真實無人機上部署時可以運行一個輕量級的在線學(xué)習(xí)循環(huán)利用真實環(huán)境收集的少量數(shù)據(jù)對策略進行微調(diào)。但這需要非常謹(jǐn)慎避免策略在真實環(huán)境中做出危險動作。5.4 計算資源與訓(xùn)練時間瓶頸訓(xùn)練大規(guī)模MARL極其耗時。優(yōu)化仿真速度這是最大的瓶頸??紤]使用更輕量的仿真器或者用C等高性能語言編寫核心動力學(xué)部分再提供Python接口。禁用不必要的渲染和可視化。采用異步采樣讓環(huán)境仿真進程與網(wǎng)絡(luò)訓(xùn)練進程異步進行。訓(xùn)練進程不斷從回放池取數(shù)據(jù)更新網(wǎng)絡(luò)而多個仿真進程則并行運行持續(xù)將新經(jīng)驗注入回放池。定期保存與評估每訓(xùn)練一定步數(shù)如1萬步就保存一次模型快照并在一個獨立的驗證環(huán)境無探索噪聲中評估策略性能。只保留性能最好的模型避免長時間訓(xùn)練后策略反而退化。6. 性能評估與結(jié)果分析如何判斷你的“能量感知多智能體無人機網(wǎng)絡(luò)”是否成功需要從多個維度設(shè)計評估指標(biāo)。6.1 核心評估指標(biāo)任務(wù)成功率在規(guī)定時間內(nèi)完成指定任務(wù)如所有目標(biāo)點被勘察的比率。這是最根本的指標(biāo)。平均任務(wù)完成時間成功完成任務(wù)所需的平均仿真步數(shù)或時間。衡量效率。總能量消耗整個機群完成一次任務(wù)所消耗的總能量各機耗電之和。這是“能量感知”的直接體現(xiàn)。能量效率比一個更綜合的指標(biāo)例如“總?cè)蝿?wù)收益 / 總能量消耗”。收益可以是覆蓋的區(qū)域面積、發(fā)現(xiàn)的目標(biāo)數(shù)量等。碰撞次數(shù)/安全距離違規(guī)次數(shù)衡量編隊飛行的安全性。通信負(fù)載可選如果算法涉及智能體間的通信可以評估通信消息的數(shù)量或帶寬占用。6.2 對比實驗設(shè)計為了證明你方法的有效性需要設(shè)計合理的基線進行對比基線1非能量感知的MARL使用同樣的MARL算法如MADDPG但獎勵函數(shù)中移除能量懲罰項。對比任務(wù)成功率和能量消耗?;€2集中式路徑規(guī)劃使用傳統(tǒng)的全局路徑規(guī)劃算法如A*、RRT*為每架無人機規(guī)劃節(jié)能路徑。對比在動態(tài)環(huán)境有其他無人機移動下的適應(yīng)性和效率?;€3獨立學(xué)習(xí)每個無人機使用單智能體RL獨立訓(xùn)練完全無視其他智能體。對比任務(wù)成功率和碰撞率以凸顯多智能體協(xié)作的價值。6.3 結(jié)果可視化一圖勝千言好的可視化能清晰展示算法優(yōu)勢訓(xùn)練曲線圖繪制平均回合總獎勵、任務(wù)成功率、平均能量消耗隨訓(xùn)練步數(shù)的變化曲線。觀察收斂性和穩(wěn)定性。軌跡對比圖在同一個任務(wù)場景下畫出你的方法、基線1、基線2規(guī)劃的無人機飛行軌跡。用顏色深淺表示瞬時功耗可以直觀看出你的方法如何選擇更節(jié)能的路徑例如更多勻速直線減少急轉(zhuǎn)彎。注意力權(quán)重?zé)崃D在某個關(guān)鍵決策時刻如通過狹窄通道可視化某架無人機對其他所有無人機的注意力權(quán)重。這能解釋智能體決策的依據(jù)。規(guī)模擴展性實驗不斷增加無人機數(shù)量N繪制任務(wù)完成時間和總能量消耗隨N變化的曲線。理想情況下你的方法應(yīng)該表現(xiàn)出良好的可擴展性即性能下降速度慢于基線方法。7. 未來擴展與進階思考這個項目就像一個豐富的礦藏挖下去還有很多值得探索的方向。異構(gòu)智能體目前的討論假設(shè)無人機是同構(gòu)的。現(xiàn)實中機群可能包含偵察機、中繼機、攻擊機等不同角色。可以擴展框架為不同類型的智能體設(shè)計不同的觀測空間、動作空間和獎勵函數(shù)甚至不同的網(wǎng)絡(luò)結(jié)構(gòu)讓它們學(xué)會分工協(xié)作。部分可觀性與通信我們假設(shè)每個智能體都能獲得完美的局部觀測。實際上傳感器有局限??梢砸腼@式的通信機制讓智能體之間傳遞簡短的編碼信息學(xué)習(xí)在部分可觀下的協(xié)作策略。這涉及到學(xué)習(xí)通信協(xié)議是一個很有挑戰(zhàn)性的方向。終身學(xué)習(xí)與適應(yīng)訓(xùn)練好的策略如何適應(yīng)新任務(wù)或環(huán)境變化可以研究元強化學(xué)習(xí)或在線適應(yīng)算法讓無人機網(wǎng)絡(luò)具備快速學(xué)習(xí)新技能的能力。安全性與可解釋性對于無人機這類實體系統(tǒng)安全至關(guān)重要。如何將硬性安全約束如禁止進入某些區(qū)域整合到RL訓(xùn)練中同時注意力機制提供了一定的可解釋性但還可以進一步研究如何讓智能體的決策邏輯對人類操作員更透明。這個項目從算法設(shè)計到工程實現(xiàn)貫穿了強化學(xué)習(xí)、多智能體系統(tǒng)、機器人控制、優(yōu)化理論等多個領(lǐng)域。最大的體會是理論上的優(yōu)雅算法要在一個具體的、有物理約束的問題上落地需要大量的“臟活累活”——設(shè)計合理的獎勵、搭建高效的仿真、調(diào)試不穩(wěn)定的訓(xùn)練、分析失敗的原因。但當(dāng)你看到一群最初橫沖直撞的“鐵憨憨”無人機最終能像雁群一樣自主、高效、節(jié)能地完成復(fù)雜任務(wù)時那種成就感是無與倫比的。這或許就是智能體研究的魅力所在。