Paper-5 总结 GAN-IRL-Energy Model之间的联系 2016年

A Connection Between Generative Adversarial Networks, Inverse Reinforcement Learning, and Energy-Based Models

论述点

  1. 相当的IRL方法从数学上与GAN等价
  2. Maximum Entropy IRL是Energy-based model的一种特例
  3. 更Generalize来说,将GAN当作一种训练算法对Energy-based Model进行训练,从而解决IRL中recover reward fuunction/cost function的问题

一、基础知识回顾

1.1 GAN

  • GAN的优化目标如下:
    min ⁡ θ max ⁡ ϕ V ( G θ , D ϕ ) = E x ∼ p data  [ log ⁡ D ϕ ( x ) ] + E z ∼ p ( z ) [ log ⁡ ( 1 − D ϕ ( G θ ( z ) ) ) ] \min _{\theta} \max _{\phi} V\left(G_{\theta}, D_{\phi}\right)=\mathbb{E}_{\mathbf{x} \sim \mathbf{p}_{\text {data }}}\left[\log D_{\phi}(\mathbf{x})\right]+\mathbb{E}_{\mathbf{z} \sim p(\mathbf{z})}\left[\log \left(1-D_{\phi}\left(G_{\theta}(\mathbf{z})\right)\right)\right] θminϕmaxV(Gθ,Dϕ)=Expdata [logDϕ(x)]+Ezp(z)[log(1Dϕ(Gθ(z)))]

思想:固定 G θ G_\theta Gθ改变参数 ϕ \phi ϕ使来自真实分布的样本的似然变大,使来自生成器噪声z的样本似然变小。然后固定 D ϕ D_\phi Dϕ,改变参数 θ \theta θ使生成器噪声z的样本通过判别器后的样本似然变大,即往尽可能混淆当前的判别器。

GAN的优化目标多变但思想不变,这篇Paper采用的形式如下:

判别器D的Loss: L ( D ) = E x ∼ p d a t a [ − l o g D ( x ) ] + E x ∼ G [ − l o g ( 1 − D ( x ) ) ] L(D)=E_{x\sim p_{data}}[-logD(x)]+E_{x\sim G}[-log(1-D(x))] L(D)=Expdata[logD(x)]+ExG[log(1D(x))]
生成器G的Loss: L ( G ) = E x ∼ G [ − l o g D ( x ) ] + E x ∼ G [ l o g ( 1 − D ( x ) ) ] L(G)=E_{x\sim G}[-logD(x)]+E_{x\sim G}[log(1-D(x))] L(G)=ExG[logD(x)]+ExG[log(1D(x))]

G的Loss有点变化,但思想是一样的,大家可自行检验一下。

1.2 Energy-Based Model(EBM)

p θ ( x ) = 1 Z e x p ( − E θ ( x ) ) p_\theta(x) = \frac{1}{Z}exp(-E_\theta(x)) pθ(x)=Z1exp(Eθ(x))难点出现在partition function Z的评估中,而 E θ ( x ) E_\theta(x) Eθ(x)就是energy function,常常以最大似然的方法来确定参数 θ \theta θ

Z = ∫ e x p ( − E θ ( x ) ) d x Z=\int exp(-E_\theta(x))dx Z=exp(Eθ(x))dx

1.3 IRL——GCL方法

  • IRL
    IRL的目标是从专家数据即demonstrated behaviors中recover一个cost function/reward function,即从专家数据中抽取一个intent,行为背后的意图。

Maximum Entropy IRL建模专家行为数据的方式就是采用了Energy-Based Model的方式:
p θ ( τ ) = 1 Z e x p ( − c θ ( τ ) ) = 1 Z e x p ( r θ ( τ ) ) p_\theta(\tau)=\frac{1}{Z}exp(-c_\theta(\tau))=\frac{1}{Z}exp(r_\theta(\tau)) pθ(τ)=Z1exp(cθ(τ))=Z1exp(rθ(τ))

使用了Energy Function采用了Cost Function来对轨迹 τ \tau τ建模,而轨迹的分布采用了Boltzmann Distribution的形式即 p θ ( τ ) p_\theta(\tau) pθ(τ)进行表达。

