视觉语言导航综述Visual Language Navigation


abstract: |
视觉语言导航任务(Visual Language Navigation)
是让智能体跟着自然语言指令进行导航,这个任务需要同时理解自然语言指令与视角中可以看见的图像信息,然后在环境中对自身所处状态做出对应的动作,最终达到目标位置。该问题的难点还有自然语言指令的复杂、包含了当前可见与不可见的信息,环境给的反馈非常模糊使得智能体很难判断自身位置。本文从仿真环境与文本数据来源先简单回顾了视觉语言导航任务的历史,然后对于最新的Room-to-Room数据集上冲上榜的算法逐个解读,其都基于seq-to-seq的结构,分别从对齐、数据增强、强化学习三个角度对算法做出改进,使得模型可以更好的理解环境的信息与反馈。另外,对于这一系列问题而言,数据集与仿真环境代价愈发昂贵,真实度愈发接近真实环境,在带标签数据越来越难以满足需求且无标签数据几乎free的背景下,能否使用一些半监督自监督的方法生成数据,是一个值得思考的问题。

(

latex文件转的md,制作比较粗糙

)


概述

视觉语言导航(Vision Language
Navigation)已经有了很多年的历史,本文从仿真环境(simulator)和语料信息的收集方法两角度简短地回忆一下过往的任务与环境。然后着重介绍2018年发表的Room-to-Room数据集[@Anderson2018]并一一分析排行榜上的sota的算法,并总结其共性与特性。各种优化算法都使用的基础的seq-to-seq的框架,并在此基础上主要从对齐、数据增强、强化学习三个角度做优化。对于数据来源目前监督学习依然是底牌,但是其日益增长的带标签数据的需求越发越难以满足,在此出现了很多自监督与半监督的方法,其能够尽最大可能达到接近于监督学习的效果。

视觉语言导航任务

仿真环境与数据来源

视觉语言导航任务比较古老,[@Vogel2010]中在一张画布中遍开始了很原始的视觉语言导航任务的研究。如图1{reference-type=“ref”
reference=“Fig.paint”}中左图所示,在一张手绘的地图中根据自然语言指令标注出对应应该走的路线。其数据收集方法如右图,在一个打印好的模板地图中,两名志愿者,一个用自己的语言描述出路线,另一个根据其语言画出对应的轨迹,最终若说话的人脑中所想的路线与目的地与完成的图片中的路线一致,则为一条有效数据。这个2010年的工作在今天看来已经非常的原始,有点像"你画我猜"游戏。

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XVaJj1WH-1578753807547)(image/paint.png)]{#Fig.paint
width=“50%”}

另一个也是广泛被应用的方法是构建一个仿真环境,在环境中做导航。[@Tellex2011]中在仿真环境下完成了一个叉车搬运物体的任务,其自然语言指令主要通过斯坦福NLP的语法树来生成(图2{reference-type=“ref”
reference=“Fig.mobile”})。由于是2011年的工作,在神经网络没有大规模应用的时代,原文中定义了很多传统的方法来解决这一特定场景下的问题,由于问题过于特殊,在此不做过多展开。

左图,环境中的一个任务的示例:首先移动到物体附近,然后用叉车运送物体到指定地点,最后把物体放在桌子上;右图:自然语言指令使用了斯坦福NLP组的工具生成,原理是语法树.图片来源[@Tellex2011]

[@Chen2011; @Chaplot2018; @Sinha2019]都在类似游戏的3D模拟器中完成导航任务,文本数据也较为简单,基本可以通过一些人为构造出的规则生成出。其模拟环境大多是简单的3D建模,配合一定的纹理贴图或者图像贴图。其中[@Chaplot2018]中环境与指令如图rua所示,在仿真环境中"Go
to the short red
torch",这里的句子非常简短也几乎是结构化的,在其开放的源码中可以看见其手动输入的70个指令,然后对其中一部分词进行替换,比如物体的特征与物体等等(颜色,火炬)。结合在环境中的不同采样,可以短时间几乎没有代价的生成大量数据。

