定位
Generative Adversarial Imitation Learning
- 如何在Deep RL中利用專家數據?
Behavioral Cloning與Inverse RL兩種方式。- Behavioral Cloning直接從專家數據上進行監督學習,會出現supervised learning中常見的covariate shift的問題,導致利用policy時出現compounding error。
- Inverse RL需要從專家數據中recover 一個cost function(等價reward function),直覺上是得到一個專家的intent,然後基於該cost function學習RL的optimal behavior去迭代cost function,計算花銷非常大,而且每次RL Inner Loop不一定能學到當前cost function下的optimal behavior,同樣導致compounding error
- GAIL的Contribution
- 利用GAN去擬合expert demonstration中的state與action的distribution
- 不同於IRL中通過一個cost/reward signal學習policy,也不同於傳統的behavioral cloning要求的large datasets以及covariate shifts,GAIL對專家數據用GAN做了數據增廣。與Behavioral Cloning比較起來,可以生成更多數據,與IRL比較起來,避免了RL作爲Inner Loop的計算花銷以及通過reward signal習得optimal behavior 這種導致Compounding error的做法。
與該篇文章相關的理論知識:
深度強化學習CS285 lec13-lec15 (上中下)
一、基礎知識
- Inverse RL
其中爲專家策略,爲迭代中的策略。
這兩個目標是一致的,只是第一個用cost function,第二個用reward function的形式表達。
用reward角度解釋一下這個Objective:- 尋找一個策略,使在當前下的cumulative reward最大且使policy的entropy儘可能大。即
- 固定中的策略,尋找一個使得專家數據的objective更大,剛纔習得的policy objective更小,意味着尋找一個reward在專家行爲中獲得的獎勵比其他policy都要大
因此Inverse RL求得是一個reward function/cost function。
- Apprenticeship learning
學徒學習的過程與Inverse RL十分類似,只是它的目標爲一個專家policy而不是inverse RL中的cost function。此處有細微的不同:
- 如果得到的是一個專家的policy,那這個policy很難generalize,非常取決於expert demonstration的數據量以及質量,難以獲得超越expert的性能。
- 但如果是得到一個表示專家intent的reward signal/cost function,將其作爲信號,利用RL進行學習的話,會得到一定的靈活性,能獲得超越expert的性能,但計算開銷比較大。
二、理論分析的思路
2.1 度量定義
-
Occupancy Measure
用來衡量policy的(state,action)分佈。當前狀態s與動作a的聯合概率 = 給定狀態s選擇動作a的概率將來回到當前狀態s的可能概率。
因此,目標與有效的occupancy measure可表示爲:
-
Policy Occupancy Measure
因此定義了一個policy的occupancy Measure。
2.2 主要邏輯
下面是論文的關鍵邏輯:
- IRL得到的是一個cost function,如果提供的expert demonstration比較少質量差,那得到的cost function很容易過擬合,因此IRL原問題定義爲:其中爲對cost function進行regularised的函數
- 對IRL復原出來的cost function丟進RL中得到一個expert policy,有說明這個過程得到的policy本質上是在使與專家policy的occupancy measure最小的policy。如果使爲scalar,則,所以選擇的策略,使其與專家policy的occupancy measure即最小。
- 如果是一個constant function,,,則有。
總結:整個過程其實就是在說明,這個過程得到的policy,就是在擬合專家數據中的occupancy measure
因此問題變爲:
選擇一個策略使得其Occupancy Measure與專家數據的Occupancy Measure儘可能接近,加一個entropy term,希望policy在training過程中儘可能地探索。
所以選擇的不同形式,就可以導出不同的imitation learning的algorithms,其中選擇爲下面的公式
則有:
因此與GAN發生了聯繫,最後算法流程爲:
其中G爲Policy Network,D爲Discriminator Network,更新G時不再是Maximum Likelihood,而是採用TRPO Rule。
三、實驗
- 環境介紹
- Expert Demonstration的來源
利用TRPO在環境上跑一個expert policy,然後從expert policy sample一些trajectories作爲expert data進行學習。
總結
NIPS 2016的文章比較久遠,但是一篇十分經典、承上啓下的文章。
改進的地方非常多,如Policy Network的更新可以採用不同的Update Rule以及各種tricks來降低variance,以及提高Policy Update過程中的Sample Efficiency,至於判別器也可以通過其他方式進行改進。
一句話總結:通過引入GAN來擬合專家數據的(s,a)分佈,從而獲得對Policy Update的Guidance。
啓發:這種Guidance可以從其他形式獲得。