Speaker-Follower Models for Vision-and-Language Navigation论文翻译

    xiaoxiao2025-04-09  25

    论文:https://arxiv.org/abs/1806.02724 代码:http://ronghanghu.com/speaker_follower.

    1 介绍

    模型包括一个指令解释(follower)模块,将指令映射到动作序列;和一个指令生成(speaker)模块,将操作序列映射到指令(图1),两者都使用标准的sequence-to-sequence架构实现。speaker学习为视觉路线提供文本指令,而follower学习为提供的文本指令遵循路线(预测导航动作)。虽然将speaker和follower结合起来的显式概率推理是计算语用学[14]文献的主要内容,但这些模型的应用在很大程度上仅限于非常简单的决策任务,比如单个强迫选择。

    图一 :视觉语言导航的任务是根据人类自然语言指令执行一系列动作(在环境中导航)。我们的方法由一个指令follower模型(左)和一个speaker模型(右)组成。

    我们在培训时和测试时都包含了speaker,它与学习指导的follower模型一起工作来解决导航任务(参见图2了解我们的方法)。在训练时,我们执行speaker-driven的数据增强,speaker通过合成额外的路线指令对来帮助follower扩展有限的训练数据。在测试时,follower通过展望未来可能的路线来提高成功的机会,并根据speaker为每条路线生成正确指令的概率来务实地选择最佳路线。这个过程,使用external speaker模型,改进了计划只使用follow模型。在全景动作空间的顶部,我们可以同时构造speaker和follower,从而有效地编码高级行为,直接在相邻位置之间移动,而不是做出旋转角度等低级视觉运动决策(参见图3)。

    总结我们的贡献:我们提出了一种新的视觉和语言导航方法,其中包含一个基于视觉的speaker-follower模型,并引入一个全景表示来有效地表示高层操作。我们在房间对房间(R2R)数据集[1]上评估了这个演讲者-跟随者模型,并表明我们模型中的每个组件在执行后续任务时都提高了性能。我们的模型在不可见的测试环境下获得了53.5%的最终成功率,比现有方法提高了30%。我们的代码和数据可以在http://ronghanghu.com/speaker_follower上找到。

    2 相关工作

    Natural language instruction following

    学习在交互环境中执行自然语言指令的系统包括基于语言的中间结构化和可执行表示的方法[51、9、4、29、20],以及直接从语言和世界状态观察映射到操作的方法[7、2、33、34]。本文研究的嵌入式视觉语言导航任务不同于以往的情境教学任务,它引入了丰富的视觉语境。最近的工作[55]已经将基于模型和无模型的强化学习[56]技术应用于视觉和语言导航问题。具体地说,环境模型用于预测由某个操作产生的状态的表示,并针对该环境模型执行规划。我们的工作与之前的工作的不同之处在于,我们不仅对状态转换进行了推理,还对状态与描述它们的语言之间的关系进行了推理——具体地说,使用 external speaker模型来预测给定的状态序列如何解释一条指令。

    Pragmatic language understanding

    语言学、自然语言处理学和认知科学一直在研究语用学:语境和交际目标对语言意义的影响。我们这里的工作利用了Rational Speech Acts framework[14,17],该框架将speakers和listeners之间的交互建模为一个过程,其中每个代理都对另一个代理进行概率推理,以最大限度地提高成功交际结果的机会。这一框架已被应用于人类语言[15],并提高了生成[3,31,53,12]和解释[58,30,52]参考语言系统的性能。类似的建模工具最近也被应用于生成和解释有关顺序决策的语言[16]。本文运用了一种实用主义的教学跟随者的精神。然而,在这里,我们将其与更复杂的可视化管道集成在一起,不仅在推理时使用它,而且在训练时使用它来改进基本listener模型的质量。

    Semi-and self-supervision

    我们使用的半监督方法与模型引导技术有关,如自训练[43,32]和高层次的联合训练[6]。最近的研究使用单语语料库来改进神经机器翻译模型的性能,其结构类似于我们使用的序列到序列模型[19,21,44]。在地面导航环境中,[22]使用单词预测任务作为增强学习代理的训练时间监控。与我们的工作最相关的方法是SEQ4模型[27],它通过采样新的环境和地图(在没有视觉的合成域中),并训练一个自动编码器使用语言作为潜在变量来重建路线,从而对导航任务应用半监督。这里使用的方法要简单得多,因为它不需要构造解码目标的可微代理。

    半监督数据增强在计算机视觉任务中也得到了广泛的应用。在Data Distillation[40]中,通过对未加注释的图像进行综合和细化预处理模型预测,得到了用于目标和关键点检测的附加注释。在多智能体强化学习中,敌对智能体群体的自我游戏是常见的[45,47]。在强化学习的行为-批评方法中[49,50],a critic学习the value of state,并在训练过程中用于监督行为者的政策。在这项工作中,我们使用一个speaker对未标记的新路线合成额外的导航指令,并使用该合成数据从speaker培训follower。

    Grounding language in vision

    现有的视觉基础研究[39,31,26,41,36]解决了被动感知静态图像并将引用表达式映射到一个丰富的框或分割掩码[25,28,57],探索了各种技术难题,包括生成提案[10]和关系处理[54,36,24,11]。在我们的工作中,视觉和语言导航任务要求agent积极地与环境交互,根据自然语言指令找到通向目标的路径。这可以看作是语言学中的一个基础问题,语言教学根植于环境的轨迹中,但需要更多的推理和规划技能,而不是参照表达的基础。

    3 使用Speaker-Follower模型执行指令

    为了解决遵循自然语言指令的任务,我们依赖于两个模型:前面工作中考虑的那种指令follower模型和speaker模型—— 一个学习指令生成器,用于模拟人类如何描述导航任务中的路径)。

    具体地说,我们的follower模型基于sequence-to-sequence模型[1],计算一个分布 P F ( r ∣ d ) P_{F} (r | d) PF(rd) ,路线r(状态和行动序列)由路线描述d给出。follower用LSTM编码一连串用来描述路线的词[23],并且使用一个注意力机制描述输出路线行动顺序[5]。我们的speaker模型是对称的,通过使用LSTM对路线中的可视观察和操作序列进行编码,生成一个分布 P S ( d ∣ r ) P_{S}(d | r) PS(dr),然后使用带attentino的LSTM解码器对编码的输入路线进行解码,逐字输出一条指令(图1)。

    我们将这两个基本模型结合到一个speaker-follower系统中,在这个系统中,speaker在训练时和测试时都支持follower。图2给出了我们的方法的概述。首先,我们根据可用的地面真值导航路线和指令训练speaker模型。(图2 (a))。在训练follower之前,speaker为训练环境中的新采样路径生成合成导航指令,然后作为对follower的额外监视,如第3.1节所述 (Figure2 (b))。在follower测试时,follower生成可能的路径来解释给定的指令和起始上下文,speaker用实际的方法对这些路径进行排序,选择一个能够很好地解释上下文中的指令的路径(第3.2节和图2 ©)。第3.3节中的全景操作空间支持folloqwe和speaker,它反映了导航指令的高级粒度(图3)。

    3.1 Speaker-Driven Data Augmentation

    训练数据只涵盖有限数量的导航指令和路线,# D = ( d 1 , r 1 ) . . . ( d n , r n ) D = (d^{_{1}},r _{1})...(d_{n},r _{n}) D=d1,r1...(dn,rn).为了使agent更好地推广到新的路线,我们使用speaker在训练环境中对采样的新路线生成合成指令。为了创建一个综合训练集,我们对M个路线集合 r ^ 1 , r ^ 2 , . . . r ^ M \hat{r}_{1},\hat{r}_{2},...\hat{r}_{M} r^1,r^2,...r^M进行了采样,使用与在原始训练集[1]中生成路线相同的最短路径方法。然后我们为每条指令 r ^ k \hat{r}_{k} r^k生成一个和人类相似的文本指令 d ^ k \hat{d}_{k} d^k,通过执行贪婪预测的speaker模型预测近似 d ^ k = a r g m a x d P S ( d ∣ r k ^ ) \hat{d}_{k}=argmax_{d}P_{S}(d|\hat{r_{k}}) d^k=argmaxdPS(drk^)

    这些M合成导航路线和指令 S = ( d ^ 1 , r ^ 1 ) , . . . , ( d ^ M , r ^ M ) S =(\hat{d}_{1},\hat{r}_{1}),...,(\hat{d}_{M},\hat{r}_{M}) S=(d^1,r^1),...,(d^M,r^M)。结合原始训练数据D进入一个增广的训练集S∪D(图2 (b))。在训练过程中,follower首先在这个增强训练集上进行训练,然后在原始训练集d上进行进一步的微调。这种 speaker-driven 的数据增强旨在克服数据稀缺的问题,让follower学习如何按照合成指令在新路径上导航。 图2.我们的方法结合了一个指令follower模型和一个speaker模型。(a)speaker模型是按照地面真实路线训练的,并有人类产生的描述;(b)它向follower提供额外的综合指令数据以进行引导训练;©它还帮助follower解释模糊的指令,并在推理过程中选择最佳路径。详情见第3节

    3.2 Speaker-Driven Route Selection

    我们使用上面描述的基本speaker ( P S P_{S} PS)和follower ( P F P_{F} PF)模型来定义一个实用的follower模型。利用理性的言语行为框架(14、17),一个务实的follower模式应该选择路线r通过环境使speaker模型能高概率的产生给定描述d: a r g m a x r P S ( d ∣ r ) argmax_{r}P_{S}(d|r) argmaxrPS(dr)(对应于一个理性的贝叶斯follower与前一个统一的路线)。这样的follower选择了一条能够很好地解释观察到的描述的路径,允许对指令进行反事实推理,或者使用全局上下文来纠正follower路径中的错误,我们称之为语用推理。

    考虑到我们所使用的sequence-to-sequence模型,精确求解上述最大化问题是不可行的;甚至可能不可取,因为这些模型是有区别地训练的,而且可能对与训练期间看到的不同的输入校正得很差。遵循之前关于语用语言生成和解释的工作[46、3、35、16],我们使用修改过的程序:使用基本follower模型为给定的指令生成候选路线解释,然后使用基本speaker模型重新改这些路线(图2©)。

    我们的实用follower使用下面描述的搜索过程,从基本follower获得K个候选路径,然后在follower和speaker模型概率的组合下选择得分最高的路径,从而为给定的指令生成一条路径 λ是超参数,范围[0,1]。我们优化验证数据来最大化follower的准确性。

    候选路径的产生

    从基本follower模型生成候选路线,我们执行一个搜索过程,候选路线逐步产生,action-by-action,使用概率由 P F P_{F} PF得分。标准beam search in sequence-to-sequence模型(例如[48])迫使部分路线基于行动的数量竞争。我们通过使用state因素搜索过程获得更好的表现,其中部分输出序列在环境状态级别上竞争,其中每个状态由agent的位置和离散化的航向组成,只保留到每个状态找到得分最高的路径为止。在高等级,这个搜索过程类似于图搜索一个封闭的名单,但由于行动的概率是不稳定的(可能取决于整个序列的行动路线),只有近似,所以我们允许re-expanding状态如果一个较高风险数值状态被发现。

    在我们的状态分解搜索的每个点上,在follower中搜索和生成候选项模型,我们存储到目前为止发现的最高概率路线(由follower模型得分)在每一个state。state包含follower在环境中的离散位置和航向(它所面对的方向),以及路线是否已完成(已预测停止动作)。得分最高的路线,在尚未扩展(已产生继任者),则从state选择和扩大利用每一个可能的行动,产生路线到邻近state。为每个这些线路r与最终状态,如果s尚未达成的搜索,或者如果r是较高分数模型在当前最佳路径下,则r存储为最佳途径。我们继续搜索过程直到K路线结束在不同的state预测停止行动,或没有剩余未展开的路线。有关伪代码,请参阅补充资料B节。

    由于路线分数是条件概率的乘积,所以路线分数不增加。因此,这个搜索过程生成的路线不会经过相同的状态两次——我们发现这对基本跟踪器模型和实用的重新调整过程都提高了准确性,因为指令通常描述非循环路线。

    我们使用此过程为每条指令生成最多K = 40条候选路线,并使用Eq.1重新生成内核。除了支持语用推断,与标准的贪心搜索(参见补充资料的C节和图C.2)相比,这种状态因子搜索过程还单独提高了follower模型的性能(在follower模型下选择得分最高的候选路径)。

    补充资料B

    3.3 Panoramic Action Space

    [1]中的序列对序列代理使用低水平的视觉运动控制(如向左或向右旋转30度),只感知前额的视觉感官输入。这种细粒度的视觉运动控制和受限的视觉信号给后续指令带来了挑战。例如,在图3中,为了“左转并走向沙发”,代理需要执行一系列的转向操作,直到在其视图的中心看到一个沙发,然后执行一个“go forward”操作。这需要很强的计划和记忆视觉输入的技能。虽然解决这一挑战的一种可能方法是学习一个分层策略,比如在[13]中,但是在我们的工作中,我们直接允许agent推理高级操作,使用带有全景表示的全景操作空间,使用从低级visuomotor控件转换而来的内置映射。

    如图3所示,在我们的全景表示,agent第一“looks around”和感知一个360度的全景从当前位置周边的场景,这是离散成36视图角度(12headings X 3elevations 30度间隔-在我们的实现中)。每个视角i由一个编码向量 v i v_{i} vi表示,在每个位置,agent只能向少数几个可导航方向移动(由导航环境提供),因为其他方向在物理上是可以被遮挡的(例如被一个桌子遮挡)。在这里,在我们的动作空间中,代理只需要高级决策下一步要去哪个可导航方向,每个可导航方向j由一个编码向量 u j u_{j} uj表示。每个视角和可导航方向的编码向量 v i v_{i} vi u j u_{j} uj由一个外观特征(从该视角或方向附近的局部图像patch中提取的ConvNet特征)和一个四维方向特征[ s i n φ ; c o s φ ; s i n θ , c o s θ sin\varphi ;cos\varphi ;sin\theta ,cos\theta sinφ;cosφ;sinθ,cosθ ]组成;其中, φ \varphi φ为航向角, θ \theta θ为仰角。同时,我们引入一个停止动作编码 u 0 = 0 ⃗ u_{0}=\vec{0} u0=0 。当agent决定它已经到达目标位置(结束episode)时,可以执行此STOP操作。

    为了做出决定往哪个方向去,agent首先执行one-hop visual attention看周围的视角,基于其 h t − 1 h_{t-1} ht1记忆向量。每个视角i的注意力权重 α t , i \alpha _{t,i} αt,i的计算方式为: a t , i = ( W 1 h t − 1 ) T W 2 v t , i a _{t,i}=(W_{1}h_{t-1})^{T}W_{2}v_{t,i} at,i=(W1ht1)TW2vt,i α t , i = e x p ( a t , i ) / ∑ i e x p ( a t , i ) \alpha _{t,i}=exp(a_{t,i})/\sum_{i}exp(a_{t,i}) αt,i=exp(at,i)/iexp(at,i)

    然后将全景场景中加入的特征表示 v t , a t t = ∑ i α t , i v t , i v_{t,att}=\sum_{i}\alpha _{t,i}v_{t,i} vt,att=iαt,ivt,i作为序列到序列模型的视觉感官输入(替换[1]中的60度正面外观向量),更新agent的记忆。然后用双线性点积得到各可航方向j的概率pj: y j = ( W 3 h t ) T W 4 u j y_{j}=(W_{3}h_{t})^{T}W_{4}u_{j} yj=(W3ht)TW4uj p j = e x p ( y j ) / ∑ i e x p ( y j ) p_{j}=exp(y_{j})/\sum_{i}exp(y_{j}) pj=exp(yj)/iexp(yj)

    然后agent选择一个可导航的方向uj(概率为pj)沿着该方向到达相邻的位置(或u0停止并结束该事件)。我们使用一个内置的映射,无缝地将我们的全景感知和动作转换为视觉运动控制,如转弯和移动。

    4 实验

    数据

    我们使用房间到房间(R2R)视觉和语言导航数据集[1]来进行实验评估。在此任务中,agent从环境中的某个位置开始,并提供一个人工生成的导航指令,该导航指令描述到目标位置的路径。agent需要按照指令执行多个离散的动作(例如转弯、移动)来导航到目标位置,并执行一个“stop”动作来结束事件。注意,与一些机器人导航设置[37]不同的是,这里没有为代理提供目标图像,而是必须从文本描述和环境中识别它是否达到了目标。

    数据集包含从Matterport3D[8]导航图中采样的7189条路径,其中每个路径由5到7个离散视点组成,平均物理路径长度为10m。每一个path有三条人工编写的指令,总共21.5k条指令,平均每条指令29个单词。数据集分为训练、验证和测试集。验证集分为两部分:可视部分,其中路线是从训练期间看到的环境中采样的,以及在训练期间看不到的环境中不可见的。所有测试集路由都属于在培训和验证集中看不到的新环境。

    评价指标

    在R2R任务之前的工作之后,我们的主要评估指标是导航误差(NE),测量follower agent预测的端点位置与真实路线的端点位置之间的平均距离和成功率(SR),即预测的距离真实位置3m以内的端点位置的百分比。和前面的工作一样,我们还报告了oracle成功率(OSR),它度量了跟踪者在访问过程中最接近目标时的成功率,允许代理在不受惩罚的情况下超额完成目标。

    补充细节

    在[1]和[55]之后,我们使用在ImageNet[42]分类数据集上训练一个ResNet[21]的最后一个卷积层的输出。这些视觉特性是固定的,并且在培训期间不更新ResNet。为了更好地推广到词汇表中的新单词,我们还进行了Glove嵌入[38]的实验,初始化了speaker和follower中的单词嵌入向量。

    最新回复(0)