(论文采用了cost的方式表述,但实际上是reward等同,不再强调)

  • GCL(Paper-4 精读 GCL)
    建模了专家数据后,自然就是希望学习一个关于专家的轨迹分布 p θ ( τ ) p_\theta(\tau) pθ(τ),即求解参数 θ \theta θ
    L c o s t ( θ ) = E τ ∼ p [ − l o g p θ ( τ ) ] = E τ ∼ p [ c θ ( τ ) ] + l o g Z = E τ ∼ p [ c θ ( τ ) ] + l o g ( E τ ∼ q [ e x p ( − c θ ( τ ) ) q ( τ ) ] ) \begin{aligned} L_{cost}(\theta)&=E_{\tau\sim p}[-logp_\theta(\tau)]\\ &=E_{\tau\sim p}[c_\theta(\tau)]+logZ\\ &=E_{\tau\sim p}[c_\theta(\tau)] + log(E_{\tau \sim q}[\frac{exp(-c_\theta(\tau))}{q(\tau)}]) \end{aligned} Lcost(θ)=Eτp[logpθ(τ)]=Eτp[cθ(τ)]+logZ=Eτp[cθ(τ)]+log(Eτq[q(τ)exp(cθ(τ))])看了GCL的Paper精读就知道,在估计Z的时候采用了Policy的构建方式来对轨迹trajectory进行逼近,并用了Importance Sampling的形式来使用 q ( τ ) q(\tau) q(τ)的轨迹样本数据进行基于Samples的估计。

因为Importance Sampling的分布 q ( τ ) q(\tau) q(τ)一开始没有交集的话,这个weight就会有coverage的问题,加入一些专家数据有:

u = 1 2 p + 1 2 q u=\frac{1}{2}p+\frac{1}{2}q u=21p+21q

L c o s t ( θ ) = E τ ∼ p [ c θ ( τ ) ] + l o g ( E τ ∼ u [ e x p ( − c θ ( τ ) ) 1 2 p θ ( τ ) + 1 2 q ( τ ) ] ) L_{cost}(\theta)=E_{\tau\sim p}[c_\theta(\tau)] + log(E_{\tau \sim u}[\frac{exp(-c_\theta(\tau))}{\frac{1}{2}p_\theta(\tau)+\frac{1}{2}q(\tau)}]) Lcost(θ)=Eτp[cθ(τ)]+log(Eτu[21pθ(τ)+21q(τ)exp(cθ(τ))])

实现了对Cost的更新后,还需要将Policy构建的轨迹分布 q ( τ ) q(\tau) q(τ)用KL散度来拉近与专家数据分布 p θ ( τ ) p_\theta(\tau) pθ(τ)的距离。即
min ⁡ q L ( q ) = min ⁡ q E τ ∼ q [ c θ ( τ ) ] + E τ ∼ q [ l o g q ( τ ) ] \min_qL(q)=\min_qE_{\tau\sim q}[c_\theta(\tau)]+E_{\tau\sim q}[logq(\tau)] qminL(q)=qminEτq[cθ(τ)]+Eτq[logq(τ)]

选择policy构建的轨迹分布 q ( τ ) q(\tau) q(τ)在当前 c θ ( τ ) c_\theta(\tau) cθ(τ)下的cost最低,然后最大化 q ( τ ) q(\tau) q(τ)的Entropy即 H [ q ( τ ) ] = E τ ∼ q [ − l o g q ( τ ) ] H[q(\tau)]=E_{\tau\sim q}[-logq(\tau)] H[q(τ)]=Eτq[logq(τ)],从而使得 q ( τ ) q(\tau) q(τ)的分布更“broad”(最大化分布的entropy就是使其分布更宽广).

二、GAN与IRL的等价

思路:在GCL那篇Paper中,我们完全从IRL的角度出发推导然后从中发现了GAN的思想。现在从GAN的最优判别器出发,去推导GCL的

IRL的目标是学习到一个Cost Function,然后在2016 ICML中的一篇GCL,利用了Policy Optimization来指导Cost Function的Learning,与基础知识回顾中那样。在GAN的角度,将Cost Learning的部分看成是判别器D,将Policy Optimization Guidance的部分看成是生成器G,即
1GAN中最优的判别器形式为:
D ∗ ( τ ) = p ( τ ) p ( τ ) + q ( τ ) D^*(\tau)=\frac{p(\tau)}{p(\tau)+q(\tau)} D(τ)=p(τ)+q(τ)p(τ)其中 p ( τ ) p(\tau) p(τ)为数据真实分布, q ( τ ) q(\tau) q(τ)为生成器G的模型分布。

然后将MaxEntIRL对专家数据建模的轨迹分布 p θ ( τ ) = 1 Z e x p ( − c θ ( τ ) ) p_\theta(\tau)=\frac{1}{Z}exp(-c_\theta(\tau)) pθ(τ)=Z1exp(cθ(τ))代进去有:
D θ ( τ ) = 1 Z e x p ( − c θ ( τ ) ) 1 Z e x p ( − c θ ( τ ) ) + q ( τ ) D_\theta(\tau)=\frac{\frac{1}{Z}exp(-c_\theta(\tau))}{\frac{1}{Z}exp(-c_\theta(\tau))+q(\tau)} Dθ(τ)=Z1exp(cθ(τ))+q(τ)Z1exp(cθ(τ))

Z = ∫ e x p ( − c θ ( τ ) ) d τ Z=\int exp(-c_\theta(\tau))d\tau Z=exp(cθ(τ))dτ

现在从GAN判别器D的Loss开始推导: L ( D ) = E x ∼ p [ − l o g D ( x ) ] + E x ∼ q [ − l o g ( 1 − D ( x ) ) ] L(D)=E_{x\sim p}[-logD(x)]+E_{x\sim q}[-log(1-D(x))] L(D)=Exp[logD(x)]+Exq[log(1D(x))]

将最优的判别起代入Loss中即 D θ ( τ ) = 1 Z e x p ( − c θ ( τ ) ) 1 Z e x p ( − c θ ( τ ) ) + q ( τ ) D_\theta(\tau)=\frac{\frac{1}{Z}exp(-c_\theta(\tau))}{\frac{1}{Z}exp(-c_\theta(\tau))+q(\tau)} Dθ(τ)=Z1exp(cθ(τ))+q(τ)Z1exp(cθ(τ))

有: L ( D θ ) = E τ ∼ p [ c θ ( τ ) ] + l o g ( E τ ∼ u [ e x p ( − c θ ( τ ) ) 1 2 Z e x p ( − c θ ( τ ) ) + 1 2 q ( τ ) ] ) L(D_\theta)=E_{\tau\sim p}[c_\theta(\tau)] + log(E_{\tau \sim u}[\frac{exp(-c_\theta(\tau))}{\frac{1}{2Z}exp(-c_\theta(\tau))+\frac{1}{2}q(\tau)}]) L(Dθ)=Eτp[cθ(τ)]+log(Eτu[2Z1exp(cθ(τ))+21q(τ)exp(cθ(τ))])其中 u = 1 2 p θ ( τ ) + 1 2 q ( τ ) u=\frac{1}{2}p_\theta(\tau)+\frac{1}{2}q(\tau) u=21pθ(τ)+21q(τ),这正是GCL中关于Cost Function的优化目标。

将最优判别器代入到生成器的Loss中有:
L ( G ) = E x ∼ G [ − l o g D ( x ) ] + E x ∼ G [ l o g ( 1 − D ( x ) ) ] = E τ ∼ q [ l o g q ( τ ) + l o g Z + c θ ( τ ) ] = l o g Z + E τ ∼ q [ c θ ( τ ) ] + E τ ∼ q [ l o g q ( τ ) ] = l o g Z + L ( q ) L ( q ) = E τ ∼ q [ c θ ( τ ) ] + E τ ∼ q [ l o g q ( τ ) ] \begin{aligned} L(G)&=E_{x\sim G}[-logD(x)]+E_{x\sim G}[log(1-D(x))]\\ &=E_{\tau\sim q}\Big[logq(\tau)+logZ+c_\theta(\tau)\Big]\\ &=logZ+E_{\tau\sim q}[c_\theta(\tau)]+E_{\tau \sim q}[logq(\tau)]\\ &=logZ+L(q)\\ L(q)&=E_{\tau\sim q}[c_\theta(\tau)]+E_{\tau\sim q}[logq(\tau)] \end{aligned} L(G)L(q)=ExG[logD(x)]+ExG[log(1D(x))]=Eτq[logq(τ)+logZ+cθ(τ)]=logZ+Eτq[cθ(τ)]+Eτq[logq(τ)]=logZ+L(q)=Eτq[cθ(τ)]+Eτq[logq(τ)]

