Learning Robust Rewards With Adversarial Inverse RL
概述
這篇是以2016 NIPS的GAIL以及2016 ICML的GCL(在之前的Paper中精讀過)爲基礎進行對比,提出一種針對dynamics change魯棒的reward function recovery方法AIRL。
承上啓下的文章在這裏https://blog.csdn.net/weixin_40056577/article/details/104738587
這個IRL算法是基於對adversarial reward leaning的一種formulation進行優化的。
AIRL的特點是,recover到的reward是portable以及generalizable的,一個特殊的名詞爲disentangled rewards,即AIRL從demonstrations中提取出來的reward是對環境dynamics的變化不敏感的。(所以還可以提取rewards對什麼不敏感呢?對expert behaviors的擾動不敏感?)
其實Adversarial也是很傳統的問題:從一個信息聚合體中如何提取出多種多樣獨立的信息體,專業一點,即如何解耦decouple?
一、問題背景熟悉
1.1 GAN-IRL
之前的Paper精讀,都主要介紹與IRL、Imitation Learning相關的算法,是怎麼進行的,流程如何,回顧一下:
- GAIL可以看成是Imitation Learning用GAN做數據增廣,探討問題的角度是從專家數據中的統計量角度出發的,即occupancy measure,然後根據該統計量對Policy Update提供一個Guidance,最終找到一個Policy的occupancy measure match專家數據。
- GCL可以看成是在IRL的理論背景開始分析,針對專家數據構建了一個PGM圖來表示expert trajectory distribution,針對Partition Function採用了利用Policy的軌跡構建方式用Importance sampling進行近似估計。
- GAN-IRL這一篇Paper裏則說明了GAN與IRL數學上等價的聯繫。
至此,AIRL則是將解耦思想引入應用到這個IRL與GAN問題的Setting上,使得其更爲robust
然後IRL問題有兩個關鍵問題:如何從demonstrations中recover到一個比較合理、科學能正確表示human prior的Reward Function呢?
- 對於一堆專家數據expert demonstrations,有很多optimal policies可以進行解釋
- 對於一個optimal policy,有很多rewad function都可以進行解釋
對於第一個問題Ziebart的MaxEnt IRL framework就是之前說的Soft Optimal Policy,即,從一堆專家數據中推斷出一個Sub-Optimal ,Stochastic的概率型Policy來表示很多optiaml polices可解釋的問題了。
對於第二個問題,很自然思考,如何將真正表達optimal policy的reward function給取出來。Reward Function很容易受環境Dynamics的影響,所以這篇paper嘗試從可能的reward functions中提取中對環境Dynamics魯棒的reward function,認爲它能代表一些東西。
1.2 Reward Shaping
1999年ICML Andrew Ng提出一種Reward Transformation:
這個函數可以是任意的。然後對Reward做了這種變換後,Paper證明了它不會改變其對應的optimal policy。
然後2018 ICLR這篇AIRL就經驗式地驗證了:變換後的reward functions對環境dynamics 的改變不魯棒
二、主要邏輯
2.1 問題定義
- 如何表示Optimal Policy?說到Policy一般就兩種,一個是策略函數,一個是Q值函數(差不多等價的表述)
- 在一個MDP即中,對Policy的學習有影響的就是狀態轉移矩陣與監督信息的來源Reward,因此對optimal policy表示爲或者
- Disentangled Rewards的定義:在某個dynamics set中,我們得到的reward與真實reward是相等的。即=,其中是model reward,是ground-truth reward
2.2 論文理論
- 理論1
如果環境的dynamics model滿足一個decomposability condition,且IRL要recover的獎勵函數只與狀態有關即,然後就能產生一個optimal policy:
(簡單說:給環境動態特性T加一個約束條件,假設獎勵函數形式僅與狀態有關,就能保證RL得到的reward具有Disentangled的特性,即optimal policy有
- 理論2
如果一個reward function即對所有dynamics function是disentangled的,就能推斷出這是一個state only的reward function形式。(沒什麼用)
(簡單說,若一個reward在所有dynamics下是disentangled的,則其形式爲state-only)
Paper的分析,最主要的貢獻點就是:如果僅僅在一個MDP中學習的話,那麼儘可能使reward的形式僅與state有關
2.3 AIRL怎麼做
GAN-IRL-Energy Model在這一篇文章裏揭示了GAN與IRL的聯繫。這裏簡單回顧一下:
2.3.1 IRL問題的定義
對專家軌跡數據建模,參數化對象是
對專家數據的最大似然目標:
如果寫成state-action的形式:
2.3.2 GCL對IRL問題的處理
GCL中引入了一個sampling distribution即來解決這個Partition Function Z的計算問題:
然後這個問題就很自然變成了一個GAN的優化問題,在引入的Sampling Distribution與Reward Function之間進行迭代。判別器爲Reward,生成器爲Sampling Distribution。判別器形式爲:
這是一種trajectory-centric formulation,Paper提出把它變成下面這種形式:
2.3.3 AIRL
理論上說了reward是state-only的時候,更可能對dynamics robust,而且shaping reward之後會對dynamics不robust,因此需要多參數化一個shaping term函數,參數爲:
其中是sampling的policy,是reward,其爲:
是reward approximator,是一個shaping term。
三、實驗設計
整個實驗圍繞兩個問題進行:
- AIRL是否這能學到對環境dynamics robust的disentangled reward?(通過改變dynamics對學到的reward進行測試)
- AIRL能否解決high-dimensions的連續控制任務?efficient and scalable?
第一個是用來驗證disentangled reward在transfer的時候是否robust,且是state-only有效還是state-action的reward函數形式有效。
這個任務沒有在transfer setting的情況下做,而是test in training set,主要用來對比AIRL是否合適high-dimensions的連續控制任務。
四、總結
- 這一篇是在2016 NIPS的GAIL與2018 ICML的GCL基礎上繼續探究問題的工作,首先將問題的背景擴展到transfer setting,然後是純粹在IRL的領域深入,去recover一個比較robust的reward
- 主要貢獻是探討了在IRL的目的下,什麼樣的dynamics能弄出一個可以transfer與portable的reward function而不是GAIL那樣更偏向Imitation Learning的做法
- 比較有意義的探討:reward shaping對dynamics不太robust、reward的形式與dynamics約束條件之間的關係
一句話總結:利用IRL去recover一個對dynamics robust、符合transfer setting的disentangled reward function,是一個在state-action層面recover到較完整reward function的算法。
具體值得借鑑的地方:
- 怎麼在IRL這個問題中引入對dynamics robust的disentangled reward?
- 定義了disentangled reward又是如何探究與證明dynamics相關的理論?
- 如何在理論指導下,參數化reward shaping term?爲啥reward shaping會影響到optimal policy對dynamics的魯棒性?
代碼:https://sites.google.com/view/adversarial-irl