ICLR 2024
paper
Intro
本文方法研究利用大量人类动捕数据以及衍生的类人轨迹数据,基于MPC实现下游任务中机器人运动控制。
method
H-GAP 的算法框架分为三个部分:基于VQ-VAE对状态动作序列的离散化,基于Transformer对latent code的先验分布进行自回归建模,以及使用模型预测控制 (MPC) 的规划过程。
VQ-VAE
离散化是实现对多样化以及多模态轨迹数据建模的有效方法。特别是TAP,在高维空间验证了其可行性。本文方法思路与其相似但是只考虑状态动作序列。其中encoder可表达为:
f
e
n
c
(
s
1
,
a
1
,
s
2
,
a
2
,
…
,
s
T
,
a
T
)
=
(
z
1
,
z
2
,
…
,
z
M
T
/
L
)
f_{\mathrm{enc}}(s_1,a_1,s_2,a_2,\ldots,s_T,a_T)=(z_1,z_2,\ldots,z_{MT/L})
fenc(s1,a1,s2,a2,…,sT,aT)=(z1,z2,…,zMT/L)
具体而言,输入T个状态动作序列,首先对每一个(s,a)的提取特征,然后对这T个特征,采用步长为L的一维卷积以及最大池化操作,得到T/L个特征向量块。 对于每个特征向量块又有M个latent codes对应,所以对每个特征块embedding到M个,共计MT/L个embeddings( ( x 1 , … , x M T / L ) (x_{1},\ldots,x_{MT/L}) (x1,…,xMT/L))
然后通过最近邻方法从一个可优化的code book e ∈ R K × D e\in\mathbb{R}^{K\times D} e∈RK×D中找到最小 l 2 l_2 l2损失值的code,作为最终的latent code。
z i = e k , where k = arg min j ∥ x i − e j ∥ z_i=e_k,\text{where}k=\arg\min_j\|x_i-e_j\| zi=ek,wherek=argjmin∥xi−ej∥
decoder则是输入初始状态以及latent code,重构序状态动作序列
f
d
e
c
(
s
1
,
z
1
,
z
2
,
…
,
z
M
T
/
L
)
=
(
s
1
,
a
^
1
,
s
^
2
,
a
^
2
,
…
,
s
^
T
,
a
^
T
)
f_{\mathrm{dec}}(s_1,z_1,z_2,\ldots,z_{MT/L})=(s_1,\hat{a}_1,\hat{s}_2,\hat{a}_2,\ldots,\hat{s}_T,\hat{a}_T)
fdec(s1,z1,z2,…,zMT/L)=(s1,a^1,s^2,a^2,…,s^T,a^T)
重构损失是输入轨迹和重建轨迹的均方误差。通过最小化重构误差以及,让latent codes接近embedding的距离损失 ∥ s g [ x ] − e ∥ 2 \|\mathrm{sg}[x]-e\|^{2} ∥sg[x]−e∥2 和embedding vector接近latent codes的距离损失函数 ∥ x − s g [ e ] ∥ 2 \|x-\mathrm{sg}[e]\|^{2} ∥x−sg[e]∥2来训练整个结构。sg表示梯度不更新。
Prior Transformer
先验模型是采用Transformer,输入初始状态以及latent code进行自回归建模 p ( z i ∣ z < i , s 1 ) p(z_i|z_{<i},s_1) p(zi∣z<i,s1)。
MPC Planning
利用先验模型,输入初始状态生成latend codes, 对生成的latent code序列采用Top-p的随机采样发方法,该法方法与temperature>1相结合,高温系数保证多样性的同时,选区前p%的样本过滤掉低概率以及分布外的样本。然后由decoder得到预测的轨迹数据