PEMIRL:Probabilistic Embeddings for Meta-Inverse RL
核心思想
其实这篇论文就就会meta learning with latent variable和IRL框架的结合。IRL学习其实也可以看做一种模仿学习,InfoGAIL中也叫做学徒学习。所以其总体思想也类似于InfoGAIL(笔记回顾),额外的增加一个condition on隐变量的reward function f ( s , a , m ) f(s,a,m) f(s,a,m)的学习。
方法
IRL基本框架
模仿学习不管是直接学习策略,还是先学习一个reward function(IRL),其最终目的都是利用监督学习去解释(或合理化)专家策略产生的数据(行为)的分布。模仿学习直接通过模仿策略函数解释,而IRL则是通过模仿奖励函数间接地合理化专家的行为,因此IRL的奖励函数通过最大化数据的MLE来解释专家行为:
p
θ
(
τ
)
∝
η
(
s
0
)
∏
t
=
0
T
p
(
s
t
+
1
∣
s
t
,
a
t
)
exp
(
∑
t
=
0
T
f
θ
(
s
t
,
a
t
)
)
=
p
~
θ
(
τ
)
p_\theta(\tau)\propto\eta(s_0)\prod_{t=0}^T p(s_{t+1}|s_t,a_t)\exp (\sum^T_{t=0}f_\theta(s_t,a_t))=\tilde{p}_\theta(\tau)
pθ(τ)∝η(s0)t=0∏Tp(st+1∣st,at)exp(t=0∑Tfθ(st,at))=p~θ(τ)其中
p
θ
(
τ
)
p_\theta(\tau)
pθ(τ)是通过reward function解释数据的似然概率,注意这里没有策略概率分布
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)是因为奖励函数
f
f
f用来解释给定的具体专家数据,不包含对策略的解释。直白的解释就是样本中状态-动作对
(
s
t
,
a
t
)
(s_t,a_t)
(st,at)出现的越多,说明专家策略在
s
t
s_t
st下采取动作
a
t
a_t
at的可能性更大,理应有更多的奖励。换言之,这个样本
τ
\tau
τ的概率分布是通过
f
f
f诱导的,下面还有通过
π
\pi
π诱导的,和这个不一样。
p
~
θ
(
τ
)
\tilde{p}_\theta(\tau)
p~θ(τ)则是未归一化的
p
θ
(
τ
)
p_\theta(\tau)
pθ(τ)的形式,正则项为
Z
θ
=
∫
p
~
θ
(
τ
)
d
τ
Z_\theta=\int\tilde{p}_\theta(\tau)d\tau
Zθ=∫p~θ(τ)dτ。
有了任意轨迹样本似然概率
p
θ
(
τ
)
p_\theta(\tau)
pθ(τ),那么只要最大化专家策略样本
p
π
E
(
τ
)
p_{\pi_E}(\tau)
pπE(τ)和
p
θ
(
τ
)
p_\theta(\tau)
pθ(τ)的相似性(最小化KL)就可以求解reward function:
arg
min
θ
D
K
L
[
p
π
E
(
τ
)
∣
∣
p
θ
(
τ
)
]
=
arg
max
θ
E
τ
∼
p
π
E
(
τ
)
[
log
p
θ
(
τ
)
]
=
arg
max
θ
E
τ
∼
p
π
E
(
τ
)
[
∑
t
=
0
T
f
θ
(
s
t
,
a
t
)
]
−
log
Z
θ
\arg\min_\theta D_{KL}[p_{\pi_E}(\tau)||p_\theta(\tau)]=\arg\max_\theta\mathbb{E}_{\tau\sim p_{\pi_E}(\tau)}[\log p_\theta(\tau)]=\arg\max_\theta\mathbb{E}_{\tau\sim p_{\pi_E}(\tau)}[\sum^T_{t=0}f_\theta(s_t,a_t)]-\log Z_\theta
argθminDKL[pπE(τ)∣∣pθ(τ)]=argθmaxEτ∼pπE(τ)[logpθ(τ)]=argθmaxEτ∼pπE(τ)[t=0∑Tfθ(st,at)]−logZθ这面很大的问题就是
Z
θ
Z_\theta
Zθ很难求解。
AIRL
Adversarial IRL是一种有效的求解最大熵逆强化学习(MaxEnt IRL)的框架。类似GAIL,同样利用GAN的训练方式来对抗求解reward function。AIRL中生成模型代表学习策略
π
ω
\pi_\omega
πω,判别模型是一个二值分类器
D
θ
(
s
,
a
)
=
exp
f
θ
(
s
,
a
)
(
exp
f
θ
(
s
,
a
)
+
π
ω
(
a
∣
s
)
)
D_\theta(s,a)=\frac{\exp f_\theta(s,a)}{(\exp f_\theta(s,a)+\pi_\omega(a|s))}
Dθ(s,a)=(expfθ(s,a)+πω(a∣s))expfθ(s,a)。简单理解,
D
D
D值越大,
(
s
,
a
)
(s,a)
(s,a)属于专家策略样本的概率越高,其目的就是准确区分专家策略样本和学习策略样本。因此
θ
\theta
θ确定时(判别模型更新后),为了使
π
ω
\pi_\omega
πω更加符合专家策略,需要最大化
E
ρ
π
ω
[
log
D
θ
(
s
,
a
)
−
log
(
1
−
D
θ
(
s
,
a
)
)
]
\mathbb{E}_{\rho_{\pi_\omega}}[\log D_\theta(s,a)-\log(1-D_\theta(s,a))]
Eρπω[logDθ(s,a)−log(1−Dθ(s,a))],经过化简可以得到最大熵IRL模型:
E
ρ
π
ω
[
log
D
θ
(
s
,
a
)
−
log
(
1
−
D
θ
(
s
,
a
)
)
]
=
E
ρ
π
ω
[
∑
t
=
0
T
f
θ
(
s
t
,
a
t
)
−
log
π
ω
(
a
t
∣
s
t
)
]
\mathbb{E}_{\rho_{\pi_\omega}}[\log D_\theta(s,a)-\log(1-D_\theta(s,a))]=\mathbb{E}_{\rho_{\pi_\omega}}[\sum^T_{t=0}f_\theta(s_t,a_t)-\log\pi_\omega(a_t|s_t)]
Eρπω[logDθ(s,a)−log(1−Dθ(s,a))]=Eρπω[t=0∑Tfθ(st,at)−logπω(at∣st)]这里注意的是,前后两个log项都是用同一个样本,所以这两项是相减的。这一项最大化的意思是是的
π
ω
\pi_\omega
πω产生的样本尽可能和专家样本一致,也就是越接近专家策略
π
E
\pi_E
πE。但其实最后的算法并没有采用这种,而是类似GAIL那种前后两个log项是不同策略样本,并且是相加的关系。
Probabilistic Context Variable
同样的引入概率隐变量
m
m
m作为描述任务特征分布的变量。在Meta-IRL框架下,condition 奖励函数
f
f
f和策略函数
π
\pi
π on 概率隐变量
m
m
m。Meta-IRL的setting是:假设存在
(
\boldsymbol{(}
(但未知
)
\boldsymbol{)}
)不同任务下的专家策略
π
E
(
a
∣
s
,
m
)
\pi_E(a|s,m)
πE(a∣s,m)和对应的奖励函数
r
(
s
,
a
,
m
)
r(s,a,m)
r(s,a,m)。只是给定这些所有专家策略样本的边际分布:
p
π
E
(
τ
)
=
∫
p
π
E
(
τ
∣
m
)
p
(
m
)
d
m
p_{\pi_E}(\tau)=\int p_{\pi_E}(\tau|m)p(m)dm
pπE(τ)=∫pπE(τ∣m)p(m)dm。那么Meta-IRL的核心问题就是要根据
p
π
E
(
τ
)
p_{\pi_E}(\tau)
pπE(τ)中的采样样本,元学习到一个推断网络
q
(
m
∣
τ
)
q(m|\tau)
q(m∣τ)以及一个奖励函数
f
(
s
,
a
,
m
)
f(s,a,m)
f(s,a,m)。使得满足以下条件:当从真实任务分布中随机采样一个
m
′
∼
p
(
m
)
m'\sim p(m)
m′∼p(m),并且通过执行相应的专家策略进行采样
τ
E
∼
p
π
E
(
τ
∣
m
′
)
\tau_E\sim p_{\pi_E}(\tau|m')
τE∼pπE(τ∣m′)(这个过程都是理想假设的,实际直接采样
τ
E
\tau_E
τE)。然后元学习得到的模型通过先推断具体任务概率隐变量
m
^
∼
q
(
m
∣
τ
E
)
\hat{m}\sim q(m|\tau_E)
m^∼q(m∣τE),使得利用相应的任务奖励函数
f
(
s
,
a
,
m
^
)
f(s,a,\hat{m})
f(s,a,m^)和真实不存在的任务函数
r
(
s
,
a
,
m
′
)
r(s,a,m')
r(s,a,m′)在最大熵rl框架下能学习到一样的最优策略。
TLDR:就是能根据采样样本准确推断出任务隐变量
m
m
m,然后得到针对特定任务的自适应奖励函数
f
(
s
,
a
,
m
)
f(s,a,m)
f(s,a,m)从而能利用最大熵框架求出最优策略。
MI regularization over Latent Variable
类似于InfoGAIL方法中的,仅在AIRL框架中每个涉及到的部分condition on
m
m
m会导致在训练过程中直接忽略掉
m
m
m的作用,所以需要再加上一些隐变量和奖励函数之间的关系,这里同样采样互信息约束:
I
p
θ
(
m
;
τ
)
=
E
m
∼
p
(
m
)
;
τ
∼
p
θ
(
τ
∣
m
)
[
log
p
θ
(
m
∣
τ
)
−
log
p
(
m
)
]
I_{p_\theta}(m;\tau)=\mathbb{E}_{m\sim p(m);\tau\sim p_\theta(\tau|m)}[\log p_\theta(m|\tau)-\log p(m)]
Ipθ(m;τ)=Em∼p(m);τ∼pθ(τ∣m)[logpθ(m∣τ)−logp(m)]同InfoGAIL里将后验
p
θ
(
m
∣
τ
)
p_\theta(m|\tau)
pθ(m∣τ)用推断网络
q
ψ
(
m
∣
τ
)
q_\psi(m|\tau)
qψ(m∣τ)代替。不同隐变量下轨迹样本的似然分布
p
θ
(
τ
∣
m
)
p_\theta(\tau|m)
pθ(τ∣m)按照上式reward function诱导分布可表示为:
p
(
τ
=
{
s
0
:
T
,
a
0
:
T
}
∣
m
)
=
1
Z
θ
η
(
s
0
)
∏
t
=
0
T
p
(
s
t
+
1
∣
s
t
,
a
t
)
exp
(
∑
t
=
0
T
f
θ
(
s
t
,
a
t
,
m
)
)
p(\tau=\{s_{0:T},a_{0:T}\}|m)=\frac{1}{Z_\theta}\eta(s_0)\prod_{t=0}^Tp(s_{t+1}|s_t,a_t)\exp(\sum_{t=0}^Tf_\theta(s_t,a_t,m))
p(τ={s0:T,a0:T}∣m)=Zθ1η(s0)t=0∏Tp(st+1∣st,at)exp(t=0∑Tfθ(st,at,m))
Objective Function
除了上面的互信息约束项,reward function和推断网络的学习还需要满足两个目标:
-
arg
min
E
p
(
m
)
[
D
K
L
(
p
π
E
(
τ
∣
m
)
∣
∣
p
θ
(
τ
∣
m
)
)
]
\arg\min\;\mathbb{E}_{p(m)}[D_{KL}(p_{\pi_E}(\tau|m)||p_{\theta}(\tau|m))]
argminEp(m)[DKL(pπE(τ∣m)∣∣pθ(τ∣m))]
这是MaxEnt IRL框架的关于reward function的目标,目的是要学习的奖励函数 f θ f_\theta fθ诱导能最好的解释专家策略样本;注意的是,这里在隐变量 m m m先验上取了均值,表明不仅是轨迹似然分布尽可能相似,同时 p π E ( m ∣ τ ) p_{\pi_E}(m|\tau) pπE(m∣τ)和 p θ ( m ∣ τ ) p_{\theta}(m|\tau) pθ(m∣τ), p π E ( τ ) p_{\pi_E}(\tau) pπE(τ)和 p θ ( τ ) p_\theta(\tau) pθ(τ)也要尽可能的match -
arg
min
E
p
θ
(
τ
)
[
D
K
L
(
p
θ
(
m
∣
τ
)
∣
∣
q
ψ
(
m
∣
τ
)
)
]
\arg\min\;\mathbb{E}_{p_\theta(\tau)}[D_{KL}(p_\theta(m|\tau)||q_\psi(m|\tau))]
argminEpθ(τ)[DKL(pθ(m∣τ)∣∣qψ(m∣τ))]
这个目标表示要使推断网络尽可能与真实的隐变量后验分布相match。注意:整个这两个目标和约束条件中,实际专家策略的采样并没有理想的基于不同 m m m这一条件。所以不管是互信息约束还是上面第二个目标,都是取 p θ ( τ ∣ m ) p_\theta(\tau|m) pθ(τ∣m)。当满足第一个目标时可以看做 p θ ( τ ∣ m ) p_\theta(\tau|m) pθ(τ∣m)就是代表着 p π E ( τ ∣ m ) p_{\pi_E}(\tau|m) pπE(τ∣m)
所以总的目标函数:
min
θ
,
ψ
−
I
p
θ
(
m
;
τ
)
+
E
p
(
m
)
[
D
K
L
(
p
π
E
(
τ
∣
m
)
∣
∣
p
θ
(
τ
∣
m
)
)
]
+
E
p
θ
(
τ
)
[
D
K
L
(
p
θ
(
m
∣
τ
)
∣
∣
q
ψ
(
m
∣
τ
)
)
]
=
min
θ
,
ψ
E
p
(
m
)
[
D
K
L
(
p
π
E
(
τ
∣
m
)
∣
∣
p
θ
(
τ
∣
m
)
)
]
+
E
m
∼
p
(
m
)
;
τ
∼
p
θ
(
τ
∣
m
)
[
log
p
(
m
)
p
θ
(
m
∣
τ
)
+
log
p
θ
(
m
∣
τ
)
q
ψ
(
m
∣
τ
)
]
=
max
θ
,
ψ
−
E
p
(
m
)
[
D
K
L
(
p
π
E
(
τ
∣
m
)
∣
∣
p
θ
(
τ
∣
m
)
)
]
+
E
m
∼
p
(
m
)
;
τ
∼
p
θ
(
τ
∣
m
)
[
log
q
ψ
(
m
∣
τ
)
]
=
max
θ
,
ψ
−
E
p
(
m
)
[
D
K
L
(
p
π
E
(
τ
∣
m
)
∣
∣
p
θ
(
τ
∣
m
)
)
]
+
L
i
n
f
o
(
θ
,
ψ
)
\begin{aligned} &\quad\min_{\theta,\psi}\;-I_{p_\theta}(m;\tau)+\mathbb{E}_{p(m)}[D_{KL}(p_{\pi_E}(\tau|m)||p_{\theta}(\tau|m))]+\mathbb{E}_{p_\theta(\tau)}[D_{KL}(p_\theta(m|\tau)||q_\psi(m|\tau))]\\ &=\min_{\theta,\psi}\;\mathbb{E}_{p(m)}[D_{KL}(p_{\pi_E}(\tau|m)||p_{\theta}(\tau|m))]+\mathbb{E}_{m\sim p(m);\tau\sim p_\theta(\tau|m)}[\log \frac{p(m)}{p_\theta(m|\tau)}+\log\frac{p_\theta(m|\tau)}{q_\psi(m|\tau)}]\\ &=\max_{\theta,\psi}\;-\mathbb{E}_{p(m)}[D_{KL}(p_{\pi_E}(\tau|m)||p_{\theta}(\tau|m))]+\mathbb{E}_{m\sim p(m);\tau\sim p_\theta(\tau|m)}[\log q_\psi(m|\tau)]\\ &=\max_{\theta,\psi}\;-\mathbb{E}_{p(m)}[D_{KL}(p_{\pi_E}(\tau|m)||p_{\theta}(\tau|m))]+\mathcal{L}_{info}(\theta,\psi) \end{aligned}
θ,ψmin−Ipθ(m;τ)+Ep(m)[DKL(pπE(τ∣m)∣∣pθ(τ∣m))]+Epθ(τ)[DKL(pθ(m∣τ)∣∣qψ(m∣τ))]=θ,ψminEp(m)[DKL(pπE(τ∣m)∣∣pθ(τ∣m))]+Em∼p(m);τ∼pθ(τ∣m)[logpθ(m∣τ)p(m)+logqψ(m∣τ)pθ(m∣τ)]=θ,ψmax−Ep(m)[DKL(pπE(τ∣m)∣∣pθ(τ∣m))]+Em∼p(m);τ∼pθ(τ∣m)[logqψ(m∣τ)]=θ,ψmax−Ep(m)[DKL(pπE(τ∣m)∣∣pθ(τ∣m))]+Linfo(θ,ψ)然后上面总的目标函数替换成AIRL框架求解,那么进一步改写目标函数:
min
max
θ
,
ψ
E
τ
E
∼
p
π
E
(
τ
)
,
m
∼
q
ψ
(
m
∣
τ
E
)
,
(
s
,
a
)
∼
ρ
π
ω
(
s
,
a
∣
m
)
[
log
(
1
−
D
θ
(
s
,
a
,
m
)
)
]
+
E
τ
E
∼
p
π
E
(
τ
)
,
m
∼
q
ψ
(
m
∣
τ
E
)
[
log
D
θ
(
s
,
a
,
m
)
]
+
L
i
n
f
o
(
θ
,
ψ
)
w
h
e
r
e
D
θ
(
s
,
a
,
m
)
=
exp
(
f
θ
(
s
,
a
,
m
)
)
/
(
exp
(
f
θ
(
s
,
a
,
m
)
)
+
π
ω
(
a
∣
s
,
m
)
)
\begin{aligned} &\min\max_{\theta,\psi}\;\mathbb{E}_{\tau_E\sim p_{\pi_E}(\tau),m\sim q_{\psi}(m|\tau_E),(s,a)\sim \rho_{\pi_\omega}(s,a|m)}[\log(1-D_{\theta}(s,a,m))]\\ &\quad\quad\quad\quad+\mathbb{E}_{\tau_E\sim p_{\pi_E}(\tau),m\sim q_{\psi}(m|\tau_E)}[\log D_\theta(s,a,m)]+\mathcal{L}_{info}(\theta,\psi)\\ &where \;D_\theta(s,a,m)=\exp(f_\theta(s,a,m))/(\exp(f_\theta(s,a,m))+\pi_\omega(a|s,m)) \end{aligned}
minθ,ψmaxEτE∼pπE(τ),m∼qψ(m∣τE),(s,a)∼ρπω(s,a∣m)[log(1−Dθ(s,a,m))]+EτE∼pπE(τ),m∼qψ(m∣τE)[logDθ(s,a,m)]+Linfo(θ,ψ)whereDθ(s,a,m)=exp(fθ(s,a,m))/(exp(fθ(s,a,m))+πω(a∣s,m))仔细分析上式,首先目标函数中前两项是AIRL的目标,和上面AIRL目标函数不同的地方是,这里的两项不都使用学习策略
π
ω
\pi_\omega
πω采样的样本,而是第一项采用
π
ω
\pi_\omega
πω采样样本,第二项采样专家策略样本
τ
E
\tau_E
τE,这个就和InfoGAIL中一样。除此之外,我们不知道
p
(
m
)
p(m)
p(m),但是要从其中采样
m
m
m才行,所以就用后验估计分布
τ
E
∼
p
π
E
(
τ
)
,
m
∼
q
ψ
(
m
∣
τ
E
)
\tau_E\sim p_{\pi_E}(\tau),m\sim q_{\psi}(m|\tau_E)
τE∼pπE(τ),m∼qψ(m∣τE)的采样代替先验的采样。具体算法如下:关于算法中公式11和15是梯度公式,原文有证明和推导,细节可以原文中查找。
总结
这篇论文仍然是一种利用隐变量做任务推断从而达到自适应目的思想,只不过是结合了IRL这一框架,学习自适应的奖励函数。算法除了学习自适应的rewrd funciton,其实还学习了一个自适应的策略
π
ω
(
a
∣
s
,
m
)
\pi_\omega(a|s,m)
πω(a∣s,m)。但是测试的时候还是用
f
θ
f_\theta
fθ结合TRPO再去学,为啥不直接用自适应策略呢?或者说他俩的差异?(没看论文实验,不知道有没有比较)。
从这些论文可以看出,过去很多论文都是基于latent variable推断和某种RL范式(model-based、model-free、imitation learning、inverse rl等)相结合的框架。这类思想催生出大量的论文,值得思考的是如何利用有限的样本准确地推断这个可以看做是任务编码的隐变量,或者是能给隐变量赋予正确的语义含义?同时目前的对于隐变量的利用大多都是concate在网络输入上,能否有更好的condition方式?