機器學習:李宏毅深度強化學習筆記(五)Imitation Learning

https://blog.csdn.net/cindy_1102/article/details/88051963

爲什麼要模仿學習 Imitation Learning

(也稱爲 learning by demonstration, apprenticeship learning)
在某些情況下:

  1. 機器也可以和環境進行互動,但是不能明顯的得到reward
  2. 在某些任務中很難定義reward
  3. 人爲涉及的獎勵可能會得到不受控制的行爲

因此需要 imitation learning: 讓一個專家來示範應該如何解決問題,而機器則試着去模仿專家

行爲克隆

這個方法可以看做是一個監督學習,在這個方法中,actor需要學習在某些特定的state下儘可能像專家一樣行動

然而,專家只能進行有限的採樣,因此需要引入Dataset Aggregation(讓專家處於機器所處的state中)

Dataset Aggregation:

  1. 通過行爲克隆得到一個 actor π1\pi_1π1​
  2. 使用 π1\pi_1π1​ 和環境進行互動
  3. 讓專家對觀察對象作標籤 π1\pi_1π1​
  4. 使用新的數據來訓練 π2\pi_2π2​

缺點:
agent可能會複製專家所有的動作,包括一些無關的動作。如果機器只有有限的學習能力,可能會導致它複製到錯誤的行爲。
有些行爲必須被複制,但有些可以被忽略,但監督學習對所有的誤差都平等處理。
在監督學習中,我們希望訓練數據和測試數據有相同的分佈,但是在行爲克隆中,訓練數據來自於專家的分佈,而測試數據來自於actor,因爲專家的 π\piπ 和actor的是不一樣的,生成的state也是不一樣的,分佈可能會不相同,因此引入 IRL

Inverse Reinforcement Learning (IRL)

在這裏插入圖片描述

在前面介紹過的RL中:環境和reward是用來生成一個actor的,但是在IRL中,沒有reward function,而是用一個專家來和環境做互動並學到一個reward function,然後這個reward function纔會被用來訓練actor。

生成的reward可能會很簡單,但也可能會導致複雜的policy
在這裏插入圖片描述

  1. 專家和actor都會生成對應的 trajectory.
  2. 生成的reward function需要滿足專家的累積reward總是比actor的大
  3. 使用reward function來訓練一個新的actor替換原來舊的actor
  4. 重複上述步驟.

這裏的模型和GAN十分相似,actor就是generator,reward function就是discriminator。

(假設:專家永遠是最棒的)

在這裏插入圖片描述

發佈了88 篇原創文章 · 獲贊 6 · 訪問量 8737
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章