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选择为下面的公式
Paper-1 精读GAIL 2016 NIPS
则有: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发生了联系,最后算法流程为:

Paper-1 精读GAIL 2016 NIPS
其中G为Policy Network,D为Discriminator Network,更新G时不再是Maximum Likelihood,而是采用TRPO Rule。

三、实验

  1. 环境介绍
    Paper-1 精读GAIL 2016 NIPS
  2. Expert Demonstration的来源
    利用TRPO在环境上跑一个expert policy,然后从expert policy sample一些trajectories作为expert data进行学习。
    Paper-1 精读GAIL 2016 NIPS
    Paper-1 精读GAIL 2016 NIPS

总结

NIPS 2016的文章比较久远,但是一篇十分经典、承上启下的文章。
改进的地方非常多,如Policy Network的更新可以采用不同的Update Rule以及各种tricks来降低variance,以及提高Policy Update过程中的Sample Efficiency,至于判别器也可以通过其他方式进行改进。

一句话总结:通过引入GAN来拟合专家数据的(s,a)分布,从而获得对Policy Update的Guidance。
启发:这种Guidance可以从其他形式获得。