Paper-1 精讀GAIL 2016 NIPS

定位

Generative Adversarial Imitation Learning

  • 如何在Deep RL中利用專家數據?
    Behavioral Cloning與Inverse RL兩種方式。
    1. Behavioral Cloning直接從專家數據上進行監督學習,會出現supervised learning中常見的covariate shift的問題,導致利用policy時出現compounding error。
    2. 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
    1. 利用GAN去擬合expert demonstration中的state與action的distribution
    2. 不同於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
    maxcC(minπΠEπ[c(s,a)]H(π))EπE[c(s,a)]minrR(maxπΠEπ[r(s,a)]+H(π))EπE[r(s,a)]\max_{c\in C}\Big(\min_{\pi \in \Pi}E_{\pi}[c(s,a)]-H(\pi)\Big)-E_{\pi_E}[c(s,a)]\\ \min_{r\in R}\Big(\max_{\pi \in \Pi }E_{\pi}[r(s,a)]+H(\pi)\Big)-E_{\pi_E}[r(s,a)] 其中πE\pi_E爲專家策略,π\pi爲迭代中的策略。
    這兩個目標是一致的,只是第一個用cost function,第二個用reward function的形式表達。
    用reward角度解釋一下這個Objective:
    1. 尋找一個策略π\pi,使在當前r(s,a)r(s,a)下的cumulative reward最大且使policy的entropy儘可能大。即maxπΠEπ[r(s,a)]+H(π)=RL(r)\max_{\pi \in \Pi }E_{\pi}[r(s,a)]+H(\pi)=RL(r)
    2. 固定maxπΠEπ[r(s,a)]+H(π)\max_{\pi \in \Pi }E_{\pi}[r(s,a)]+H(\pi)中的策略,尋找一個r(s,a)r(s,a)使得專家數據的objective更大,剛纔習得的policy objective更小,意味着尋找一個reward在專家行爲中獲得的獎勵比其他policy都要大

因此Inverse RL求得是一個reward function/cost function。

  • Apprenticeship learning
    minπmaxcCEπ[c(s,a)]EπE[c(s,a)]\min_{\pi}\max_{c\in C}E_\pi[c(s,a)]-E_{\pi_E}[c(s,a)]學徒學習的過程與Inverse RL十分類似,只是它的目標爲一個專家policy而不是inverse RL中的cost function。此處有細微的不同:
  1. 如果得到的是一個專家的policy,那這個policy很難generalize,非常取決於expert demonstration的數據量以及質量,難以獲得超越expert的性能。
  2. 但如果是得到一個表示專家intent的reward signal/cost function,將其作爲信號,利用RL進行學習的話,會得到一定的靈活性,能獲得超越expert的性能,但計算開銷比較大。

二、理論分析的思路

2.1 度量定義

  1. Occupancy Measure
    pπ(s,a)=π(as)t=0γtP(st=sπ)p_\pi(s,a) = \pi(a|s)\sum_{t=0}^\infty \gamma^t P(s_t=s|\pi)用來衡量policy的(state,action)分佈。當前狀態s與動作a的聯合概率 = 給定狀態s選擇動作a的概率×\times將來回到當前狀態s的可能概率。
    因此,目標與有效的occupancy measure可表示爲:
    Eπ[c(s,a)]=s,apπ(s,a)c(s,a)E_{\pi}[c(s,a)] = \sum_{s,a}p_\pi(s,a)c(s,a)D={p:p0andap(s,a)=p0(s)+γs,aP(ss,a)p(s,a)}D = \{p:p\ge0\quad and \quad \sum_ap(s,a)=p_0(s)+\gamma \sum_{s',a}P(s|s',a)p(s',a)\}

  2. Policy Occupancy Measure
    πp(as)=pπ(s,a)/ap(s,a)\pi_p(a|s) = p_\pi(s,a)/\sum_{a'}p(s,a')因此定義了一個policy的occupancy Measure。

2.2 主要邏輯

下面是論文的關鍵邏輯:

  • IRL得到的是一個cost function,如果提供的expert demonstration比較少質量差,那得到的cost function很容易過擬合,因此IRL原問題定義爲:IRLψ(πE)=arg maxcCψ(c)+(minπΠEπ[c(s,a)]H(π))EπE[c(s,a)]IRL_\psi(\pi_E)=\argmax_{c\in C}-\psi(c) + \Big(\min_{\pi\in\Pi}E_\pi[c(s,a)]-H(\pi)\Big)-E_{\pi_E}[c(s,a)]其中ψ\psi爲對cost function進行regularised的函數
  • 對IRL復原出來的cost function丟進RL中得到一個expert policy,有RLIRLψ(πE)=arg minπΠψ(pπpπE)H(π)RL\circ IRL_\psi(\pi_E)=\argmin_{\pi\in\Pi}\psi^*(p_\pi-p_{\pi_E})-H(\pi)說明這個過程得到的policy本質上是在使與專家policy的occupancy measure最小的policy。如果使ψ\psi爲scalar,則RLIRLψ(πE)=arg minπΠ(pπpπE)H(π)RL\circ IRL_\psi(\pi_E)=\argmin_{\pi\in\Pi}(p_\pi-p_{\pi_E})-H(\pi),所以選擇的策略π\pi,使其與專家policy的occupancy measure即pπEp_{\pi_E}最小。
  • 如果ψ\psi是一個constant function,c~IRLψ(πE)\tilde{c}\in IRL_\psi(\pi_E)π~RL(c~)\tilde{\pi}\in RL(\tilde{c}),則有pπ~=pπEp_{\tilde{\pi}}=p_{\pi_E}

總結:整個過程其實就是在說明,RLIRLRL\circ IRL這個過程得到的policy,就是在擬合專家數據中的occupancy measure
因此問題變爲:
minπdψ(pπ,pE)H(π)\min_{\pi}d_\psi(p_\pi,p_E)-H(\pi)選擇一個策略π\pi使得其Occupancy Measure與專家數據的Occupancy Measure儘可能接近,加一個entropy term,希望policy在training過程中儘可能地探索。

所以選擇dψd_\psi的不同形式,就可以導出不同的imitation learning的algorithms,其中dψd_\psi選擇爲下面的公式
1
則有:minπψGA(pπpπE)=minπmaxD(0,1)S×AEπ[logD(s,a)]+EπE[log(1D(s,a))]=minπDJS(pπ,pπE) \begin{aligned} \min_{\pi}\psi^*_{GA}(p_\pi-p_{\pi_E}) &=\min_{\pi}max_{D\in (0,1)^{S\times A}} E_\pi[logD(s,a)]+E_{\pi_E}[log(1-D(s,a))]\\ &=\min_\pi D_{JS}(p_\pi,p_{\pi_E}) \end{aligned}
因此與GAN發生了聯繫,最後算法流程爲:

2
其中G爲Policy Network,D爲Discriminator Network,更新G時不再是Maximum Likelihood,而是採用TRPO Rule。

三、實驗

  1. 環境介紹
    3
  2. Expert Demonstration的來源
    利用TRPO在環境上跑一個expert policy,然後從expert policy sample一些trajectories作爲expert data進行學習。
    4
    5

總結

NIPS 2016的文章比較久遠,但是一篇十分經典、承上啓下的文章。
改進的地方非常多,如Policy Network的更新可以採用不同的Update Rule以及各種tricks來降低variance,以及提高Policy Update過程中的Sample Efficiency,至於判別器也可以通過其他方式進行改進。

一句話總結:通過引入GAN來擬合專家數據的(s,a)分佈,從而獲得對Policy Update的Guidance。
啓發:這種Guidance可以從其他形式獲得。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章