Paper-9 精读VAIL (2019 ICLR)

Variational Dicriminator Bottleneck:Improving Imitation Learning, Inverse RL, And GANs by Constraining Information Flow

概述

GAIL、GCL、GAN与Inverse RL、AIRL这四篇,属于Imitation Learning与Inverse RL混合的一块,然后这一篇VAIL实际上就是将解决GAN上的迁移过,本质上Information Bottleneck就是加了个regularization。

具体看看怎么加Regularization,以及它们的分析。

GAN的最大问题就是,如果判别器D训练得太好,那么回传给生成器G的梯度就消失了。VAIL就是在G和D之间加一个Encoder,来对Information 进行限制。(通常有加noise、对D的Gradient进行Penalty、或者像WGAN换度量尺度)

因为这篇Paper的是在把GAN中的方法引入到IL以及IRL这个中,因此更关注于实验的设置。

一、文章主要逻辑

1
这个就是整体框架图了。要搞清楚的是在Supervised Learning、Imitation Learning、Inverse RL这三个问题下G的Objective变成了什么,D的Objective变成了什么,这个Constraining Informtion Flow是加在哪的,如何近似被优化计算?

简记x为features,y为labels,z为latent vector,简洁描述下问题:

1.1 Supervised Learning

q是我们模型的分布、p是真实数据分布,最大似然估计:
max ⁡ q E ( x , y ) ∼ p ( x , y ) [ l o g q ( y ∣ x ) ] \max_q \mathbb{E}_{(x,y)\sim p(x,y)}\Big[logq(y|x)\Big] qmaxE(x,y)p(x,y)[logq(yx)]

加了一个Encoder对x进行编码成一个隐向量z即 E [ z ∣ x ] E[z|x] E[zx],然后利用Mutual Information筛选informative discriminative的x:(注意区分一下期望 E \mathbb{E} E与Encode的 E [ z ∣ x ] E[z|x] E[zx]

max ⁡ q E ( x , y ) ∼ p ( x , y ) [ E z ∼ E [ z ∣ x ] [ l o g q ( y ∣ z ) ] ] s . t I ( X , Z ) ) ≤ I c \max_q \mathbb{E}_{(x,y)\sim p(x,y)}\Big[\mathbb{E}_{z\sim E[z|x]}\big[logq(y|z)\big]\Big]\\ s.t\quad I(X,Z))\leq I_c qmaxE(x,y)p(x,y)[EzE[zx][logq(yz)]]s.tI(X,Z))Ic

用完美的Encoder代替了 p ( z ∣ x ) p(z|x) p(zx)这个真实的分布:

I ( X , Z ) = ∫ p ( x , z ) l o g p ( x , z ) p ( x ) p ( z ) d x d z = ∫ p ( x ) E ( z ∣ x ) l o g E ( z ∣ x ) p ( z ) d x d z I(X,Z)=\int p(x,z)log\frac{p(x,z)}{p(x)p(z)}dxdz=\int p(x)E(z|x)log\frac{E(z|x)}{p(z)}dxdz I(X,Z)=p(x,z)logp(x)p(z)p(x,z)dxdz=p(x)E(zx)logp(z)E(zx)dxdz

计算有了完美的Encoder但Mutual Information的边际分布,没办法计算真实隐向量的分布:

p ( z ) = ∫ E ( z ∣ x ) p ( x ) d x p(z)=\int E(z|x)p(x)dx p(z)=E(zx)p(x)dx

因此引入了一个分布 r ( z ) r(z) r(z),通过施加约束 K L [ p ( z ) ∣ ∣ r ( z ) ] ≥ 0 KL[p(z)||r(z)]\geq0 KL[p(z)r(z)]0来近似真实分布 p ( z ) p(z) p(z):

I ( X , Z ) ≤ ∫ p ( x ) E ( z ∣ x ) l o g E ( z ∣ x ) r ( z ) d x d z = E x ∼ p ( x ) [ K L [ E ( z ∣ x ) ∣ ∣ r ( z ) ] ] I(X,Z)\leq \int p(x)E(z|x)log\frac{E(z|x)}{r(z)}dxdz=\mathbb{E}_{x\sim p(x)}\Big[KL[E(z|x)||r(z)]\Big] I(X,Z)p(x)E(zx)logr(z)E(zx)dxdz=Exp(x)[KL[E(zx)r(z)]]

所以找到一个Mutual Information的上界进行优化,因此有:

max ⁡ q , E E x , y ∼ p ( x , y ) [ E z ∼ E ( z ∣ x ) [ l o g q ( y ∣ z ) ] ] s . t E x ∼ p ( x ) [ K L [ E ( z ∣ x ) ∣ ∣ r ( z ) ] ] ≤ I c \max_{q,E}\mathbb{E}_{x,y\sim p(x,y)}\Big[\mathbb{E}_{z\sim E(z|x)}[logq(y|z)]\Big]\\ s.t\quad \mathbb{E}_{x\sim p(x)}[KL[E(z|x)||r(z)]]\leq I_c q,EmaxEx,yp(x,y)[EzE(zx)[logq(yz)]]s.tExp(x)[KL[E(zx)r(z)]]Ic

所以无约束问题变为:

max ⁡ q , E E x , y ∼ p ( x , y ) [ E z ∼ E ( z ∣ x ) [ l o g q ( y ∣ z ) ] ] + β ( E x ∼ p ( x ) [ K L [ E ( z ∣ x ) ∣ ∣ r ( z ) ] ] ≤ − I c ) \max_{q,E}\mathbb{E}_{x,y\sim p(x,y)}\Big[\mathbb{E}_{z\sim E(z|x)}[logq(y|z)]\Big]+\beta\Big( \mathbb{E}_{x\sim p(x)}[KL[E(z|x)||r(z)]]\leq-I_c\Big) q,EmaxEx,yp(x,y)[EzE(zx)[logq(yz)]]+β(Exp(x)[KL[E(zx)r(z)]]Ic)

1.2 Imitation Learning

