CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航


CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

作者来自将门计算机视觉社群:朱峰达


本文为将门好声音第40期,也是CVPR 2020系列分享的第·4·期,欢迎广大群友来投稿!

作者是来自将门计算机视觉社群、蒙纳士大学的在读博士生朱峰达,这次分享的是CVPR 2020 Oral工作:自监督学习——通过辅助推理任务实现高效的视觉语义导航

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

论文链接:

https://arxiv.org/abs/1911.07883

关于作者

朱峰达本科毕业于北航软件工程系,是蒙纳士大学信息技术学院数据科学与人工智能系的博士生,师从蒙纳士大学的常晓军老师和中山大学的梁小丹老师。他的研究兴趣在于机器学习中的视觉语言导航和推理任务。


写在前面


视觉语言导航(Vision Language Navigation)是一个机器学习的新兴任务。它的目的是让一个智能体能够在真实的3D环境中根据自然语言指令导航至正确的地点。这个任务有很多难点

1. 提取并融合视觉和语言的特征

2. 学习导航轨迹和房间结构的语义信息

3. 如何在未知的房间中利用已学习的知识进行探索。


传统的方法主要着重于视觉和语义特征的提取和融合,并将融合过后的混合特征通过一个策略网络生成动作。用这种方式学到的模型只对特征之间的相似度敏感,而对训练环境中的隐含信息,比如轨迹的语义和房间的结构没有直观认识。

而在这篇文章中,我们用自监督的方法,从环境中挖掘了丰富的隐含信息(比如室内结构图或者子轨迹的部分语义信息)。它们为我们的模型提供了更丰富的训练信号。


我们提出了四种不同的辅助推理任务

1. 解释之前的动作

2. 估计导航的进度

3. 预测语言和轨迹的吻合程度

4. 预测下一步的方向。


我们的实验证明这四个辅助推理任务可以帮助我们模型导航得更精确、更有效率,并且它们可以使模型在没有标注的房间里进行自适应学习。同时,辅助推理任务可以让模型具有可解释性。在测试环境中,我们通过模型在辅助任务上的输出可以更加了解模型的“思考”方式。


一个简单的例子

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

如图所示为一个用自监督辅助任务来训练导航模型的简单例子。模型从绿点开始,根据一个自然语言指令走到目标红点。蓝色的点表示模型下一步可以导航到的位置,也就是隐式的室内结构图。途中每一时刻它都会被要求预测四个辅助任务的结果。辅助任务带来的额外信息和语义约束可以帮助模型更好地学习这个任务。

方法细节描述


CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航


我们提出了一个基于强化学习、监督学习和自监督学习的混合学习框架 (AuxRN) 来完成室内导航任务。

从视觉语言输入到动作序列预测


首先我们要分别编码历史视觉信息和全局语义信息。我们将当前点的全景图经过一个注意力模块 Attno 获得当前点的全景视觉编码,再经过一个LSTMv 模块获得一个历史轨迹的视觉编码。该特征编码了模型从开始到当前步的历史轨迹。我们再将自然语言指令经过一个双向 LSTM 获得一组语言的特征编码。为了将视觉特征和自然语言特征对齐,我们将视觉信息和语言信息通过另一个注意力模块 Attnw。这一步是为了根据最近几步看到的视觉信息找到对应的自然语言指令的位置,从而获得确切的子指令。最后我们从导航模拟器中获取下一步可导航位置,获取从当前点看向该位置方向的视觉特征,利用一个注意力模块 Attnc 输出分类结果作为下一步要采取的动作。

模型输出的动作序列使用监督学习和强化学习联合训练。监督学习的数据来源于从起点到终点的最短路,而强化学习的奖励函数来源于当前步比上一步距离目标点缩短的距离。

四种辅助推理任务


在此基础上,我们提出了四种自监督辅助推理任务来挖掘环境中的隐含信息。

  • 指令重述任务

