Latent Action Space

Paper Reading——Latent Action Space for Offline Reinforcement Learning

Video

在Latent Space上学习策略,限制避免选择OOD的动作

学习目标

dataset $\pi_B$

同时需要保证策略具有一定的探索性,而不是选择数据集中出现次数最多的动作

PLAS

建模行为策略$\pi_B(a|s)$借助条件变分自动编码器(CVAE)

image-20221004231953518

Latent Policy输出动作到Latent Space上,随后通过Decoder(预选连)映射回真实的动作空间上

引入latent space避免收到数据集影响

Paper

本文用到的VAE

VAE目标是生成和数据集$\{x_i\}_{i=1}^N$分布相似的数据集,通过基于先验分布$p(z)$采样隐变量并建模x关于z的后验分布$p_\theta(x|z)$(译码器)实现,目标是最大化

这个优化目标不容易求解,实际上用编码器$p_\theta(z|x)=q_\phi(z|x)$预测先验分布,ELBO有

回顾一下ELBO,假设模型参数为$\theta$,我们的目的是最大化$p(x|\theta)$,引入latent variable z,此时有

两边同乘$q_\phi(z|x)$,并对z积分,得到(注意$p(z|x,\theta)$实际上是关于z的先验分布$p(z)$)

这里的参数$\theta$实际上是encoder-decoder参数$\theta,\phi$,对于$p(x,z|\theta)$,注意x是生成的数据,因此写成

PLAS

CVAE用于在条件前提下重建动作,实际上用于maximize lower bounder

$\alpha,\beta$分别为编码器和译码器的参数,预训练decoder $p_\beta(a|s,z)$,在此基础上训练一个策略$\pi(s)$将状态s映射到隐变量z,CVAE训练意在最大化$\log p(a|s)$,在decoder确定的情况下写成

求解这个积分使用MC采样,即$z|p(z|s),p(a|s)\approx p_\beta(a|s,z)$

p(a|s)中收到$p(z|s)$决定的隐变量空间上概率较大的隐变量,因此我们希望latent space上生成的策略$\pi(s)$能够输出使得$p(z|s)$较高的隐变量,即

算法

数据集$\mathcal D=\{(s_t,a_t,r_t,s_{t+1}) \}$

训练VAE

从$\mathcal D$中采样$(s_t,a_t)$,计算CVAE loss

训练策略

Critic网络$Q_{\phi_1},Q_{\phi_2}(multi-head)$,隐策略网络$\pi_\theta$,对应的target net

  1. $\mathcal D$中采样k个四元组 $(s_t,a_t,r_t,s_{t+1})$
  2. 隐动作隐动作** $\psi_{t+1}= \pi_\theta(s_{t+1})$
  3. 借助预训练的译码器恢复到动作空间 $a_{t+1}=p_\beta(a|\phi_{t+1},s_{t+1})$
  4. 计算当前已发生动作价值,dueling DQN
  5. 计算TD error

CVAE

Conditional Variational Auto Encoder给VAE在隐变量基础上增添了外部标签作为先验

VAE EBLO推导

数据x的分布写成

写成对数似然,有

进一步拆分

应该最大化这个loss,实际上

  1. $E_{q(z|x)}[\ln p(x|z)]$可以建模为重构的$\hat z$和z之间的MSE loss
  2. $q(z|x)$可以建模为latent variable $z$分布和先验分布$p(z)|\mathcal N(0,1)$之间的KL散度

生成能力生成能力生成能力生成能力生成能力*

本站访客数人次