GAN的目标:
max ⁡ G min ⁡ D E x ∼ p ( x ) [ − l o g D ( x ) ] + E x ∼ G ( x ) [ − l o g ( 1 − D ( x ) ] \max_G\min_D \mathbb{E}_{x\sim p(x)}[-logD(x)]+\mathbb{E}_{x\sim G(x)}[-log(1-D(x)] GmaxDminExp(x)[logD(x)]+ExG(x)[log(1D(x)]

加入了Encoder后判别器D(x)的目标:(还要优化Encoder的呀)

min ⁡ D , E E x ∼ p ( x ) [ E z ∼ E ( z ∣ x ) [ − l o g D ( z ) ] ] + E x ∼ G ( x ) [ E z ∼ E ( z ∣ x ) [ − l o g ( 1 − D ( z ) ] ] s . t E x ∼ p ~ ( x ) [ K L ( E ( z ∣ x ) ∣ ∣ r ( z ) ) ] ≤ I c \min_{D,E} \mathbb{E}_{x\sim p(x)}[\mathbb{E}_{z\sim E(z|x)}[-logD(z)]]+\mathbb{E}_{x\sim G(x)}[\mathbb{E}_{z\sim E(z|x)}[-log(1-D(z)]]\\ s.t \quad \mathbb{E}_{x\sim \tilde p(x)}\Big[KL(E(z|x)||r(z))\Big]\leq I_c D,EminExp(x)[EzE(zx)[logD(z)]]+ExG(x)[EzE(zx)[log(1D(z)]]s.tExp~(x)[KL(E(zx)r(z))]Ic

其中 p ~ ( x ) = 1 2 ( p ( x ) + G ) \tilde p(x) =\frac{1}{2}(p(x)+G) p~(x)=21(p(x)+G),这个判别器D的更新要用那个Dual Gradient Descent对 D , E , β D,E,\beta D,E,β进行更新.

设置下 r ( z ) = N ( 0 , I ) r(z)=\bf N(0,I) r(z)=N(0,I) E ( z ∣ x ) = N ( μ E ( x ) , Σ E ( x ) ) E(z|x)=\bf{N}(\mu_E(x),\Sigma_E(x)) E(zx)=N(μE(x),ΣE(x))

加入了Encoder后生成器G(x)的目标:

max ⁡ G E x ∼ G ( x ) [ − l o g ( 1 − D ( μ E ( x ) ) ] \max_G \mathbb{E}_{x\sim G(x)}[-log(1-D(\mu_E(x))] GmaxExG(x)[log(1D(μE(x))]

然后这个 D ( z ) D(z) D(z)一般都用reparameterization trick。

实际上就GAIL加了一个regularization term即mutual Information,求解时优化mutual Information约束的上界。

1.3 Inverse RL

Inverse RL是一个最大似然的问题:

max ⁡ ψ ∑ i = 1 N p ( τ i ∣ O 1 : T , ψ ) \max_\psi \sum_{i=1}^Np(\tau^i|O_{1:T},\psi) ψmaxi=1Np(τiO1:T,ψ)

p ( τ ∣ O 1 : T , ψ ) = p ( s 0 ) ∏ t = 0 T p ( s t + 1 ∣ s t , a t ) exp ⁡ ( r ( s t , a t ) ) p(\tau|O_{1:T},\psi)=p(s_0)\prod_{t=0}^Tp(s_{t+1}|s_t,a_t)\exp(r(s_t,a_t)) p(τO1:T,ψ)=p(s0)t=0Tp(st+1st,at)exp(r(st,at))

这个IRL里典型的算法就是GCL,其与GAIL的不同,就是在于判别器的结构问题。GAIL中的判别器输出是0,1这个概念,而GCL中的判别器是有结构的,即:
D θ ( s , a ) = e x p ( f θ ( s , a ) ) e x p ( f θ ( s , a ) ) + π ( a ∣ s ) D_\theta(s,a)=\frac{exp(f_\theta(s,a))}{exp(f_\theta(s,a))+\pi(a|s)} Dθ(s,a)=exp(fθ(s,a))+π(as)exp(fθ(s,a))

在AIRL中探讨了disentangled reward后设计的判别器结构:
D θ , ϕ ( s , a , s ′ ) = e x p ( f θ , ϕ ( s , a , s ′ ) ) e x p ( f θ , ϕ ( s , a , s ′ ) ) + π ( a ∣ s ) D_{\theta,\phi}(s,a,s')=\frac{exp(f_{\theta,\phi}(s,a,s'))}{exp(f_{\theta,\phi}(s,a,s'))+\pi(a|s)} Dθ,ϕ(s,a,s)=exp(fθ,ϕ(s,a,s))+π(as)exp(fθ,ϕ(s,a,s))

这篇文章的VIRL中加入一个Encoder后的判别器结构:
D ( s , a , z ) = exp ⁡ ( f ( z g , z h , z h ′ ) ) exp ⁡ ( f ( z g , z h , z h ′ ) ) + π ( a ∣ s ) D(s,a,z)=\frac{\exp(f(z_g,z_h,z_h^{'}))}{\exp(f(z_g,z_h,z_{h}^{'}))+\pi(a|s)} D(s,a,z)=exp(f(zg,zh,zh))+π(as)exp(f(zg,zh,zh))

其中 z = ( z g , z h , z h ′ ) z=(z_g,z_h,z_{h}^{'}) z=(zg,zh,zh)是简写, f ( z g , z h , z h ′ ) = D g ( z g ) + γ D h ( z h ′ ) − D h ( z h ) f(z_g,z_h,z_{h}^{'})=D_g(z_g)+\gamma D_h(z_h')-D_h(z_h) f(zg,zh,zh)=Dg(zg)+γDh(zh)Dh(zh)是AIRL论文中关于reward shaping term的参数化过程,这里只是将原本的state即s换成了通过了Encoder的z。

所以VAIRL判别器目标为:
min ⁡ D , E E s , s ′ ∼ π ∗ ( s , s ′ ) [ E z ∼ E ( z ∣ s , s ′ ) [ − l o g D ( s , a , z ) ] ] + E s , s ′ ∼ π ( s , s ′ ) [ E z ∼ E ( z ∣ s . s ′ ) [ − l o g ( 1 − D ( s , a . z ) ] ] s . t E x ∼ π ~ ( s , s ′ ) [ K L ( E ( z ∣ s , s ′ ) ∣ ∣ r ( z ) ) ] ≤ I c \min_{D,E} \mathbb{E}_{s,s'\sim \pi^*(s,s')}[\mathbb{E}_{z\sim E(z|s,s')}[-logD(s,a,z)]]+\mathbb{E}_{s,s'\sim \pi(s,s')}[\mathbb{E}_{z\sim E(z|s.s')}[-log(1-D(s,a.z)]]\\ s.t \quad \mathbb{E}_{x\sim \tilde \pi(s,s')}\Big[KL(E(z|s,s')||r(z))\Big]\leq I_c D,EminEs,sπ(s,s)[EzE(zs,s)[logD(s,a,z)]]+Es,sπ(s,s)[EzE(zs.s)[log(1D(s,a.z)]]s.tExπ~(s,s)[KL(E(zs,s)r(z))]Ic

==将Imitation Learning即GAIL的目标中x变成 s , s ′ s,s' s,s,其中 E ( z ∣ s , s ′ ) = E g ( z g ∣ s ) E h ( z h ∣ s ) E h ( z h ′ ∣ s ′ ) E(z|s,s')=E_g(z_g|s)E_h(z_h|s)E_h(z_h'|s') E(zs,s)=Eg(zgs)Eh(zhs)Eh(zhs)

二、实验设置

这个加Encoder的操作,并且利用Mutual Inforamtion或Info Gain进行约束,筛选informative的features,称为Variational Discriminator Bottleneck,简记为VDB。
下面在三个问题背景上做实验验证这个Regularization的trick。

看看这2019 ICLR是怎么设计实验的吧?

叙述的实验:

  1. VAIL:Variational Adversarial Imitation Learning
  2. VAIRL:Variational Adversarial Inverse Reinforcement Learning
  3. VGAN:Variational Generative Adversarial Networks

2.1 VAIL

1

与Imitation Learning相关的算法进行对比,直接学出Policy,不通过Reward Function。

  • BC为Behavioral Cloning
  • GAIL-noise是指在判别器上加噪声防止梯度消失
  • GAIL-GP是指在判别器上使用Gradient Penalty这种方法
  • Paper的方法VAIL是在G与判别器D之间引入一个Encoder与Mutual Information约束
  • VAIL-GP是结合了Gradient Penalty这种做法

至于最后一行为DeepMimic,Paper-8的那篇文章,采用了Imitation Objective与Task Objective精心设计的Reward进行RL的。

所以这个实验的对比尺度是在Discriminator上,对比噪声、GP、提出的Encoder的性能,这些都是没有设计Reward直接学出来的Policy,最后与精心设计过Reward的方法DeepMimic学出来的Policy进行对比。

最后的对比目的是想说,这种方法VAIL学出来的Policy与精心设计Reward学出来的Policy差不多,这样就可以免去Reward Engineering了。

然后还有扩展了一下VAIL的问题,上面操作的数据是状态,下面再扩展做了一个实验说明VAIL可以从raw pixels from video clips开始学Policy,不仅仅是State,而GAIL不行

2
要探究的超参数有KL约束的上界 I c I_c Ic,化成无约束问题前的系数 β \beta β,以及在扩展实验Video demo上VAIL比GAIL性能好一大截。

评价的指标是:训练好的Policy的轨迹与专家数据轨迹的MSE(Mean Squre Error)

2.2 VAIRL

这个问题背景是学出一个Reward Function,然后再用这个Reward Function用RL的方法得到一个Policy。(换了一个问题背景)
3

这些都是之前精读过的Paper,VAIRL最好的对比是AIRL,因为两者都是Recover一个Reward Function,再用Learned Reward去得到一个Policy。

然后对比直接得到Policy的GAIL与VAIL。

最后的TRPO expert的意思是,把TRPO得出来的Policy当作Expert数据,作为一个基准,评估方法的实际表现。

2.3 VGAN

可能是因为觉得这个加一个Regularization的贡献太少吧,于是又换了一个问题背景来评估这个Trick。。
在这里插入图片描述

这次直接在GAN的任务Image Generation上做评估了。与Spectral Normalization(SN)、WGAN、Instance Noise、GP这些GAN的主要Tricks做对比,更一步说,这个不仅是在RL相关的问题上有效,而且在其诞生的原有任务上也是有提升的,这是一个好Trick。

2.4 实验总结

可能文章创新点就是一个Regularization,怕被说不足,于是做了很多实验,在三个问题背景下都与原有的方法进行了比较。。。

首先在Imitation Learning下,对比了GAIL以及各种噪声,甚至扩展了实验到Video Demo
其次在Inverse RL下,对比了2018 ICLR的AIRL
最后回到GAN领域任务图像生成,在CIFAR10上再次对比了GAN的各种改进Trick

因此实验量爆炸:

  1. VAIL在Humanoid的五种不同动作的任务上进行评估,并扩展到Video
  2. VAIRL找了AIRL表现不好的Maze任务上进行评估,可以直观体会VAIRL的好处
  3. VGAN在CIFAR10上对比了这个Mutual Information Encoder与各种Tricks的表现

三、总结

实验细节如超参数、专家数据、每个方法的学习都在Paper附录中可以找到。(创新不够,实验来凑呀,作为没基础的实验室,这实验量有点吃惊= =)

一句话总结:提出了一种Mutual Information 的Regularization方法,成功迁移到了Imitation Learning与Inverse RL的领域,并进行了一定程度上的理论分析与充足的实验验证(感觉我是一个马后炮Reviewer哈哈哈哈哈哈)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值