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
    max ⁡ c ∈ C ( min ⁡ π ∈ Π E π [ c ( s , a ) ] − H ( π ) ) − E π E [ c ( s , a ) ] min ⁡ r ∈ R ( 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)] cCmax(πΠminEπ[c(s,a)]H(π))EπE[c(s,a)]rRmin(πΠmaxEπ[r(s,a)]+H(π))EπE[r(s,a)]其中 π E \pi_E πE为专家策略, π \pi π为迭代中的策略。
    这两个目标是一致的,只是第一个用cost function,第二个用reward function的形式表达。
    用reward角度解释一下这个Objective:
    1. 寻找一个策略 π \pi π,使在当前 r ( s , a ) r(s,a) r(s,a)下的cumulative reward最大且使policy的entropy尽可能大。即 max ⁡ π ∈ Π E π [ r ( s , a ) ] + H ( π ) = R L ( r ) \max_{\pi \in \Pi }E_{\pi}[r(s,a)]+H(\pi)=RL(r) maxπΠEπ[r(s,a)]+H(π)=RL(r)
    2. 固定 max ⁡ π ∈ Π E π [ r ( s , a ) ] + H ( π ) \max_{\pi \in \Pi }E_{\pi}[r(s,a)]+H(\pi) maxπΠEπ[r(s,a)]+H(π)中的策略,寻找一个 r ( s , a ) r(s,a) r(s,a)使得专家数据的objective更大,刚才习得的policy objective更小,意味着寻找一个reward在专家行为中获得的奖励比其他policy都要大

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

  • Apprenticeship learning
    min ⁡ π max ⁡ c ∈ C E π [ 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)] πmincCmaxEπ[c(s,a)]Eπ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 ) = π ( a ∣ s ) ∑ t = 0 ∞ γ t P ( s t = s ∣ π ) p_\pi(s,a) = \pi(a|s)\sum_{t=0}^\infty \gamma^t P(s_t=s|\pi) pπ(s,a)=π(as)t=0γtP(st=sπ)用来衡量policy的(state,action)分布。当前状态s与动作a的联合概率 = 给定状态s选择动作a的概率 × \times ×将来回到当前状态s的可能概率。
    因此,目标与有效的occupancy measure可表示为:
    E π [ c ( s , a ) ] = ∑ s , a p π ( s , a ) c ( s , a ) E_{\pi}[c(s,a)] = \sum_{s,a}p_\pi(s,a)c(s,a) Eπ[c(s,a)]=s,apπ(s,a)c(s,a) D = { p : p ≥ 0 a n d ∑ a p ( s , a ) = p 0 ( s ) + γ ∑ s ′ , a P ( s ∣ s ′ , 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)\} D={p:p0andap(s,a)=p0(s)+γs,aP(ss,a)p(s,a)}

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

2.2 主要逻辑

下面是论文的关键逻辑:

  • IRL得到的是一个cost function,如果提供的expert demonstration比较少质量差,那得到的cost function很容易过拟合,因此IRL原问题定义为: I R L ψ ( π E ) = arg max ⁡ c ∈ C − ψ ( 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)] IRLψ(πE)=cCargmaxψ(c)+(πΠminEπ[c(s,a)]H(π))EπE[c(s,a)]其中 ψ \psi ψ为对cost function进行regularised的函数
  • 对IRL复原出来的cost function丢进RL中得到一个expert policy,有 R L ∘ I R L ψ ( π 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) RLIRLψ(πE)=πΠargminψ(pπpπE)H(π)说明这个过程得到的policy本质上是在使与专家policy的occupancy measure最小的policy。如果使 ψ \psi ψ为scalar,则 R L ∘ I R L ψ ( π E ) = arg min ⁡ π ∈ Π ( p π − p π E ) − H ( π ) RL\circ IRL_\psi(\pi_E)=\argmin_{\pi\in\Pi}(p_\pi-p_{\pi_E})-H(\pi) RLIRLψ(πE)=πΠargmin(pπpπE)H(π),所以选择的策略 π \pi π,使其与专家policy的occupancy measure即 p π E p_{\pi_E} pπE最小。
  • 如果 ψ \psi ψ是一个constant function, c ~ ∈ I R L ψ ( π E ) \tilde{c}\in IRL_\psi(\pi_E) c~IRLψ(πE) π ~ ∈ R L ( c ~ ) \tilde{\pi}\in RL(\tilde{c}) π~RL(c~),则有 p π ~ = p π E p_{\tilde{\pi}}=p_{\pi_E} pπ~=pπE

总结:整个过程其实就是在说明, R L ∘ I R L RL\circ IRL RLIRL这个过程得到的policy,就是在拟合专家数据中的occupancy measure
因此问题变为:
min ⁡ π d ψ ( p π , p E ) − H ( π ) \min_{\pi}d_\psi(p_\pi,p_E)-H(\pi) πmindψ(pπ,pE)H(π)选择一个策略 π \pi π使得其Occupancy Measure与专家数据的Occupancy Measure尽可能接近,加一个entropy term,希望policy在training过程中尽可能地探索。

所以选择 d ψ d_\psi dψ的不同形式,就可以导出不同的imitation learning的algorithms,其中 d ψ d_\psi dψ选择为下面的公式
1
则有: min ⁡ π ψ G A ∗ ( p π − p π E ) = min ⁡ π m a x D ∈ ( 0 , 1 ) S × A E π [ l o g D ( s , a ) ] + E π E [ l o g ( 1 − D ( s , a ) ) ] = min ⁡ π D J S ( 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} πminψGA(pπpπE)=πminmaxD(0,1)S×AEπ[logD(s,a)]+EπE[log(1D(s,a))]=πminDJS(pπ,pπE)
因此与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可以从其他形式获得。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值