ICLR 2023
paper
Intro
采用Transformer架构的Planning方法对马尔可夫序列重构,(et. TT)在面对高维状态动作空间,容易面对计算复杂度高的问题。本文提出TAP算法,基于Transformer的VQ-VAE,利用提取的状态动作在隐空间的低微特征进行Planning,然后使用latent codes经过decoder得到重构序列,在Offline下取较好的结果。
Method
VQ-VAE
训练VQ-VAE使用离线数据
τ
=
(
s
1
,
a
1
,
r
1
,
R
1
,
s
2
,
a
2
,
r
2
,
R
2
,
…
,
s
T
,
a
T
,
r
T
,
R
T
)
\tau=(\boldsymbol{s}_1,\boldsymbol{a}_1,r_1,R_1,\boldsymbol{s}_2,\boldsymbol{a}_2,r_2,R_2,\ldots,\boldsymbol{s}_T,\boldsymbol{a}_T,r_T,R_T)
τ=(s1,a1,r1,R1,s2,a2,r2,R2,…,sT,aT,rT,RT)。以上图为例,经过encoder得到T个特征(图中T=9),然后步长为L的一维卷积以及最大池化得到向量
(
x
ˉ
1
,
x
ˉ
2
,
x
ˉ
3
)
(\bar{x}_1,\bar{x}_2,\bar{x}_3)
(xˉ1,xˉ2,xˉ3)。在由最近邻找到对应的codebook中的
e
i
e_i
ei作为latent code。
z
i
=
e
k
,
w
h
e
r
e
k
=
a
r
g
m
i
n
j
∣
∣
x
i
−
e
j
∣
∣
2
\boldsymbol{z}_i=\boldsymbol{e}_k,\mathrm{where~}k=\mathrm{argmin}_j||\boldsymbol{x}_i-\boldsymbol{e}_j||_2
zi=ek,where k=argminj∣∣xi−ej∣∣2
解码阶段,首先将latentcode扩展,与输入等维度。concat初始状态,经过decoder得到重构的序列。损失函数则是由原序列与重构序列的均方误差。除此外还最小化特征向量、latent code分别与codebook的距离:
∣
∣
x
i
−
e
k
∣
∣
2
a
n
d
∣
∣
z
i
−
e
k
∣
∣
2
||\boldsymbol{x}_i-\boldsymbol{e}_k||_2\mathrm{~and~}||\boldsymbol{z}_i-\boldsymbol{e}_k||_2
∣∣xi−ek∣∣2 and ∣∣zi−ek∣∣2
得到latent code后,还需要训练其先验分布用于后续的Planning过程。TAP采用Transformer架构的自回归模型 p ( z t ∣ z < t , s 1 ) = p ( z t ∣ s 1 , z 1 , z 2 , . . . , z t − 1 ) p(\boldsymbol{z}_{t}|\boldsymbol{z}_{<t},\boldsymbol{s}_{1})=p(\boldsymbol{z}_{t}|\boldsymbol{s}_{1},\boldsymbol{z}_{1},\boldsymbol{z}_{2},...,\boldsymbol{z}_{t-1}) p(zt∣z<t,s1)=p(zt∣s1,z1,z2,...,zt−1)构建更加紧凑的latent code
Planning
使用先验模型,生成当前state在隐空间中的latent code序列,再用decoder进行解码就得到预测的轨迹。对每条生成轨迹有如下评价函数
g
(
s
1
,
z
1
,
z
2
,
.
.
.
,
z
M
)
=
∑
t
γ
t
r
^
t
+
γ
T
R
^
T
+
α
ln
(
min
(
p
(
z
1
,
z
2
,
.
.
.
,
z
M
∣
s
1
)
,
β
M
)
)
g(\boldsymbol{s}_1,\boldsymbol{z}_1,\boldsymbol{z}_2,...,\boldsymbol{z}_M)=\sum_t\gamma^t\hat{r}_t+\gamma^T\hat{R}_T+\alpha\ln\left(\min(p(\boldsymbol{z}_1,\boldsymbol{z}_2,...,\boldsymbol{z}_M|\boldsymbol{s}_1),\beta^M)\right)
g(s1,z1,z2,...,zM)=t∑γtr^t+γTR^T+αln(min(p(z1,z2,...,zM∣s1),βM))
前两项衡量轨迹累计折扣奖励,后一项则是惩罚项,如果轨迹有概率大于阈值则相信累计奖励。而若小于阈值,则后项由于权重
α
\alpha
α取值为大于折扣回报的最大值,使得此时后项对评分的主导远大于累计奖励,即选择高概率的轨迹。
Beam Serach
基于初始状态以及先验模型,采样生成latent code z采用Beam search
可以看出,首先利用先验模型采样得到n个
z
1
z_1
z1,然后对每个
z
1
z_1
z1由先验模型得到概率最高的排序为前E个的
z
2
z_2
z2拼接,然后由decoder解码并根据评价函数得到轨迹分数,选取Top-B的序列的
z
1
,
z
2
z_1, z_2
z1,z2, 重复上述过程选取最大评分的轨迹。
总结
对于高维复杂环境,通过encoder到低维度隐空间进行推理学习好的特征表示,在decoder生成是一个好的框架。对于下游任务,就可以直接采用学习好的特征以及decoder实现zero-shot。这是一个不错的思路。后续ICLR2024有个工作使用在隐空间进行Diffusion:《Efficient Planning with Latent Diffusion》