
摘要
学习具有社会意识的运动表征是近年来多智能体问题(如人类运动预测和人群中的机器人导航)取得进展的核心。尽管已取得令人鼓舞的进展,但现有基于神经网络学习的表征在闭环预测(例如输出发生碰撞的轨迹)中仍难以实现良好泛化。这一问题主要源于序列预测固有的非独立同分布(non-i.i.d.)特性,以及训练数据分布不均。直观来看,若训练数据仅来源于安全环境中的行为样本(即“正例”),学习算法便难以捕捉“负例”(如碰撞)的概念。为此,本文通过自监督方式显式建模负例来解决该问题:(i)我们提出一种社会对比损失(social contrastive loss),通过区分真实正例与合成负例,对提取的运动表征进行正则化;(ii)我们基于对罕见但危险情境的先验知识,构建具有信息量的负样本。所提方法显著降低了近期轨迹预测、行为克隆与强化学习算法的碰撞率,在多个基准测试中优于当前最优方法。代码已开源,地址为:https://github.com/vita-epfl/social-nce。
代码仓库
vita-epfl/social-nce
官方
pytorch
GitHub 中提及
qiyan98/social-nce-stgcnn
pytorch
GitHub 中提及
YuejiangLIU/social-nce-trajectron-plus-plus
pytorch
GitHub 中提及
vita-epfl/social-nce-crowdnav
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| trajectory-forecasting-on-trajnet | Social NCE + Social LSTM | COL: 5.31 FDE: 1.14 |
| trajectory-prediction-on-ethucy | Social-NCE + Trajectron++ | ADE-8/12: 0.19 FDE-8/12: 0.40 |
| trajectory-prediction-on-trajnet | Social-NCE + Social-LSTM | COL: 5.31 FDE: 1.14 |