ACL 2022:梳理视觉语言导航的任务、方法和未来方向|AI Drive

近几年极为热门的研究方向视觉语言导航(Vision-and-Language Navigation,VLN)发展迅速。

今天的分享的ACL 2022论文是对视觉语言导航领域做了一个系统的综述,回顾了VLN的任务、数据集、评测机制和方法等,并对未来方向做出了展望。

本期AI Drive,我们邀请到加州大学圣克鲁兹分校的在读博士生-古静,为大家在线解读其发表在ACL 2022的最新研究成果。


古静,加州大学圣克鲁兹分校的在读博士生,加州大学戴维斯分校获得计算机硕士学位。研究方向包括Natural Language Processing和Embodied AI,论文发表于ACL、EMNLP、AAAI等人工智能顶级会议,并长期担任相关会议审稿人。担任亚马逊正在进行的SimBot比赛(全球十只队伍)入选队伍SlugJarvis的队长。暑假进入谷歌研究院实习,进行Embodied AI相关的研究。

本次分享的具体内容有(关注“数据实战派”,按指示回复关键词可获得本文ppt,文末“阅读原文”可看直播回放):1、研究背景
2、VLN任务定义
3、VLN数据集
4、VLN方法
5、VLN评估
6、VLN未来发展

论文:https://arxiv.org/abs/2203.12667

Github:https://github.com/eric-ai-lab/awesome-vision-language-navigation

一、研究背景

如果想要建造一个真正可以在实际生活中利用起来的robot,在我们人类理想中它应该可以使用自然语言来和人沟通,而不是说只能接受一些机器语言指令。

最近,像BERT、GPT这些大模型在NLP领域的新发展,让大家渐渐意识到,可以把自然语言和传统的Vision Navigation融合到一起。

在介绍VLN Task之前,我们先简述这样Robot有什么样的好处。

首先,它可以极大程度上让人无需再做重复性的日常任务,也无需做危险的任务。例如说,在家里可以让机器人帮我们从厨房里拿一个苹果,或者帮我们做饭。机器人可以把实时画面传送给我们,然后我们可以使用自然语言告诉机器人,接下来应该执行什么任务。

其次,VLN在理论研究方面也很有价值,它可以探索究竟什么是具身型人工智能,并从这个方向来探索AGI(Artificial General Intelligence)的可能性,因为它将vision、text和action这三种模态融合到一起,并且可以实际运用到生活当中。

一个成功VLN的agent至少需要理解这些模态,并且可以做出切实有效的action。


在介绍VLN的具体数据集和最新提出来的一些方法之前,我们可以先思考两个问题:

第一,什么才算是一个真正智能的具身型人工智能?我们认为,它首先需要理解来自不同维度的信息,例如Vision,Text,Audio,Video,甚至一些很抽象的信息,像人类提取出来的Knowledge Base或者Symbolic Language。

第二,那我们作为人工智能方面的研究者,应该怎么做去推进这样强大的智能体的研究呢?

我们认为至少可以从以下几个方面来做:首先要提出合理的Benchmark,这种Benchmark带有真实的Environment来测试建造的Robot或Agent。并且,自然语言的使用必不可少。其次,建造了这些Benchmark之后,就需要进一步提出模型和方法,如何建造相关的VLN agent。VLN agent需要实时接收环境的观测画面,以及接收来自人的指令,进而在环境中迁移以完成任务。

首先,VLN的复杂点之一在于其输入信息特别多,很多强大的模型在NLP(Natural Language Processing)上已经做的特别先进了,但是只有language一个模态。复杂一点的任务例如VQA(Visual Question Answering),需要Vision和Language两个模态来解决问题,但是面对真实生活的复杂任务仍显不足。相比之下,VLN要求模型在现实场景中执行任务,需要来自更多模态的信息。

最后,就像近些年的其他任务一样,VLN对训练环境以及训练数据也有很高的要求。当前大多数VLN模型都是基于深度学习,使得这一特性更加显著。此外,搭建能够让VLN agent运行的simulator需要大量的工程工作。并且,每一条VLN训练样本都需要具备完整的迁移路径、自然语言信息以及Ground Truth动作。

这种情况下,如何充分有效的利用现有的数据,或者如何创造更多的数据,也是提升VLN agent性能也非常重要。