因为 Z = ∫ e x p ( − c θ ( x ) ) d x Z=\int exp(-c_\theta(x))dx Z=exp(cθ(x))dx q q q无关,因此生成器的目标等价于GCL中policy Optimizaiton的目标。


总结一下IRL中GCL的做法与GAN的对比:

  • GCL
  1. GCL迭代的是两个对象,一个是Cost Function即 c θ ( τ ) c_\theta(\tau) cθ(τ),轨迹用的是PGM的方式进行构建;另一个是Policy对象即 q ( τ ) q(\tau) q(τ),轨迹用的是Policy的方式进行构建。
  2. GCL中学习参数 θ \theta θ的目标为: L c o s t ( θ ) = E τ ∼ p [ c θ ( τ ) ] + l o g ( E τ ∼ u [ e x p ( − c θ ( τ ) ) 1 2 p θ ( τ ) + 1 2 q ( τ ) ] ) L_{cost}(\theta)=E_{\tau\sim p}[c_\theta(\tau)] + log(E_{\tau \sim u}[\frac{exp(-c_\theta(\tau))}{\frac{1}{2}p_\theta(\tau)+\frac{1}{2}q(\tau)}]) Lcost(θ)=Eτp[cθ(τ)]+log(Eτu[21pθ(τ)+21q(τ)exp(cθ(τ))])用最大似然估计MLE来近似专家数据,用Policy来处理 l o g Z logZ logZ
  3. GCL中学习Policy分布的目标为:
    min ⁡ q L ( q ) = min ⁡ q E τ ∼ q [ c θ ( τ ) ] + E τ ∼ q [ l o g q ( τ ) ] \min_qL(q)=\min_qE_{\tau\sim q}[c_\theta(\tau)]+E_{\tau\sim q}[logq(\tau)] qminL(q)=qminEτq[cθ(τ)]+Eτq[logq(τ)]就是一个MaxEntIRL目标,使q在当前reward下取得损失最小,同时使q分布尽可能宽广。
  • GAN
  1. 最优判别器的形式 D ∗ ( τ ) = p ( τ ) p ( τ ) + q ( τ ) D^*(\tau)=\frac{p(\tau)}{p(\tau)+q(\tau)} D(τ)=p(τ)+q(τ)p(τ),利用Energy-based Model以及Boltzmann Distribution来对 p ( τ ) p(\tau) p(τ)进行建模,然后代入到GAN的判别器Loss即 L ( D ) = E x ∼ p d a t a [ − l o g D ( x ) ] + E x ∼ G [ − l o g ( 1 − D ( x ) ) ] L(D)=E_{x\sim p_{data}}[-logD(x)]+E_{x\sim G}[-log(1-D(x))] L(D)=Expdata[logD(x)]+ExG[log(1D(x))]得到与GCL的Cost Learning一样的目标
  2. 最优判别器的形式代入到GAN的生成器Loss即 L ( G ) = E x ∼ G [ − l o g D ( x ) ] + E x ∼ G [ l o g ( 1 − D ( x ) ) ] L(G)=E_{x\sim G}[-logD(x)]+E_{x\sim G}[log(1-D(x))] L(G)=ExG[logD(x)]+ExG[log(1D(x))]得到与GCL的Policy Objective即MaxEntIRL Objective一样的目标。

至此,GAN与IRL从数学角度上是等价的,但两者目标的推导角度从各自领域是不一样的,但最终结果是相通的。

三、GANs训练Energy-Based Model

在GAN与IRL中的GCL的联系中,我们都默认采用了cost的方式来建模Energy-Based Model:
p ( τ ) = 1 Z e x p ( − E ( τ ) ) = 1 Z e x p ( − c ( τ ) ) p(\tau)=\frac{1}{Z}exp(-E(\tau))=\frac{1}{Z}exp(-c(\tau)) p(τ)=Z1exp(E(τ))=Z1exp(c(τ)) Z = ∫ e x p ( − E ( τ ) ) d τ Z=\int exp(-E(\tau))d\tau Z=exp(E(τ))dτ

