-
指機器在無法從環境獲得明確獎勵的情況下,透過觀察專家的示範來學習策略
-
基本設定
- 機器無法從環境獲得 Reward
- 機器可以收集專家與環境互動的軌跡
-
Reward Function 難以明確定義的情況
- 自動駕駛:難以量化撞到不同物體 (如人 vs 動物) 的具體負分權重
- 聊天機器人:難以定義何謂好的對話內容
-
方法
- 行為複製 (Behavior Cloning, BC)
- 逆向強化學習 (Inverse Reinforcement Learning, IRL)
-
商業
- 看人類影片 翻譯 以人為主體
- 人拉著做 小機構驅動 機器人為主體
行為複製 Behavior Cloning
- 將模仿學習視為標準的監督式學習問題
- 在數學上等同於最大化專家軌跡的概似函數 (Likelihood)
-
流程
- 收集專家資料:將專家的狀態 Observation 視為輸入,動作 Action 視為標籤
- 訓練策略網路:學習一個網路 ,使其輸出盡可能接近專家動作
-
面臨的挑戰
- 共變量偏移 Covariate Shift
- 監督式學習假設訓練與測試資料來自相同的分佈
- 但在強化學習中,當下的 Action 會影響下一個 State
- 問題:訓練時資料來自專家策略 ,測試時由機器策略 產生,導致兩者分佈不一致
- 複合誤差
- 專家軌跡通常是完美的,資料集中缺乏修正錯誤的樣本
- 後果:機器在測試時一旦產生微小誤差進入未知狀態,無法修正,導致誤差隨時間累積,最終失敗,如自駕車撞牆
- 學習多餘行為:
- 機器會複製專家的所有特徵,包含個人習慣、無意義動作
- 浪費資源學習非關鍵行為
- 共變量偏移 Covariate Shift
-
資料聚合
-
Dataset Aggregation (DAgger) 是一種透過專家輔助標註來解決分佈不匹配問題的迭代演算法
-
演算法流程:
- 初始化策略
- 讓 實際控制機器收集軌跡 (由機器開車,專家在旁觀察)
- 專家針對機器遇到的狀態 進行標註 (告知在該情境下專家會做什麼)
- 將新資料加入資料庫,訓練新的
- 重複上述步驟
-
目的:讓機器學習在「快要失敗」或「偏離軌道」的狀態下,如何修正回正確的路徑
-
逆向強化學習 Inverse Reinforcement Learning
-
逆向強化學習 (IRL) 假設專家的行為是為了最大化某個未知的 Reward Function,機器的目標是反推出這個 Reward Function,再利用 RL 學習最佳策略
-
與 RL 的差異:
- RL:Environment + Reward Optimal Actor
- IRL:Environment + Expert Data Reward Function Optimal Actor
-
基本原則:專家永遠是最好的,因此找出的 Reward Function 必須使得專家軌跡的總分高於任何其他 Actor 的總分
-
流程
- 收集專家示範軌跡
- 初始化 Actor,與環境互動收集軌跡
- 更新 Reward Function:調整 的參數,使得專家得分大於機器得分 (先射箭再畫靶)
- 更新 Actor:基於目前的 ,使用 RL 演算法找出能最大化回報的新 Actor
- 重複步驟 3-4
-
IRL 的架構與生成對抗網路 GAN 高度相似
- 結構對應
- 演員 Actor 生成器 Generator (產生軌跡,試圖騙過 Reward Function)
- 獎勵函數 Reward 判別器 Discriminator (分辨軌跡是專家還是機器產生的)
- 目標函數比較:
- GAN Objective
- 在 IRL 中, (即 ) 試圖給予專家軌跡高分 (1),給予 Actor 軌跡低分 (0);而 Actor (即 ) 試圖最大化 的分數
- 收斂性
- 若 為線性函數,演算法可保證收斂
- 若 為一般神經網路,則面臨與 GAN 相同的訓練不穩定性
- 結構對應
應用
- 風格學習 (Style Learning)
- 利用 IRL 學習不同專家的駕駛風格 (如激進、保守、違規),而不僅是完成路徑規劃
- 機器人操作
- 利用 Kinesthetic Teaching (直接拉著機械手臂示範) 讓機器人學習倒水、擺盤等精細動作,避免撰寫複雜的 Rule-based 程式
- 第三人稱模仿學習 (Third Person IL)
- 解決觀察者 (第三人稱視角) 與執行者 (第一人稱視角) 視覺特徵不一致的問題
- 使用 Domain-Adversarial Training
- 目標:訓練一個特徵提取器,提取出視角無關的特徵,使機器第一人稱視角的 Feature 與觀察導師時的 Feature 分佈一致
- 自然語言處理 (NLP)
- 序列生成 (Sentence Generation):將文字生成視為強化學習過程
- Action:寫下的每一個 Word
- Trajectory:完整的句子
- 技術對應:
- MLE Behavior Cloning (Teacher Forcing)
- SeqGAN Inverse Reinforcement Learning (透過 Discriminator 判斷句子像不像人寫的來給予 Reward)
- 序列生成 (Sentence Generation):將文字生成視為強化學習過程