所以,今天的Overview大概会分为上图的几个部分,首先是VLN的定义,其次介绍一下从2017年VLN提出以来出现的数据集以及Benchmark,以及大概有哪些Methods具体且有效地解决了VLN的问题,接着简要提一下VLN目前如何Evaluate以及我们对它未来方向的展望。

二、VLN任务定义

VLN全称Vision-and-Language Navigation,一般认为VLN需要有三个要素,Environment、Agent and Oracle。

Environment很好理解,VLN agent需要Navigate,需要在实际环境中去执行,那么在创建 Dataset的时候,建造这个模型需要有这样一个虚拟环境,让它去测试,甚至需要打造一个真实的现实环境测试。对于环境的要求,第一是 photo-realistic,也就是尽可能真实。其次需要是3D环境,并且能够让agent自由探索。

Agent是我们需要打造的可以处理实际任务的模型。Oracle,可以把它理解成人类,也可以把它理解成人工建造的拥有能够用自然语言指导Agent的智能体。Agent需要和environment进行交互。Agent不断去移动会产生新的观察。就像人一样,人在屋子里移动,每走一步就会观察到一个新的画面,新的画面会指导agent做下一步动作。VLN也要求Oracle和Agent之间需要有自然语言的交互。同时,Oracle和Environment也需要有互动。

例如Oracle可以和此Agent一起合作完成任务。简而言之,VLN是要求人和Agent互相合作,在环境中去完成迁移任务。

三、VLN数据集

本节介绍相关的数据集以及Benchmark。


目前在VLN研究学者提出了很多个数据集,这些数据集从不同的角度反映了VLN的核心问题


我们把这些数据集根据两个维度划分,第一个是Communication Complexity(交互复杂度),第二个是Task Objective(任务目标)。

Communication Complexity是指对agent语言复杂度的要求,需要的语言能力才能够完成这个任务。而Task Objective则表示这个任务本身复杂程度。


我们先介绍Communication Complexity。第一个层次是最低的Initial Instruction:Oracle一开始的时候给agent一句Instruction,告诉它要去完成什么任务,这是最简单的一种。第二种是Oracle Guidance,即在接收到初始的任务之后,例如find the apple,如果agent感觉到困惑,它找了很久仍然找不到苹果,这时候,我们告诉它应该向右转。Agent需要有后续继续理解自然语言的能力。第三种是最复杂的,要求它不仅能够后续理解,还需要主动用自然语言去问问题,就是Dialogue的形式,也会更像人类一样。

目前,大多数的 Dataset都集中在Initial Instructions。这有几个原因了,一是创建Dataset的过程会比较简单,第二Evaluation也会相对比较简单,因为如果需要后续的Oracle Guidance和Dialogue,agent需要Evaluate的能力会更多。


Task Objective,也分为三个层次。

第一个是Fine-grained,即开始给agent的指令是非常详细的,它只要按照给指令迁移就可以完成任务。

第二个是Coarse-grained。这里不会给agent详细的指令,只给它一个很高层次的目标来自己去找到这个物体。例如告诉它find the mirror in the bedroom,这种情况下它就需要自己去找到bedroom在哪。

第三个是Navigate and Object Interaction。为了完成任务,agent不仅仅需要Navigate,也需要做Object Interaction。例如我们要求agent去厨房里拿一些切开的苹果,但是它没有找到切开的苹果,只找到了完整的苹果,这时候,光靠Navigation是没有办法完成这个任务的,它需要拿一把刀,去执行和环境交互的动作,把苹果切开。

接下来介绍一些具体的 Dataset,尤其是当中一些比较重要的、用的比较频繁的Dataset。

第一个是Room-to-Room(R2R)。R2R给一个很长很长的Instruction,然后agent可以完全根据详细的Instruction去完成这个任务。R2R现在也是大家经常打榜的Benchmark。

TOUCHDOWN是第一个户外的VLN数据集,也是目前研究者最常测试的户外VLN数据集。目前几乎所有的户外数据集都是基于Google Street View,因为谷歌有丰富的街景,方便研究者提取使用。


