搜尋意圖: 如果你在找「模仿學習 是什麼」或「模仿學習 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 透過學習專家演示直接訓練智能體策略的監督學習方法。
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
透過學習專家演示直接訓練智能體策略的監督學習方法。
核心概念
模仿學習(Imitation Learning, IL)是一種低成本的智能體訓練方式:直接向學習器展示「好」的行為應該長什麼樣,讓它學習複製。與強化學習的對比:
- 強化學習:智能體與環境互動試錯,透過獎勵信號逐漸改進。需要大量試錯與獎勵工程。
- 模仿學習:智能體從專家演示學習,起點更高,冷啟動更快,但依賴優質演示的可用性。
運作原理與主要方法
監督學習模仿(Behavioral Cloning)
最簡單的模仿學習形式,直接用監督學習擬合專家策略:
min_θ Σ_i ||π_θ(a|s_i) - π_expert(a|s_i)||²
其中(s_i, a_i)來自專家軌跡。訓練完後,模型應能在給定狀態時預測專家的動作。
優點:簡單直接,可用任何監督學習架構(神經網路、決策樹等)。缺點:易發生分布移位,專家在訓練中從未遇到的狀態會導致模型失敗。
DAgger(Dataset Aggregation)
DAgger是一個迭代演算法,解決行為克隆的分布移位問題:
- 用專家演示初始化訓練集D。
- 用D訓練策略π。
- 用當前π在環境中採集軌跡。
- 對採集的軌跡中每個狀態,詢問專家應採取的動作(或用專家模型預測)。
- 將(state, expert_action)加入D,重複步驟2-4。
DAgger的巧妙之處在於:訓練資料會逐漸包含策略π在部署中實際遇到的狀態,避免了分布移位。每次迭代,模型都在嘗試糾正自己在新狀態的錯誤,逐漸適應實際分布。
專家反饋與分層模仿
在某些場景中無法一次性獲得完整演示,而是在訓練過程中與專家互動:
- 在線模仿:智能體執行策略,當失敗時專家介入修正或演示,學習器持續改進。
- 分層模仿:先模仿高層任務規劃(由專家演示),再用強化學習學習低層控制。
實際應用
自駕車早期訓練
Tesla早期使用駕駛員演示數據訓練自動駕駛系統,通過行為克隆與DAgger快速獲得基礎駕駛能力,比從零開始的強化學習快得多。
機械臂操作
機器人學習從示教視頻(人類演示同一任務)提取動作序列,初始化為接近人類的操作風格,再用強化學習微調以適應特定機器人的動力學。
無人機導航
將專業無人機操作員的操作序列(搖桿輸入)記錄下來,訓練自主導航模型,結合GNSS與視覺使無人機能自主飛行。
對話與推薦系統
初期從人類對話演示與點擊日誌學習對話策略與推薦策略,快速獲得可用系統,再逐步調整。
常見誤區
誤區1:認為模仿學習無需任何獎勵設計就完全避免了強化學習的複雜性。實際上模仿學習依賴優質專家數據的可用性與標記成本,有時不亞於強化學習的難度。
誤區2:假定模仿的智能體會自動超越專家。實際上行為克隆通常會在策略多樣性與創新上受限:模型難以發現比演示更優的行為。
誤區3:忽視專家的異質性。多位專家可能用不同風格完成同一任務,直接混合他們的演示會產生不一致的訓練信號。
與相關技術的比較
- 模仿學習 vs. 強化學習:模仿快速但受限於演示質量,RL從零啟動慢但無天花板。實務中常混合使用(先模仿冷啟動,再用RL微調)。
- 模仿學習 vs. 逆向強化學習:模仿直接複製行為,IRL推斷獎勵再訓練,IRL泛化更好但計算複雜度高。
- 模仿學習 vs. 遷移學習:遷移學習涉及不同任務間的知識遷移,模仿通常在相同任務內進行,可視為遷移學習的特殊情形。
常見問題
為什麼行為克隆在執行時會「跌出懸崖」?DAgger如何解決?
行為克隆的悲劇在於:一旦模型出錯,偏離了專家軌跡分布,它進入了完全陌生的狀態,而這個狀態的糾正方式在訓練資料中根本不存在(訓練只有專家的「正確」狀態),所以無法恢復,錯誤越滾越大。DAgger透過主動採集策略自己犯錯的狀態,並獲取專家在這些狀態的動作,使訓練資料逐漸包含「如何從錯誤狀態恢復」。這樣每次迭代,模型的決策分布越來越接近實際執行會遇到的狀態分布,最終規避了分布移位。
模仿學習何時比強化學習更合適?
模仿學習在以下情況更合適:第一,有大量高品質專家演示可用(如駕駛日誌、操作視頻),而強化學習則要求訓練環境可交互與可重複;第二,快速冷啟動是優先級,初期有可用的基礎模型比最終的最優性更重要;第三,獎勵函數難以設計,而專家行為清晰易得(如複雜操控任務);第四,安全性關鍵,無法容忍訓練期間的隨意探索(如醫療、駕駛)。相反,若無專家數據但有模擬環境、或需要發現超越專家的新策略,強化學習更適合。
怎麼處理多個風格不同的專家演示?
直接混合不同專家的演示會產生衝突的訓練信號,導致模型學習平均但平庸的策略。更好的做法有:第一,聚類專家風格,分別訓練不同模型或用多任務學習顯式學習多種風格;第二,用專家特徵(如風格標籤)作為模型條件,使模型能在多種風格間切換;第三,選用最優或最相關的少數專家演示而非全量混合;第四,用不確定性估計量化演示衝突區域,在這些區域減少依賴而靠強化學習自適應。