本文是一篇关于用户行为预测方向的文章,本文提出了一个条件变分的自动编码器(CVAE),来进行用户的行为预测,该模型基于过去的交互信息和机器人未来的候选动作,产生人类未来轨迹的多模态分布。该文章对当前最先进的人类行为预测模型进行了回顾和分类,同时对CVAE模型的提出进行了简单的阐述。
Introductiom
作者指出为了让robot模拟人类的行为,有两种建模方式,一种的无模型的方法,是直接依靠端对端的方式从海量的数据中学习人类的行为。另一种是基于模型的方法,它注重于模型学习和策略构建之间的关联——以交互动力学的概率理解为基础,它比无模型的方法具有更好的透明度。在本文中,作者采用基于模型的HRI方法,重点学习人类行为的模型,或者更具体地说,学习未来人类行为的分布(例如轨迹)。
在基于模型的HRI方法中,作者又对当今的方法做了一个大致的分类,基于本体论的和基于现象学的。基于本体论的方法,按照作者的说法是,建立一套robot遵循的严格的规则,然后在这之上建立模型。基于现象学的方法,没有做出如此强大的建模假设,而是依赖大量数据来建模代理行为,而没有明确地对潜在动机进行研究(呜呜呜。。。不太明白和无模型方法的区别)。
作者在本文提出的方法是基于现象学的,更具体地说是使用条件变分自动编码器(CVAE)来学习一个人类行为预测模型。基于交互历史和未来机器人动作的选择,作者的工作明确地表征了在每个时间步人类行为的多模态不确定性。其中,对交互历史的学习可以使机器人学习例如经验、情绪等隐含因素。而未来动作的选择可以将反应动力学加以考虑。
该文章的贡献可以概括为以下几点:(1)对人类行为预测进行了分类。(2)提出了CVAE。(3)分析了作者提出的模型的好处。(4)和其他模型的性能进行比较。
Related work
基于本体论的方法对agent的动力(dynamic)或动机(motivation)做出假设。其中的一个方向是试图找出控制系统的潜在原理,然后导出状态空间,例如,Social Forces模型通过智能体之间的吸引力和排斥力进行交互动力学的建模;IDM模型是一个连续时间车辆跟踪模型。作者指出这种方式有如下的特点:一是没有考虑多个不同未来情况的可能性,二是没有利用过去的交互历史。
另一个方向是建模人类内在的决策过程,而不是明确地制定交互动力学。博弈论方法通过假设其他agent是合作的还是对抗的来模拟交互动力学。对于社会感知机器人导航,一些模型推断出人类的情绪或支配地位,并利用这一点通知他们的机器人规划者。一种流行的方法是将人类建模为最优规划者,并将其在每个时间步的动机表示为状态/行动相关奖励函数,代表模型有IRL模型、maxInt IRL模型。一般来说,基于奖励的方法在数据有限的环境中是有效的,因为只有少数几个参数需要学习,并且可以转移到新的和看不见的任务。然而,在大量数据的存在下,在交互历史的条件下,基于现象学方法是更有效的。
对于基于现象学的方法。一共有两种主要的生成模型:GAN和VAE。GAN有两个缺点,一是会遇到模式崩溃,即模型收敛于分布模式,无法捕获和产生不同的输出;二是GANs很难训练。VAE利用变分贝叶斯原理,从真实潜在的分布中学习一个近似分布,然后解码潜在分布中的样本产生输出。和GAN相比,VAE有以下优点,1)考虑了所有分布的模式。2)不太可能遇到模式崩溃。3)更具有多样性。3)VAE可以从分布中产生经验样本,也可以产生分布的分析表示,使其在基于模式的规划和控制背景下可能比GANS更通用.
CVAE模型
1.CVAE结构
条件生成模型的目的是用模型去拟合一个条件概率分布,可用于下游任务,例如计算给定x条件下y出现的概率,或者给定x生成y。在本文,作者研究的是通过一簇拟合真实数据的分布来计算 p ( y ∣ x ) p(y|x) p(y∣x)。
CVAE模型的架构如图所示
模型中有一个编码器,参数为
θ
\theta
θ,输入为x,输出为
p
θ
(
z
∣
x
)
p_{\theta}(z|x)
pθ(z∣x),其中z是隐变量。还有一个解码器,参数为
ϕ
\phi
ϕ,输入为x和
p
θ
(
z
∣
x
)
p_{\theta}(z|x)
pθ(z∣x),输出为
p
ϕ
(
y
∣
x
,
z
)
p_{\phi}(y|x,z)
pϕ(y∣x,z)。最后,就可以生成
p
(
y
∣
x
)
p(y|x)
p(y∣x),公式为:
为了更好的计算p(y|x),作者从
q
(
z
∣
x
,
y
)
q(z|x,y)
q(z∣x,y)中采样来执行重要性采样,选出那些可能生成y的z,然后重写公式(1),
然后目标就是找出使
p
(
y
∣
x
)
p(y|x)
p(y∣x)最大化的参数
ϕ
,
θ
,
φ
\phi,\theta,\varphi
ϕ,θ,φ的值。然后对两边使用log函数,写成不等式下限(ELBO)形式,
其中,Dkl是KL散度。因为直接最大化
p
(
y
∣
x
)
p(y|x)
p(y∣x)是困难的,因此我们最大化ELBO,可以采用随机梯度下降的形式,对于单个训练样本,其Loss形式为,
2.交互感知人类行为预测
作者提出的模型有如下的要求,(1)与历史信息相关。(2)能解释agent之间的交互动力学。(3)能产生未来人类轨迹的多模态分布。(4)能做基于模型的规划。
CVAE模型的预测架构如图所示,
为了满足(1)和(2),模型的输入x包含了各种的特征,输出y是人类未来的动作或状态的序列。
为了满足(3),作者通过一个离散隐空间来构建一个多模态分布。z的每一个隐含向量对应于一个离散模式。为了确定每个模式对应的具体的行为是什么,解码器输出高斯混合模型(GMM)的自回归序列(不懂什么意思)。
encoder和decoder有很多种方法构建,作者采用了RNN。
3.真实交通案例学习
作者在一个真实的交通案例上应用了模型。
CVAE模型的输入x是交互历史和未来机器人的动作。模型先是计算分布
p
θ
(
z
∣
x
)
p_{\theta}(z|x)
pθ(z∣x),然后通过解码器计算
p
ϕ
(
x
,
z
)
p_{\phi}(x,z)
pϕ(x,z),然后生成y。解码器产生一个GMM描述的分布来表示在每个时间步的人类行为。
拓展到多智能体交互
1.对更多数量的智能体进行建模
首先,引用了**时空图(STG)**的概念。图的节点是智能体,边是它们之间的交互。当两个智能体之间的地理距离小于某个特定的阈值时,它们可以直接交互。
一个挑战是一个智能体可能有许多的相邻智能体,如何去在固定的模型结构里能处理不固定的输入,作者提出的解决方法是在每个边上增加一个LSTM模型,这样就能组合相同类型邻居的影响。另外,边的编码机制也需要扩展成能捕捉时间变化的结构。
2.建模时变交互
为了建模时间变化,每一个时间步更新STG是行不通的,作者采用了一个标量来调整从LSTM的输出,根据这条边增加或删除的时效性,它的范围是[0,1]。
考虑智能体动态和异构输入数据
1.生成动态可行输出
行为预测的输出有两种表示方法,一种是直接产生轨迹样本(例如GANs),另一种是利用中间模型将内部表示转换为具有不确定性的位置,然而,这两种输出结构使得很难实施动力学约束。
为了纳入动态考虑,应该将学习架构视为在agent上的动作而不是位置上产生分布,并且关注通过agent的动态从动作到位置的集成过程。值得注意的是,该方案还可以将模型在其生成的动作中的不确定性传播到结果位置上的不确定性,尤其是如果每个时间步长的输出动作不确定性具有简单的参数化。
重要的是,即使增加了动态性,训练也不需要额外的数据。该模型仍然直接学习匹配数据集的地面真实位置。因此,在没有任何额外数据的情况下,这种动态性的包含使模型能够生成明确的动作序列,从而导致动态可行的轨迹预测。总的来说,与直接输出位置的方法相比,这种输出方案能够保证其轨迹样本是动态可行的。
2.整合异构数据
如果仅使用机器人的轨迹信息作为输入来源,会忽略其他信息来源,例如各种传感器信息。
现在地图可以从二维地图发展到多维语义地图,选择这种地图格式的一个主要原因是它与图像非常相似,图像也有高度、宽度和通道维度。因此,卷积神经网络可以有效地在线评估,并将其应用于行为预测模型中。
更一般地,通过经由适当的模型将其表示为向量并将结果输出连接到编码器的整体场景表示向量,可以类似地在架构的编码器中包括进一步的附加信息。
实验
1.量化性能
将Trajectron++ 与Social GAN 和Social BiGAT 进行比较,它们都使用类似的基于RNN的架构来建模时间序列,数据集是ETH/UCY数据集,结果是基于CVAE的Trajectron++在三个特定指标上明显优于其他模型,在车辆建模上也是如此。
2.潜在空间大小
潜在空间的大小,即潜在变量的数量。具体来说,可以识别哪些潜在变量有直接证据支持它们的存在,并在不损失性能的情况下删减其他变量。
3.在线模型运行
可以使用新信息在线更新模型,而无需完全执行向前传递。例如,由于我们的方法使用了LSTMs,所以只需要向编码器中的最后一个LSTM单元馈送新观察到的数据。
结论
本篇论文提出了关于多智能体相互作用多模态轨迹预测的CV AE方法。此外,作者还介绍了现有最先进方法的分类。在存在大量具有潜在异构数据类型的数据以及未来行为依赖于交互历史的非马尔可夫设置的情况下,CVAE方法是预测多智能体交互设置中未来人类轨迹的有吸引力的模型。特别是,CVAE方法非常灵活,可以轻松包含异构数据。未来的工作包括对模型的进一步改进。