REVERIE会让agent初始化在房间当中的任一个位置,但是并不会给出Agent的具体路线,所以agent需要对房间有更强地理解能力,甚至需要一些Prior Knowledge。例如,需要知道卧室一般在什么位置,如果需要去找刀子,一般就是在厨房,如果需要找台灯,可能在卧室。Alfred也是非常火的一个Dataset,它是第一个结合了Interaction和Navigation的数据集。


下面介绍一下VNLA & HANNA和CVDN。

VNLA & HANNA是同一作者提出的,差别不是特别大,它们相当是Oracle Guidance的代表数据集。

CVDN是第一个Dialogue Navigation Dataset。在这里agent需要主动去问问题解决Navigation Task。一开始它收到的指令可能特别简单,有的时候根本无法靠这个指令来完成任务,所以它就需要在过程当中不断询问人该怎么走,这对Agent技能有更高的语言能力要求,需要agent能够主动去识别什么时候问问题,应该问什么样的问题。


TEACh Benchmark数据集推出来才几个月,由亚马逊Alexa发布,要求Agent有主动问问题的能力,还要求能和环境去交互,任务目标也更复杂。

基于此,亚马逊也提出了SimBot Challenge,使用真人去评测VLN agent。

四、VLN方法

很多研究者根据VLN benchmark提出了对应的Methods。

根据下图的这个框架,我们把方法划分为4类方法:Prior Exploration,Representation Learning,Strategy Learning,Data Centric Learning。


1、Representation Learning

Representation Learning主要作用是帮助Agent获得更好的对信息的理解。

(1)Pre-training

Pre-training目前在任何一个领域都是非常常见的方法,大家基本上都把它作为一个Common Practice。目前可以从这几个维度来用。首先是单模态。例如在Language上面,我们直接把预训练好的BERT插上去,它就会有很高的提升。对于多模态,ViLBERT之类的模型也可以用上去。第三个是在VLN Domain上面做Pre-training。这里有两种做法,第一种是从其他的现有VLN数据集上预训练,第二种搜集或者合成大量的VLN数据。

(2)Representation Learning

Semantic Understanding是从语义的角度提升对输入的理解。这里分为两个方向,第一个是Intra-Modality,从模态内部去提升,发现模态内部有什么规律。例如从画面中抓取重要的地点信息,进而指导agent下一步该往哪走。Inter-Modality是两个模态之间的信息,例如说,在画面发现了楼梯、厨房、桌子这些重要的地点信息的同时,在语言中也发现了相关的名词词汇,把它们匹配起来。

(3)Graph Representation

Graph为什么重要?VLN涉及很多物体、地点和动作之间的显性信息,如果把这些信息用一个图来表示出来,那么就可以提供一些指导。另一个方向是建造一个迁移图,agent在环境探索的过程中,每走一步,就发现新的画面,用图把看到的重要信息都记录下来,也可以提升性能。

(4)Memory Structure

我们也可以使用一个额外的模块来处理迁移历史信息。VLN了涉及太多的信息,例如说过去的所有Action、对话交互,以及所看到的Image。

(5)Auxiliary Task

因为VLN Task拥有很多额外信息可以帮助agent更好地理解自身和环境,这些信息都可以用来作为辅助任务。

2、Strategy Learning

接下来介绍Action Strategy Learning,即理解了输入信息之后,如何去做一个正确的决策。

(1)Reinforcement Learning

第一个是强化学习,VLN执行是一个动态过程,给定初始状态,agent需要执行后面的很多个动作,直到任务成功或者失败。Reinforcement Learning当中非常重要的一个问题就是如何定义Reward。针对这点,也有不同的解决方案,像最基本是使用现有的Evaluation Metric,例如看最后成功率为多少,然后以这样的metric来做reward。第二个方法,也专门配置一个训练模型得到Reward。每走一步,这个模型会端到端的告诉我们当前action的Reward是多少。

(2)Exploration during Navigation

在Navigation过程中,agent可以探索多个角度,把周围环境都看了一圈之后,再决定 Agent究竟是往哪一步路移动比较好。

(3)Navigation Planning

还有一种Navigation Planning的方法,即提前计划后面的移动方式,plan可以从视觉和语言两个方向得到。例如从视觉方面,可以先预测画面当中有哪几个点是一定要走的地方,并依次迁移。

(4)Asking For Help

