study

  • 指機器在無法從環境獲得明確獎勵的情況下,透過觀察專家的示範來學習策略

  • 基本設定

    • 機器無法從環境獲得 Reward
    • 機器可以收集專家與環境互動的軌跡
  • Reward Function 難以明確定義的情況

    • 自動駕駛:難以量化撞到不同物體 (如人 vs 動物) 的具體負分權重
    • 聊天機器人:難以定義何謂好的對話內容
  • 方法

    • 行為複製 (Behavior Cloning, BC)
    • 逆向強化學習 (Inverse Reinforcement Learning, IRL)
  • 商業

    • 看人類影片 翻譯 以人為主體
    • 人拉著做 小機構驅動 機器人為主體

行為複製 Behavior Cloning

  • 將模仿學習視為標準的監督式學習問題
  • 在數學上等同於最大化專家軌跡的概似函數 (Likelihood)
  • 流程

    • 收集專家資料:將專家的狀態 Observation 視為輸入,動作 Action 視為標籤
    • 訓練策略網路:學習一個網路 ,使其輸出盡可能接近專家動作
  • 面臨的挑戰

    • 共變量偏移 Covariate Shift
      • 監督式學習假設訓練與測試資料來自相同的分佈
      • 但在強化學習中,當下的 Action 會影響下一個 State
      • 問題:訓練時資料來自專家策略 ,測試時由機器策略 產生,導致兩者分佈不一致
    • 複合誤差
      • 專家軌跡通常是完美的,資料集中缺乏修正錯誤的樣本
      • 後果:機器在測試時一旦產生微小誤差進入未知狀態,無法修正,導致誤差隨時間累積,最終失敗,如自駕車撞牆
    • 學習多餘行為:
      • 機器會複製專家的所有特徵,包含個人習慣、無意義動作
      • 浪費資源學習非關鍵行為
  • 資料聚合

    • 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)