目录
《Speaker-Follower Models for Vision-and-Language Navigation》主要内容翻译。
参考论文:https://arxiv.org/pdf/1806.02724.pdf
开源代码:https://github.com/ronghanghu/speaker_follower
摘要
根据自然语言指令进行导航存在很多困难。指令里通常仅有部分高级决策动作(向前向右)和标志(床沙发),而不是完整的低级电机动作(具体电机动作),这些缺失的信息需要通过感知环境来推断。这对于机器学习来说是双重挑战,首先带有标签的数据收集困难,其次很难使用通用序列模型实现推理。作者通过引入speaker模型解决了上述两个问题。Speaker模型的作用是(1)合成新的指令来进行数据增强(2)进行实用性(pragmatic)推理,即评估候选动作序列对指令的解释程度。两个步骤都用了全景动作空间,该动作空间能够反映人类生成指令时动作的粒度。最终实验表明,本文所提出方法的三个组成部分:speaker-driven数据增强、实用性推理、全景动作空间,极大提升了baseline(follower)的性能,成功率是现有最佳方法的两倍以上。
1介绍
为了完成导航任务,智能体必须学习将语言指令和视觉环境联系起来,还需要能够在未知环境中执行新的指令。即使简单的导航任务也需要复杂的推理,智能体必须解析含糊的地标指示(文章中图4就是一个例子,指令说穿过右边的门,而右边有两个门),对可选路线进行反事实评估,并识别不完整指定的目的地。虽然针对各种导航benchmarks已经提出了许多方法[33,34,55],但它们通常都是采用单个模型,用有限的带有注释的轨迹数据学习从指令到动作的映射。
本文作者将视觉语言导航任务视为轨迹搜索问题,智能体需要根据指令从环境中找到最佳轨迹。提出的模型包括一个指令解释模块(follower),将指令映射到动作序列;一个指令生成模块(speaker),将动作序列映射到指令。两个模块都使用了标准的sequence-to-sequence结构。尽管结合speaker和follower的明确概率推理是计算语用学文献[14]的主要内容,但这些模型的应用局限在极其简单的决策任务,例如单项选择。将speaker模型整合到training阶段和test阶段,与follower模型一起解决导航问题。训练时,speaker通过合成额外的路线指令扩展数据集来帮助follower训练。测试时,follower可以预测所有可能的路线,并根据speaker用路线生成对应正确指令的概率进行评分,从而选择最佳路线。相对于仅仅用follower模型,额外的speaker模型改进了路径的规划。在一个全景动作空间构造speaker和follower,该动作空间有效编码了高级行为,使智能体直接在相邻位置间移动,而不是做出诸如将相机旋转一定度数之类的低级视觉运动决策。
2相关工作
跟随自然语言指令 学习在可交互环境中执行自然语言指令的方法有:基于语言的中间结构化和可执行表示的方法,直接从语言和观测状态映射到动作的方法。不同于过去的指令跟随任务,[1]的方法引入了丰富的视觉环境。[55]也应用了基于model-based和model-free的强化学习方法,使用环境模型来预测动作导致的状态,并根据环境模型进行规划。不同于之前的工作,作者提出的方法不仅推理状态转换,而且还推理状态与描述语言的关系,特别是使用speaker模型来预测给定的状态序列对指令的解释程度。
语用理解 作者的工作利用了Rational Speech Acts框架,将speaker和follower的交互建模为一个过程,在该过程中每个行为者都以概率方式对另一个行为者进行推理,以最大程度地提高成功交流结果的概率。 作者的方法在follower的基础上,加入了speaker模型,不仅在推理时使用,还在训练时使用来提高follower模型的质量。
半监督和自监督 作者使用speaker对未标注的新路线合成额外的导航指令,并用合成数据来训练follower。
3使用speaker-follower模型完成指令跟随
若路线指令为d,使用基于sequence-to-sequence的follower模型计算分布,r为规划路线(状态动作序列),将指令的单词序列通过LSTM编码,并引入注意力机制,最后输出动作序列。Speaker模型计算分布
,通过将路线上的视觉观测和动作用LSTM编码,并引入注意力机制,最后逐个单词输出指令。
首先用有标签的数据训练speaker,在follower的训练环境中采集一些新的路线,然后用speaker合成对应的指令,将新生成的数据作为原始数据的扩充一起来训练follower。测试follower时,用follower生成可能的路线,根据speaker预测指令与原指令接近程度进行排序,选择最好的路线。
3.1speaker-driven数据增强
首先在follower的训练环境中收集新的路线,方法为[1]中用到的最短路径法(基于加权无向图寻找最短路径),然后用speaker生成路线r对应的指令d:。
训练follower时,现在新生成的数据集上训练,再在原始数据集上微调。
3.2speaker-driven路线选择
利用Rational Speech Acts框架,follower需要选择路线r,使speaker有最大概率生成原始指令d:。这样的follower生成的路线可以很好地解释指令。
完全解决上述最大化问题是不可能的,同时也并不期望完全解决,因为这些模型的训练是有区别的,且当输入与训练时看到的不同时无法进行很好的校准。参考前人的工作,作者使用了一种重新打分的方法,用基础follower生成路线,然后用基础speaker重新计分。求最大化是直接找到一个r满足argmax,作者的方法是先生成可选路线,然后用speaker进行打分排序,选择最优路线。
打分的方法为:,
在验证集上通过最大化follower正确率调节。
候选路线的生成 为了用follower产生路线,进行了一个搜索过程,并通过的概率对路线打分。采用了state-factored search,部分输出序列在状态级别竞争,状态由智能体位置和离散的朝向构成,每个状态仅保留了到当前状态得分最高的路径。该搜索过程类似带有封闭列表的图搜索,但由于动作概率不稳定(可能取决于路线上采取的动作序列,因为用了序列模型),所以只是类似,所以对于某个状态如果有更高分数的路线,可以再次探索该状态。
到每个状态得分(follower打分)最高的路线都被保存,状态包括了位置和朝向,以及该状态是否被探索。当前得分最高且还有没继续探索(没有后续状态)路线被选取并继续探索,选择最新状态下所有可执行的动作并执行,生成多个新路线。如果路线r包含了某终止状态s,且s还未被探索或路线r得分比当前到达s状态最高得分路线更高,那么r被存储为到达s状态的最高分路线。持续该搜索过程直到收集K(实验中取40)个在不同状态终止的路线,或者没有可以继续探索的路线。
由于follower的打分是基于条件概率相乘,所以路线的打分是不会增加的(每次乘一个不大于1的数),因此一条路线不会经过一个状态两次(下次到达同一状态的得分必定不会更高),这有利于提高follower和打分的准确率,因为自然语言指令通常不会描述有环的路线。
3.3全景动作空间
[1]中模型使用了低层次视觉控制命令(相机左转30度或右转30度),且仅仅感知到前方视觉信息,如此细粒度的控制和受限的视觉信息会给指令跟随带来很多困难。作者的方法直接预测高级全景动作,通过系统内置的转换可以自动转换为低级视觉控制命令。
在用全景动作空间时,智能体能感知到360度全景视野,分为36块(水平分为12块x高度分为3块,每块30度),每个视角i编码为。智能体在每个位置可以朝一部分可移动方向(由环境提供)移动,因为某些方向可能含有障碍。在我们定义的动作空间智能体需要做高级决定,确定向哪个可移动方向移动,每个可移动方向j被编码为
。
和
通过拼接视觉特征(卷积网络提取视角或移动方向周围图像特征)和4维方向特征
获得,
和
分别表示朝向角和高度角。
表示stop动作,当智能体达到目标点时可执行。
为了确定前进的方向,智能体通过注意力机制观察所有视角,注意力由记忆确定。每个视角的注意力权重
为:
,
。
引入注意力后视觉特征为,然后输入sequence-to-sequence模型来更新记忆。计算向每个可移动方向j移动的概率
:
,
。
然后智能体选择一个可移动方向(概率为
)移动到相邻的位置。
4实验
4.1实验设置
数据集 使用了Room-to-Room(R2R)视觉导航数据集。数据集包括7189条路线,每条路线包括5到7个离散点,平均长度为10m。每条路径配套3条指令,共21.5k条指令,平均长度29个单词。数据集分为训练集、验证集和测试集。验证集中包括从参与训练的环境中采集的路线,和未参与训练的新环境中采集的路线。测试集是从不同于训练集和测试集的新环境中采集的路线。
评估方法 导航误差NE:预测的终点和实际终点的距离;成功率SR:预测终点和实际终点误差小于3m的比例;oracle success rate:用路线上与实际终点距离最近的点来计算SR。
实施细节 使用Imagenet上预训练的ResNet来计算视觉特征v,训练过程中不再更新ResNet。为了更好地泛化到新单词,使用Glove embeddings来初始化follower和speaker的词嵌入向量。
在没有使用合成指令的baseline中,使用训练集训练follower和speaker。使用[1]中的student-forcing方法训练follower模型。使用最大似然估计训练speaker模型。
用speaker-driven数据增强时,额外采集17800条路线,使用speaker模型贪婪推断生成指令。follower模型在补充的数据集上用student-forcing训练50000个迭代,在原始数据上微调20000个迭代。
4.2 结果和分析
在验证集上测试了每个模块的贡献,在测试集上与其他方法作对比。
4.2.1模块贡献
Speaker-driven数据增强 follower可以通过学习额外补充的数据,提高新环境中的泛化能力。
实用性推理 测试了使用speaker对follower产生的候选路线重新打分的作用。结果表明当推理前进方向时,使用speaker模型评估路线对指令的解释程度,可以大大提高导航准确率。
全景动作空间 结果表明使用高级全景动作空间能够使智能体更容易准确地执行指令。
4.2.2与之前工作对比
与Student-forcing和RPA对比,这些方法在unseen环境中成功率远远低于seen环境,泛化能力都很差。作者的方法不仅将seen环境成功率提高了两倍,而且在unseen环境中也保持一样高的成功率。不过与人类的表现相比,机器还有很大差距。
5总结
视觉语言导航任务带来了两个推理问题:在语言上,智能体必须在变化的环境中解释指令;在视觉上,局部感知和长期决策之间的紧密联系。在作者的方法中,构造全景动作空间并加入speaker模型大大改善了follower模型。