主动去向人来寻求帮助可以帮助agent走出困境。这里具体涉及两个能力,第一个,agent要知道什么时候去问问题,第二个是如何用自然语言问出问题。


由此我们可以看出,Strategy Learning主要方法是利用一些VLN Specific的特征来设计方法。

例如在迁移当中如何去探索,如何主动问问题,这些都是和这个任务本身紧密相关的。而之前说到Representation Learning,主要是如何积极地学习其他模态的信息,如何更好地理解输入。

3、Data-centric Learning

Data-centric Learning,是目前VLN非常有效的方法。

目前VLN实在是太过复杂了,涉及的信息太多,首先是视觉画面,然后是语言方面的信息,还有动作方面的信息,这些信息都要求理解,进而输出一个动作,同时这个画面还可以特别复杂。目前这种数据极度稀缺的情况下,Data-centric Learning往往发挥的作用非常大。

(1)Data Augmentation

第一种很最自然的方法是Data Augmentation,如何生成更多的数据用作训练,大致分为两种方式,第一个是Trajectory-Instruction Augmentation,直接生成一条一条的路径,然后配上语言;另一种是Environment Augmentation。先增强环境,当有更多的虚拟环境之后,再在其中建造更多的路径。

(2)Curriculum Learning

自从Curriculum Learning被提出来以后,在每个领域都有人尝试。VLN当中,先从简单的任务开始做,在简单的任务上训练,接着在复杂的任务上训练。我们可以使用迁移场景中的房屋数目或者自然语言指令长度来决定任务难度。

(3) Multitask Learning

多任务学习,在任何领域都非常常见,因为不同的VLN Task可以相互帮助,实现起来也很简单,一个agent同时用在两个数据集上面,然后在这两个数据集上面同时去训练。

(4)Instruction Interpretation

Instruction Interpretation,是如何换一个角度来解释Instruction。例如Instruction有时候特别长,如果把它拆解成很多细致的步骤,Agent就能更好地去理解并执行。


目前Data-centric Learning中主要方法是Data Augmentation。

4、Prior Exploration

实际生活当中,提前探索环境也可以提升性能。

例如一个居家扫地机器人花一个小时,就可以把房屋探索得非常熟悉。不过提前对测试环境进行充分探索的话,这样就不能和其它模型去对比了,即A模型提前探索的环境,B模型没有去探索,拿它们一起来比是不公平的。

五、VLN评估

现有常用的Metrics可以分为两种,第一种是Goal-Oriented Metrics,简而言之,这个任务是否成功?成功就是1,不成功就是0。还有一些例如Goal Progress,即使没有成功,所走的这几步,接近了目标的距离也可以是不错的Metric。另一类metric衡量path fidelity,要求所走路径和Ground Truth路径尽可能相似。

六、VLN未来方向

对于这个领域的未来发展,我们首先可以提升当前已经提出的任务以及方法。当前模型普遍缺乏世界知识。

如果我们人类需要拿个杯子,我们提前知道杯子大概在桌子上。但是,没有常识的agent就不知道。这里就涉及两个问题了,首先是什么样的知识,第二个怎么表示知识,这都是值得探索的方向。

另外,Lack of Diversity and Generalization Issue也是值得探索的方向。目前的数据集更多地是集中在一个Environment上,例如户外VLN大多数都是美国的大城市,它一旦用到其他的场景上,可能效果就特别差。

语言方面也存在一个很大的Diversity Issue。对于这个模型,不同语言可能差别很大,像有一些国家的语言,他们可能还是从后往前读的,甚至语法规则都不一样。另外通过中文或者英文训练好的agent,很难运用到其他语言上面,这里也存在一个generalization的问题。

与此同时,我们也可以探索新的方向。

第一个是Collaborative VLN。目前的VLN都只有一个agent,但是现实生活中有一些复杂任务,可能需要多个agent合作,同时还涉及agent和人的合作。

第二个是Simulation To Reality,如何把在Simulator建好的模型,大规模地在真实的屋子当中实现。

Ethics&Private也是值得探索的方向。Agent可以在环境当中自由探索,渐渐熟悉了环境,但是可能看到了隐私信息。怎么样在不损失性能的同时保护这些隐私也是个很值得研究的课题。

你可能感兴趣的:(ACL 2022:梳理视觉语言导航的任务、方法和未来方向|AI Drive)