Multimodal——Paper笔记:Improving Vision-and-Language Navigation with Image-Text Pairs from the Web
Improving Vision-and-Language Navigation with Image-Text Pairs from the Web
关键字:BERT、迁移学习、预训练
文章简介
这篇文章中了今年ECCV(2020),还是spotlight,挺牛X的了。虽然还是吃的transformer的老本(自从出现了transformer,多模态领域就像找到了突破点一样,各种使用transformer,因此也是在各大会议发了不少文章,去年和今年几乎所有的多模态文章都是基于transformer的),但是作者也是找到了一个很好的应用领域,同时也有该应用场景下需要特殊处理的方法,所以仍然是一篇很不错的文章。对于transformer,我会在之后单独写一篇文章聊一聊,毕竟是大热门啊。
应用场景
现在用transformer写一篇文章是很容易中比较好的会议的,最关键的地方在于找到一个适合的场景。简单介绍一下这篇文章的场景。在基于语言导航的系统中,系统需要将文字描述的物体和现实中的视觉物体联系起来,这是需要大量的数据来训练模型才能达到的,但是往往很难收集到相同场景的大量数据集。网络上有很多相关的数据,作者想借鉴BERT模型中预训练的方法,用网络上大量相关的数据预训练模型,然后用少量的运用场景下的数据集微调模型参数,从而使模型达到好的效果。
假设前提
在路径寻找的问题中,有不同的场景假设,在本文中,作者是假设机器人为上帝视角,即机器人的存储空间里面包含了房间里面每一个位置的3D全景图,也就是说机器人是知道房间里面所有的路径的,在这种假设之下,模型需要做的工作就是在众多的路径之中,找到和导航命令最符合的路径,如下图所示。
可能存在的问题
涉及到迁移学习的有效性问题,两种数据的domain是不一样的,如Figure2所示,网络上的图片和agent实时捕获的图片相比较而言,网络图片大多数更为工整,布局更为合理,同时更具有美感,但是agent捕获的图片可能就更随意。
模型介绍
这篇文章是受到BERT模型的启发,想利用网络上大量的相关数据对模型进行预训练,当模型有了基本的认知能力以后,再用少量的场景数据进行微调从而实现具体的任务。
首先是预训练过程,主要分为三个阶段:
Stage1: Language
为了获得强大的语言理解能力,在掩盖的语言建模和下一句预测目标下,根据在Wikipedia和BooksCorpus上训练的BERT模型的权重,初始化模型的语言流。 在此阶段之后,直接进行路径选择任务的训练类似于引入BERT编码器来表示指令。
Stage2: Visual Grounding
主要借鉴了VilBERT模型的初始化权重,输入是文字描述以及图片物体和位置信息,两个预训练任务分别是masked language和多模态目标对齐,从而使模型能够识别视觉信息。
Stage3: Action Grounding
在最后阶段,将VLN的路径和指令配对,并根据掩盖多峰建模目标训练模型, 在上一阶段学习基础视觉概念的同时,此阶段还将模型暴露给动作及其基于轨迹的对象。 例如,正确预测掩盖的指令短语(例如“turn _”或“stop at _”)需要模型从视觉输入和位置编码中推断出代理人的路径。
完成与训练任务之后,就要训练模型寻找最合适的路径。
在训练过程中,为了节省时间和空间,作者选取不同的路径patch来训练,比如选择四条不同的路径,其中只有一条是和导航语句相匹配的,另外三条属于负样本。训练的模型输入分别是图片信息的序列以及语言描述的序列,分别通过transformer layers之后得到每个元素的representation。然后计算每个路径和语言描述的匹配程度,根据样本来学习和优化模型参数。
在这里,图片信息的表达需要做特别的处理,因为这里的图片不仅涉及到内容,同时还需要考虑图片的位置和方位问题。所以除了要提取图片中的物体特征之外,表示序列还要单独加上图片中物体的位置特征以及方位特征,这样机器人才能判断前进的方向。
实验结果
数据集:Matterport3D
任务:Room-2-Room(R2R)
左侧代表不同的算法,右侧不同的列代表着不同的评价标准,在NE, OSR, SR的标准下,VLN-BERT的效果都达到了SOTA的水平,PL之下的表现也处于上游水平,只是在SPL的标准之下不太理想。
结语
这篇文章就是目前多模态应用的典型,用transformer来做多模态信息的交互是目前的主流框架,但是这种方法的计算量过大,同时结构具体的作用原理和学习到的内容是什么我们还不能够很好的解释,所以还需要做很多工作去理解其中的作用机制和优化算法。另外这种算法是不是多模态问题的最终解决办法还有待证明。