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)
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
- $\mathcal D$中采样k个四元组 $(s_t,a_t,r_t,s_{t+1})$
- 隐动作隐动作** $\psi_{t+1}= \pi_\theta(s_{t+1})$
- 借助预训练的译码器恢复到动作空间 $a_{t+1}=p_\beta(a|\phi_{t+1},s_{t+1})$
- 计算当前已发生动作价值,dueling DQN
- 计算TD error
CVAE
Conditional Variational Auto Encoder给VAE在隐变量基础上增添了外部标签作为先验
VAE EBLO推导
数据x的分布写成
写成对数似然,有
进一步拆分
应该最大化这个loss,实际上
- $E_{q(z|x)}[\ln p(x|z)]$可以建模为重构的$\hat z$和z之间的MSE loss
- $q(z|x)$可以建模为latent variable $z$分布和先验分布$p(z)|\mathcal N(0,1)$之间的KL散度
生成能力生成能力生成能力生成能力生成能力*