在这里插入图片描述
左:仿真环境与任务;右:定义的easy,mid,hard三个等级的任务.图片来源[@Chaplot2018][]{label="Fig.gate"}{#Fig.gate width=“100%”}

本文的问题定义

[@Chang2018]使用Matterport摄像机在九十多个建筑物中提供了10800个全景视角(包含194400张RGB-D图片),通过这些数据构建出了一个庞大的、基于真实场景的仿真环境,因为其所有的图片都是单独从真实环境中采样的,所以与之前的通过大量纹理贴图制作出来的仿真环境相比更加真实更加复杂,每一处纹理都不一样,这要求模型学习到更加高级的特征才能有效的在环境中学习。

在此基础上[@Anderson2018]制作了Room2Room数据集,该数据集首先将每个场景标出若干个停留的点,相邻的点直接建边,以此转化成一个图的结构,可以理解为是做了一共离散化的操作,在这张图上随机采样路径,对符合要求的路径(路径长度、复杂度等等)整理出来在AMT平台上让400个worker人工的撰写自然语言指令,大约耗费了1600小时。这些指令作为路径的人工标注的label,于是这个任务有了完整的数据集。机器学习的任务便是在自然语言指令的指挥下,完成对应路径的导航。该任务难点主要集中在:1)需要跨模态的数据的理解:需要理解图像与语言指令的共同的理解来输出下一步的动作(actio);2)环境给的反馈信息非常模糊:环境只会给一步动作之后的视角(view)而不会给其他反馈比如当前走到了哪里有没有走对等等;
3)
泛化性要求高:所有场景均为实拍使得所有物体的纹理都不一样导致模型需要学习到更高级别的特征信息(feature)。

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FHXLkoVM-1578753807548)(image/VLN.png)]{#Fig.VLN
width=“100%”}

从模拟器的搭建到数据集的收集,明显感觉到比构建平面贴图与现在的自动生成标签(自然语言导航指令)达到的效果更加真实,因为其所有场景均为实拍且所有标签为人工生成。对应的,两个工作对人力的要求极高,成为了两个极其烧钱的工作。前人栽树,后人乘凉,下文提及的解决该问题的各种方法,利用其标准数据使用了很多自监督与半监督的方法,我们将在3{reference-type=“ref”
reference=“vln_algorithm”}种详细讲解。

视觉语言导航算法 {#vln_algorithm}

本章主要表述在VLN任务上冲上榜且发出文章的方法,所有的方法都基于baseline的seq-to-seq的方法做出各种方面的改进。先说一些后文不会详细展开的内容,既然要对自然语言的指令进行理解,那么逃不掉LSTM[@hochreiter1997long]和Attention[@bahdanau2014neural; @NIPS2017_7181],对于图像信息的处理必然逃不开CNN[@NIPS2012_4824],另外导航问题本质上是一个机器人控制问题,涉及决策,逃不开的便是强化学习的框架[@francoislavet2018introduction]。这三者的结合构成了当前几乎所有视觉语言导航任务乃至模态融合任务的基本结构,下面将在3.1{reference-type=“ref”
reference=“seq-to-seq”}中介绍做为baseline的seq-to-seq模型,并在其后介绍其各种扩展与变形,在这个R2R数据集中[@Anderson2018]成绩越来越好。

baseline: seq-to-seq {#seq-to-seq}

[@Anderson2018]中提到了经典的seq-to-seq的模型,使用LSTM为自然语言指令编码,结合在ImageNet上预训练的ResNet为视觉信息编码,再用一个LSTM输出action序列。用attention机制在中间状态做对齐。最终该方法在R2R数据集上达到了20%的成功率和18%的SPL(成功路径长度,针对此类问题比成功率更加客观的评价标准)。原文并未详细描述该类问题的seq2seq模型,不过该类方法先前在[@Mei2016]中有更为详细的应用。

在这里插入图片描述

Look Before You Leap

在数据集发表之后,第一个成功冲榜的是[@Wang],该方法结合了强化学习中model-free与model-based两种方法协同做决策,提高了决策的科学性。如图5{reference-type=“ref”
reference=“Fig.RPA”}左图所示,左边绿色的框中为model-free方法,本质上就是baseline中的seq2seq方法,Language
Encoder是处理自然语言指令的LSTM,图像输入使用CNN提取feature,两个输入来源使用一个Recurrent
Policy
Model来输出aciton,整个model其实也没有什么特别新的地方,因为其输出是一个action的序列,故又是LSTM的一个变体。
具体优化形式如公式[equ_lbyl_lstm]{reference-type=“ref”
refer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值