首先我们希望我们的视觉编码模块能够获得和自然语言指令相同的语义特征。同时为了约束模型的训练过程,让模型能够在有限时间内收敛,我们简化了任务。我们保存每一步的历史视觉编码,获得视觉特征。我们将自然语言句子通过一个LSTM模块编码成一组特征向量,将语言和视觉特征通过一个注意力模块 Attns 融合,再从融合过后的编码中分离出目标词向量。

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

  • 进度预测任务

模型可以通过学习导航的进度来加深导航任务的理解。它能帮助模型更好地对齐视觉和语言特征。我们改进了之前的工作,用噪音更小的步数代替距离作为导航进度的标签,用交叉熵 (Binary Cross Entropy) 损失函数代替均方差 (Mean Square Error) 损失函数。

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航


  • 多模态匹配任务

在多模态匹配任务中,我们将自然语言特征组经过一个均值池化层(在图中用P表示)获得一个自然语言特征向量。我们以0.5的概率用数据集中的另一条不相关的自然语言向量替换这个向量(在图中用S表示)。最后,我们将这个向量和语言特征向量连接(在图中用C表示)通过两层全连接层和一层Sigmoid 激活层获得它们匹配的概率

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

在实现的时候,考虑到训练的效率,替换这个操作局限于一个batch内,我们会把0.5概率选中的自然语言向量用同一batch的另一个自然语言向量代替。这个操作可以并行化。

  • 角度预测任务

在一开始我们提到了我们的动作预测是通过一个注意力机制实现的。从导航模拟器中获取下一步可导航位置的一个候选集。将语言和视觉的融合特征与候选集的视觉特征逐一匹配,选择匹配度最大的那个作为下一步要走的方向。用这种方式学到的模型只对特征之间的相似度敏感,而对房间结构没有显式的感知。我们可以让模型预测下一步要走的方向来约束模型,使其能够学到有关房间结构的信息,而这些信息对导航是有帮助的。

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

最后,我们将这四个辅助任务的损失和主函数的损失加到一起进行训练

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

在这里我们没有做过多的调参工作,把各损失的权重都设置为1即可。

实验结果


CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航


我们的模型在标准视觉语言导航数据集(R2R)上取得了第一名的成绩。

  • Leaderboard的地址:

https://evalai.cloudcv.org/web/challenges/challenge-page/97/leaderboard/270

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

我们的对比实验说明了各个辅助任务都会对模型的性能有较大提升。并且它们的联合训练会进一步提升模型的性能。


CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

我们可视化了两个在测试集上的导航轨迹。在序列开始模型会收到自然语言指令的输入,指示每一步要走的方向和目标物体。每走一步模型都收到一张全景图作为视觉输入。红色箭头代表模型预测的下一步去往的方向。我们可以看到模型准确地到达了目标位置,并且模型能够准确预测导航的进度以及轨迹和语言指令的匹配程度。


这里我们做了一个 demo 分享了更多可视化结果,供大家直观地了解数据集分布和我们的模型所能达到的效果。


CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航

-The End-

将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门技术社群以及将门创投基金。将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。

将门创新服务专注于使创新的技术落地于真正的应用场景,激活和实现全新的商业价值,服务于行业领先企业和技术创新型创业公司。

将门技术社群专注于帮助技术创新型的创业公司提供来自产、学、研、创领域的核心技术专家的技术分享和学习内容,使创新成为持续的核心竞争力。

将门创投基金专注于投资通过技术创新激活商业场景,实现商业价值的初创企业,关注技术领域包括机器智能、物联网、自然人机交互、企业计算。在近四年的时间里,将门创投基金已经投资了包括量化派、码隆科技、禾赛科技、宽拓科技、杉数科技、迪英加科技等数十家具有高成长潜力的技术型创业公司。

如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”: [email protected]

CVPR'20: 自监督学习-通过辅助推理任务实现高效的视觉语义导航


分享到:


相關文章: