其他分享
首页 > 其他分享> > Look Before You Leap: Bridging Model-Free and Model-Based Reinforcement Learning 论文翻译

Look Before You Leap: Bridging Model-Free and Model-Based Reinforcement Learning 论文翻译

作者:互联网

目录

摘要

1介绍

2相关工作

3方法

4实验

5总结


《Look Before You Leap: Bridging Model-Free and Model-Based Reinforcement Learning for Planned-Ahead Vision-and-Language Navigation》主要内容翻译

参考文论:https://arxiv.org/pdf/1803.07729v2.pdf

摘要

当前机器人导航方向关于视觉语言匹配研究的焦点是:在合成环境中提升无模型的强化学习算法。然而,无模型DRL不考虑真实环境的动力学,且经常不容易泛化到新环境。本文提出新颖的提前计划混合强化学习算法,将无模型和有模型强化学习算法结合来解决真实世界的视觉导航任务。预测模块整合了预测策略模型和环境模型,环境模型可以预测下个状态和奖励。模型在R2R数据集上取得了最好表现。此外,作者的方法对于未知环境的泛化效果更好。

1介绍

对于人类来说跟随指令很容易,但是教机器人跟随指令导航非常具有挑战性。任务的复杂性不仅来自语言的变化,还来自真实环境中有噪声的视觉输入。

视觉导航(VLN)任务要求训练拥有第一人称的内嵌智能体像人类一样,在真实世界中执行自然语言指令。其他任务的视觉感知和自然语言数据通常是固定的,如视觉问答,而VLN智能体可以与环境交互,感知到的视觉信息也在不断变化。因此,智能体必须学会根据对于环境的感知和对指令的理解,将视觉输入映射到正确动作。

虽然机器人执行自然语言指令已经取得了很大进展,但还远远不够。之前的方法主要使用无模型的强化学习算法来训练智能体,直接将观测内容映射到动作或状态动作值(Q值)。但无模型RL不考虑环境动力学,通常需要大量数据训练。此外,大多数模型只在合成环境而不在真实环境测试,合成环境简化了有噪声的视觉和语言感知问题,以及接下来的推理过程。

当人类跟随指令时,通常不仅仅基于当前看到的内容,而是会想环境将会如何变化,执行动作前在内心做好预测。受到这一事实的启发,作者借助于基于模型的RL完成VLN任务。基于模型的RL试图通过学习一个模型来模仿环境,并做多步预测来进行规划。通过内部环境模型来预测未来并进行规划,智能体能够避免环境中的一部分试错。

因此,作者通过强化预测(RPA)来提升视觉语言任务表现。作者的方法首次赋予了VLN智能体环境模型来模仿世界并预测未来视觉感知。因此智能体可以实现直接将‘当前观测’和‘未来观测的预测’映射到动作。RPA在R2R数据集上表现远远超过baseline方法。贡献共三点:1、首次将有无模型和有模型的DRL结合来解决VLN;2、RPA在R2R上取得了最好结果;3、方法可扩展性更强,模型强大的泛化能力也使它可以更好地转移到未知环境中。

2相关工作

视觉、语言和导航  视觉和语言研究结合吸引了大量关注,基于视觉输入来产生语言方向有大量新工作,也有根据图像来回答问题的工作。视觉语言匹配更接近VLN任务,但VLN更偏向任务驱动,智能体需要不断与环境交互并根据语言指令完成导航任务。

前人关于机器人导航的方法通常需要预先提供地图或从高空视角构建环境地图,导航目标通常都在地图上标注。相比之下VLN任务更具有挑战性,没有全局地图,目标是由语言指令描述而不是直接标注。[20]使用seq2seq模型将语言映射到动作。[21]将任务看作序列决策过程,使用奖励塑造来训练RL模型。[37]提出计划训练机制,进行了更多有效探索来取得更好的结果。然而这些方法都在合成环境中操作,使用了简单的离散观测输入或不实际的环境顶视图。

基于模型的强化学习  使用基于模型的RL来进行规划是强化学习长期存在的问题,借助神经网络强大的计算能力,可以学习一个神经网络模型来模仿环境。但对于模拟器不暴露给智能体的复杂环境,基于模型的RL通常受到学习到的环境和真实环境错误匹配的困扰。为了解决该问题,研究者结合了无模型和有模型RL。[22]提出值预测网络,根据状态来预测未来价值而不是未来观测状态,[36]介绍了一个想象力增强的智能体来构造隐式计划和解释预测。作者的算法借助了这些思想,首次将无模型和有模型RL结合来解决真实世界VLN任务,而不是在游戏中进行测试。[24]同样在实验中预测下一个状态,基于状态预测计算内部奖励。作者直接将状态预测加入策略模块,没有产生额外的奖励。简而言之,智能体在做决策时将未来预测考虑在内。

3方法

3.1任务定义

内嵌智能体学习跟随语言指令并在真实室内环境中导航。智能体初始状态为p_{0}=(v_{0},\phi _{0},\theta_{0}),包括空间位置、朝向角和高度角,自然语言指令X=\left\{x_{1},x_{2},...,x_{n}\right\},期望智能体通过选择一系列动作\left\{a_{1},a_{2},...,a_{T}\right\}\in A,到达语言指令X描述的目标位置v_{target}。动作集A包括6个动作、左转、右转、镜头上移、镜头下移、前进、停下。为了在每一步求解描述的动作a_{t},智能体需要有效结合语义信息和视觉观测o_{t}o_{t}是相机拍摄到的RGB图像。通过成功率P_{succ}(正确跟随指令达到目标)和导航误差E_{nav}(最终于目标的距离)来评估智能体。

3.2概要

基于VLN任务序列决策的特点,将VLN任务看作RL问题,智能体通过不断与环境交互试错来进行学习。执行动作后,智能体从环境获得奖励r(a_{t},s_{t}),动作由策略函数\pi(o_{t};\theta)决定。训练的目标为找到最优参数\theta来最大化折扣累计奖励:\max_{\theta}J^{\pi}=\mathbb{E}[\sum^{T}_{t=1}\gamma^{t-1}r(a_{t},s_{t})|\pi(o_{t};\theta)],其中\gamma \in (0,1)为反映未来奖励重要性的折扣因子。

将策略函数建模为seq2seq神经网络,编码指令X=\left\{x_{1},x_{2},...,x_{n}\right\}和图像O=\left\{o_{1},o_{2},...,o_{T}\right\},解码动作序列\left\{a_{1},a_{2},...,a_{T}\right\}。基本模型包括语言编码器(将指令X编码为单词特征\left\{w_{1},w_{2},...,w_{n}\right\}),图像编码器(提取高级视觉特征),循环策略网络(编码之前动作和观测的历史序列)。为了强化智能体预测并进一步提升模型,给智能体配备了预测模块,通过环境模型来将未来预测考虑在内。

如图2(a),在每一个时间步t,循环策略模型输入单词特征\left\{w_{i}\right\}和状态s_{i},输出用于做决策的信息,构成了无模型方法。此外,有模型方法利用多个预测模块来预测规划,想象可能的轨迹。最终动作预测器根据无模型和有模型RL输出来预测动作。

图2 模型总览

3.3预测模块

RPA的核心是预测模块,用来想象在当前状态s_{t}下预测多步后的结果。为了让智能体拥有想象力,引入环境模型来根据当前状态预测未来。由于直接预测RGB图像o_{t+1}很困难,所以用环境模型来预测表示高级视觉特征的抽象状态s_{t+1}

图2(b)展示了预测模块的内部过程,包括一个环境模型、一个预测策略、一个路径编码器。在时间步t,真实世界的抽象状态为s_{t},预测策略首先输入s_{t},输出一个想象的动作a_{t}^{'}。我们的环境模型接收到状态s_{t}和动作a_{t}^{'},预测出对应的奖励r_{t}^{'}和下一个状态s_{t+1}^{'}。然后预测策略根据状态s_{t+1}^{'}进一步输出动作a_{t+1}^{'}。环境模型预测出\left \{ r_{t+1}^{'},s_{t+2}^{'} \right \}。预测规划进行m步,m是预设的路径长度。使用LSTM来编码路径上所有的奖励和状态,输出\tau_{j}^{'}。如图2(a)所示,每一个时间步t,基于模型的路径有J个预测进程,输出预测轨迹表达\tau_{j}^{'}(j=1,...,J)。这J条预测轨迹整合(拼接)起来送到动作预测器作为基于模型路径的信息。

3.4模型

进一步讨论模型的结构设计,包括环境模型、循环策略模型和动作预测器。

图3 环境模型

环境模型  已知当前状态s_{t}和动作a_{t},环境模型预测下一状态s_{t+1}^{'}和奖励r_{t}^{'}。如图3所示,映射函数f_{proj}首先拼接s_{t}a_{t},然后将它们映射到相同的特征空间。输出送入转移函数f_{transition}和奖励函数f_{reward}来获取s_{t+1}^{'}r_{t}^{'}f_{proj}f_{transition}f_{reward}都是可学习的神经网络。f_{proj}是线性映射层,f_{transition}是带有sigmoid的多层感知机,f_{reward}是直接输出奖励的多层感知机。

循环策略模型  循环策略模型是含有注意力机制的LSTM解码网络。在每一个时间步t,LSTM解码器根据单词特征\left\{w_{i}\right\}、环境状态s_{t}、前一时刻动作a_{t-1}和隐状态h_{t-1},输出动作a_{t}。使用了注意力机制来更好提取语言指令中的动力学,并动态地将注意力放在与当前动作选择更相关的单词上。

图4 循环策略模型展开图

图4左边是LSTM解码器的注意力模块示例。在每个时间步t,通过对单词特征\left\{w_{i}\right\}加权求和计算上下文向量c_{t}c_{t}=\sum \alpha_{t,i}w_{i}

这些注意力权重\left\{\alpha_{t,i}\right\}起到类似对齐机制的作用,赋予和当前状态更匹配的单词更高的权重,\alpha_{t,i}=\frac{\exp(e_{t,i})}{\sum_{k=1}^{n} \exp(e_{t,k})},其中e_{t,i}=h_{t-1}^{T}w_{i}h_{t-1}是解码器前一步的隐状态。

获取上下文向量c_{t}后,拼接向量[c_{t},s_{t},a_{t-1}]作为输入送到解码器,输出中间无模型特征给动作预测器,h_{t}=LSTM(h_{t-1},[c_{t},s_{t},a_{t-1}])。然后输出特征为h_{t}c_{t}的拼接,送入动作预测器进行决策。如果循环策略模型被独立用作策略,则直接根据[h_{t};c_{t}]输出动作a_{t}。在作者的模型中,将上下文向量c_{t}同时输入LSTM和输出之后,相比于仅作为输入,提升了模型表现。

动作预测器  动作预测器是一个多层感知机,最后一层为softmax层。将无模型和有模型输出的路径信息作为输入,动作预测器预测动作空间A所有动作的概率分布。

3.5学习

整个系统的训练分为两步:首先学习环境模型,然后学习策略模型,策略模型配备了预测模块。值得注意的是环境模型和策略模型分别拥有自己的语言编码器,单独分开训练。在学习策略时环境模型保持不变。

环境模型学习  理想情况下,预测模块可以给智能体提供准确的未来观测预测和奖励预测。如果环境模型本身就有噪声,它将提供误导信息并导致训练不稳定。考虑到这方面因素,在加入预测模块前,使用随机教师策略对环境模型进行预训练。在该训练策略下,智能体根据伯努利元策略决定执行展示动作还是随机动作,p_{human}=0.95。因为智能体的策略会在训练时接近展示(最优)策略,用展示策略训练的环境模型将更好地预测接近最优轨迹的状态转换。另一方面,在强化学习方法中,智能体策略在训练时通常是随机的。使智能体有1-p_{human}的概率执行随机动作,这样可以模仿随机训练过程。定义两个损失来优化环境模型:l_{transition}=\mathbb{E}[(s_{t+1}^{'}-s_{t+1})],l_{reward}=\mathbb{E}[(r_{t+1}^{'}-r_{t+1})],通过联合最小化两个损失来更新参数。

策略学习  结合预训练的环境模型,可以将预测模块整合到策略模型。首先谈论训练RL智能体的通用方法,然后描述如何去训练RPA模型。

在VLN任务中,两种独特的监督可以用来训练策略模型。首先,可以使用展示动作来进行纯监督学习。训练目标为最大化展示动作的似然估计:J_{sl}=\mathbb{E}[\log(\pi(a_{h}|o;\theta))],其中a_{h}为展示动作。智能体可以很快学习到在已知环境中表现相当好的模型。然后,纯监督学习限制了智能体在未知环境中的泛化能力。为了鼓励智能体去探索展示路径外的状态动作空间,使用了第二种监督,即奖励函数。奖励函数由环境状态s和智能体动作a决定,通常关于参数\theta不可微。由于VLN任务的目标是成功到达目标位置,所以基于距离定义奖励函数。状态s和目标位置v_{target}之前的距离记为D_{target}(s)。则在状态s_{t}执行动作a_{t}的奖励为r(s_{t},a_{t})=D_{target}(s_{t})-D_{target}(s_{t+1})。它表明了动作是否减小了智能体与目标的距离。显然,奖励函数仅反映了动作的立即影响,忽略了对未来的影响,因此使用折扣累计奖励R(s_{t},a_{t})=\sum_{t^{'}=1}^{T}\gamma^{t^{'}-t}r(s_{t^{'}},a_{t^{'}})。此外,整个轨迹的成功也可以被用作额外的二值化奖励。根据这些奖励函数,RL目标为J_{rl}=\mathbb{E}_{a\sim \pi(\theta)}[\sum_{t}R(s_{t},a_{t})]。在RL算法中使用似然比估计器,J_{rl}的梯度为\nabla_{\theta} J_{rl}=\mathbb{E}_{a\sim \pi(\theta)}[\nabla_{\theta}\log \pi(a|s;\theta)R(s_{t},a_{t})]。借助这两个训练目标,可以使用混合损失函数来训练整个模型,或者使用监督学习来预热模型,然后使用RL来微调。作者发现使用混合损失时收敛更快,表现更好。

为了联合训练策略模型和预测模块,先固定预训练的环境模型。然后在每一步,用环境模型预测几个轨迹。由于除停止外还有五个动作,所以预测五条轨迹。每条轨迹首先用LSTM编码,所有轨迹最后的隐状态拼接起来输入动作预测器。

4实验

4.1实验设置

R2R数据集  R2R数据集是首个真实3D环境的视觉语言导航任务数据集。在Matterport 3D的基础上建立,包括10800个全景视角照片。R2R进一步采集了7189条路径,每条配有3条语言指令。如[3]中说明,R2R数据集分为训练集(14025条指令)、可见验证集(1020条指令)、不可见验证集(2349条指令)和测试集(4173条指令)。不可见验证集和测试集中的环境都是在训练集中没见过的。

实施细节  使用ResNet-152提取图像CNN特征,模型不进行微调。在基于模型的路径中,对每个动作进行一次预测规划,每条规划后续动作都通过共享的预测策略执行。在实验中,作者使用无模型方法中训练的策略模型作为预测策略。所有超参数在验证集上进行微调。

评估指标  主要采用导航误差成功率oracle成功率评估结果,作者还使用了路径长度

Baselines  在R2R数据集中,每条指令都存在起点到目标位置的最短路径(Shortest)。Teacher-forcing[19]使用交叉熵损失来训练模型,在给定之前正确动作的条件下最大化下一个正确动作的似然估计。 也可以直接根据输出的动作概率选择动作,而不将真实动作输入网络(Student-forcing)。随机智能体(Random)在每一步随机执行动作。

4.2结果和分析

首先用交叉熵损失训练循环策略模型(XE),在测试集上表现超过Student-forcing。使用无模型RL,结果进一步提升。RPA学习方法取得了最好的结果,验证了将无模型和有模型RL结合解决VLN的有效性。

RPA在未知环境中成功率的提升远大于已知环境,而无模型RL在未知环境中提升较小,这证明了可以轻松地以可扩展的方式收集和利用数据,以结合用于决策的预测模块。RPA方法的泛化能力更强,可以更好地转移到未知环境中。

4.3消融学习

图5 环境模型学习曲线

环境模型学习曲线  为了实现RPA需要先训练环境模型,然后加入到预测模块中。所以确保环境模型的有效性很重要。图5展示了转移损失和奖励损失的训练曲线,两损失都在500迭代后收敛,但是奖励损失噪声更大,这是奖励的稀疏特性导致的。不像状态转移通常是连续的,奖励非常系数,方差大,用均方差损失预测会奖励导致噪声更大。

不同奖励的效果  使用了四种不同奖励,全局距离奖励(测量了智能体向目标移动的距离,每个动作奖励一样)、成功奖励(成功则每个动作奖励1失败为0)、折扣奖励(折扣累计奖励)、折扣&成功奖励(在瞬间奖励中加入成功奖励,再计算折扣累计奖励)。前两种奖励比折扣奖励效果差,反映了为每个动作计算折扣奖励可以正准确的反映每个动作的价值。将成功信息加入到奖励中可以进一步提升成功率。

5总结

通过实验展示了RPA方法的卓越表现,同时解决了无模型RL在未知环境中的泛化问题。此外,作者的方法在配备预测模块后,可以模拟环境并想象轨迹,相对比无模型RL可扩展性更强。未来计划探索有模型RL在其他任务中的表现。

 

参考文献[3]翻译:Interpreting visually-grounded navigation instructions in real environments论文翻译

标签:Bridging,Based,预测,动作,智能,模型,环境,奖励,Model
来源: https://blog.csdn.net/qq_37194582/article/details/114948912