然后利用了Importance Sampling的角度来近似这个partition function即
Z = ∫ e x p ( − E ( τ ) ) d τ = ∫ u ( τ ) e x p ( − E ( τ ) ) u ( τ ) d τ = E τ ∼ u [ e x p ( − E ( τ ) ) u ( τ ) ] \begin{aligned} Z&=\int exp(-E(\tau))d\tau\\ &=\int u(\tau)\frac{exp(-E(\tau))}{u(\tau)}d\tau\\ &=E_{\tau\sim u}\Big[\frac{exp(-E(\tau))}{u(\tau)}\Big] \end{aligned} Z=exp(E(τ))dτ=u(τ)u(τ)exp(E(τ))dτ=Eτu[u(τ)exp(E(τ))]

其中 u ( τ ) = 1 2 ( p ( τ ) + q ( τ ) ) u(\tau)=\frac{1}{2}(p(\tau)+q(\tau)) u(τ)=21(p(τ)+q(τ)),然后通过MLE得到关于Cost或判别器D的目标:
L D ( θ ) = E τ ∼ p [ − l o g p θ ( τ ) ] = E τ ∼ p [ − E θ ( τ ) ] − l o g ( E x ∼ u ( e x p ( − E θ ( τ ) ) u ( τ ) ) ) \begin{aligned} L_D(\theta)&=E_{\tau\sim p}[-logp_\theta(\tau)]\\ &=E_{\tau\sim p}[-E_\theta(\tau)]-log\Big(E_{x\sim u}\Big(\frac{exp(-E_\theta(\tau))}{u(\tau)}\Big)\Big) \end{aligned} LD(θ)=Eτp[logpθ(τ)]=Eτp[Eθ(τ)]log(Exu(u(τ)exp(Eθ(τ))))

然后生成器的目标为:
L G ( q ) = E x ∼ q [ E θ ( τ ) ] + E x ∼ q [ l o g q ( τ ) ] L_G(q)=E_{x\sim q}[E_\theta(\tau)]+E_{x\sim q}[logq(\tau)] LG(q)=Exq[Eθ(τ)]+Exq[logq(τ)]

因此从Energy-base model去看问题,选择的角度就比较广了,不仅仅是是 E θ ( τ ) = c θ ( τ ) E_\theta(\tau)=c_\theta(\tau) Eθ(τ)=cθ(τ),从而可以多角度设计判别器来尝试这个问题。

四、总结

比较High-Level的总结一下GAN、IRL的GCL、Energy-based Model之间的联系以及主要逻辑,不拘泥于公式细节。

首先有一堆专家数据。

  • IRL的角度。
  1. 利用一个带Optimality Variable的PGM图对专家的行为轨迹进行了建模,尝试拟合专家轨迹分布
  2. 涉及到partition function的近似估计时,利用了基于Samples的方法近似估计,即用另一个Policy构建的轨迹分布进行采样,而不用非常慢的MCMC
  3. 然后就得优化这个新构建的轨迹分布确保Important Sampling的Coverage,使其逼近专家轨迹的分布。
  • GAN的角度
  1. 判别器在选择一个cost function/reward function,使真实的专家行为数据cost最低/reward最大,然后远离生成器的generated behavior datas
  2. 生成器尝试生成一些能骗过判别器D的专家行为数据,

至于Energy-based Model则是表达专家行为轨迹分布实采用的有力武器。就是说,应该如何更好地将专家的行为轨迹(trajectory)即 τ = { s 1 , a 1 , s 2 , a 2 , . . . , s T } \tau = \{s_1,a_1,s_2,a_2,...,s_T\} τ={s1,a1,s2,a2,...,sT}表达成一个轨迹分布 p ( τ ) = 1 Z e x p ( − E ( τ ) ) p(\tau)=\frac{1}{Z}exp(-E(\tau)) p(τ)=Z1exp(E(τ))

GAN与GAIL、GCL的联系:
GAIL中的判别器输出是0,1
GCL中的判别器输出是经过设计的

2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值