论文阅读

Action-Conditional Video Prediction using Deep Networks in Atari Games

Posted by MY on August 27, 2018

简介

  在本文中,我们使用Atari游戏,作为具有挑战性的动作-条件视频建模问题的来源。虽然不是由自然场景组成,但Atari游戏中的帧是高维的,并且可能涉及数十个对象,其中一个或多个对象被动作直接控制,而许多其他对象间接受到影响,并且可以涉及深度部分可观察性。据我们所知,本文是第一个制定和评估由控制输入条件限制的高维图像的长期预测的论文。
  本文基于包含动作变量的深度网络,提出、评估和对比两种时空预测体系结构。实验结果表明,我们的架构能够生成超过100步的未来帧的逼真帧,而不会在一些Atari游戏中产生分歧。我们表明,我们的架构所学习的表示可以近似捕捉到行为之间的自然相似性,同时可以发现哪些对象直接受到智能体的行为控制,哪些只是间接影响或不受控制。

网络结构与训练方法

  我们网络结构的目标是学习到一个函数$f:x_{1:t},a_{t}\rightarrow x_{t+1}$,其中$x_{t}$和$a_{t}$分别为𝑡时刻的帧和动作变量,$x_{1:t}$为时刻1到时刻t之间的帧。上图显示了我们的两个体系结构,每个体系结构都由编码层组成,这些编码层从输入帧中提取时空特征,动作-条件变换层通过引入动作变量作为附加输入,将编码特征转换为高级特征空间中下一帧的预测,最后解码层将预测的高级特征映射到像素的层。

两种编码结构

第一种结构:前馈编码

  前馈编码将先前帧的固定历史记录作为输入,使其通过信道连接,堆叠的卷积层直接从连接的帧提取时空特征。时刻t编码的特征向量$h_{enc}^{t}\in R^{n}$为:&h_{enc}^{t}=CNN(x_{t-m+1:t})& 其中$x_{t-m+1:t}\in R^{(m\times c)\times h\times w}$表示有c个颜色通道的m帧$h\times w$像素图像。CNN是从原始像素到高级特征向量的映射,它使用多个卷积层和末端的全连接层。

第二种结构:循环编码

  循环编码将一帧作为每个时间步的输入,并使用RNN提取时空特征,其中时间动态由循环层在由卷积层提取的高级特征向量之上建模。在本文中,没有窥视孔连接的LSTM用于循环层:&[h_{t}^{enc},c_{t}]=LSTM(CNN(x_{t}),h_{t-1}^{enc},c_{t-1})& 其中$c_{t}\in R^{n}$是一个记忆单元,它保留来自输入历史的信息。直观地,$CNN(x_{t})$作为LSTM的输入,使得LSTM捕获来自高级空间特征的时间相关性。

乘法动作-条件转换

  我们使用编码特征向量和控制变量之间的乘法交互:&h_{t,i}^{dec}=\sum_{j,l}W_{ijl}h_{t,j}^{enc}a_{t,l}+b_{i}& 其中$h_{t}^{enc}\in R^{n}$为编码特征,$h_{t}^{dec}\in R^{n}$为动作-转换特征,$a_{t}\in R^{a}$为时刻t的动作向量,$W\in R^{n\times n\times a}$是3向张量权重,$b\in R^{n}$是偏差。当使用单热矢量表示动作𝑎时,使用3向张量相当于对每个动作使用不同的权重矩阵。这使架构能够为不同的动作建模不同的转换层。实际上,由于其大量参数,3向张量不可扩展。因此,我们通过将之分解为三个矩阵来近似张量:&h_{t}^{dec}=W^{dec}(W^{enc}h_{t}^{enc}\odot W^{a}a_{t})+b& 其中$$,$W^{enc}\in R^{f\times n}$,$W^{a}\in R^{f\times a}$,$b\in R^{n}$,f是因子的数量。与3向张量不同,上述分解通过将它们映射到尺寸为f的因子来共享不同动作之间的权重。

卷积解码

  CNN能够使用上采样来有效地生成图像,然后以1的步幅进行卷积。类似地,我们使用卷积的“逆”运算,称为解卷积,其使用解卷积核将输入的1×1空间区域映射到d×d。s×s上采样的效果可以通过使用s的步幅明确地对特征图进行上采样来实现。我们发现这种操作比上采样然后进行卷积更有效,因为它具有更大步幅的较小数量的卷积。在所提出的架构中,变换的特征向量$h^{dec}$被解码成像素,如下所示: &\hat{x}_{t+1}=Deconv(Reshape(h^{dec}))& 其中Reshape是一个全连接层,其中隐藏单元以形成3D特征图,Deconv由多个解卷积层组成,除了最后一个解卷积层,每个反卷层后面都是非线性。

多步预测的学习

  对于预测模型来说,对高维图像进行噪声预测几乎是不可避免的。当模型在一步预测目标上训练时,小的预测误差可能随时间而变化。为了减轻这种影响,我们使用多步预测目标。给定训练数据$D={((x_{1}^{(i)},a_{1}^{(i)}),\cdots ,(x_{T_{i}}^{(i)},a_{T_{i}}^{(i)}))}_{i=1}^{N}$,训练该模型以使K步骤预测的平均平方误差最小化如下: &L_{K}(\theta )=\frac{1}{2K}\sum_{i}\sum_{t}\sum_{k=1}^{K}\left | \hat{x}_{t+k}^{(i)}-x_{t+k}^{(i)} \right |^{2}& 其中,$\hat{x}_{t+k}^{(i)}$是一个k步的未来预测。直观地,通过使用其预测作为下一时间步的输入,通过K个时间步骤重复地展开网络。基于增加的K,模型在多个阶段中被训练。换句话说,训练模型以预测短期未来帧,微调之后以预测在前一阶段收敛之后的较长期的未来帧。我们发现这种学习方法对于稳定训练是必要的。随时间反向传播的随机梯度下降(BPTT)用于优化网络参数。

实验

  实验的基线有两个:第一个基线是多层感知器(MLP),它将最后一帧作为输入,并具有4个隐藏层,分别为400,2048,2048和400个单位。动作输入连接到第二个隐藏层。 此基线使用与循环编码模型大致相同数量的参数。 第二个基线,无操作前馈(或naFf)与前馈编码模型相同,不同之处在于转换层由一个全连接层组成,该层未将操作作为输入。

定量评估

  下图报告了我们的视频预测模型预测超过100步的均方误差。我们的预测模型在游戏中的表现都比这两个基线方法MLP和naFf更好。但是,除了Seaquest游戏之外,我们的预测模型和naFf基线之间的差距并不大。这是由于动作控制的对象只占用图像的一小部分造成的。 result1   我们使用我们的模型和基线制作了预测视频。从视频中可以看出,我们的模型会根据游戏的不同,在30-500个步骤内进行定性的合理的预测。在所有的游戏中,MLP基线迅速发散,而naFf基线未能准确预测受控对象。下图便是一个长期预测的例子的说明。我们观察到,我们的两个模型都很好地预测了复杂的局部平移,例如车辆和受控对象的移动。他们可以预测对象之间的交互,如两个对象的碰撞。由于我们的体系结构使用CNN,它可以有效地提取分层特征。因此我们的模型能够进行全局上下文相关的预测。例如,在下图中,我们在Freeway游戏中使用了我们的模型进行预测。“步骤”和“行动”列分别显示预测步骤的数量和采取的行动。白色方框表示智能体控制的对象。从预测步骤256到257,受控对象穿过顶部边界并重新出现在底部;这种非线性变化是由我们的架构预测的,并不是由MLP和naFf预测的。未受控对象的水平移动由我们的架构和naFf进行预测,MLP没有进行预测。 result1   然而,我们的两个模型都难以准确预测Space Invader中的子弹等小物体。 原因是当模型在训练期间未能预测小物体时,平方误差的信号很小。另一个困难是处理随机性。例如,在Seaquest中,新物体随机出现在左侧或右侧,因此很难预测。尽管我们的模型确实生成了具有合理形状和运动能力的新对象(例如,在出现之后它们像真实的游戏玩家一样移动),但生成的框架并不一定与实际情况相匹配。

前馈编码和循环编码相对强弱的定性分析

  我们假设前馈编码可以模拟更精确的空间变换,因为其卷积滤波器可以直接从连接帧中的像素学习时间相关性。相反,循环编码中的卷积滤波器可以仅从单帧输入中学习空间特征,并且时间上下文必须由高级CNN特征之上的复现层捕获而没有本地化信息。另一方面,循环编码可能更好地建模任意长期依赖,而前馈编码不适合长期依赖,因为它需要更多的内存和参数,因为更多的帧连接到输入。
  作为证据,在下图中,我们展示了前馈编码更好地预测受控对象的精确移动的情况,而循环编码会产生1-2像素的平移误差。这个小错误导致在几个步骤之后完全不同的预测帧。由于除了编码部分之外,前馈和循环的架构是相同的,我们猜测这个结果是由于在循环编码中精确的时空编码而失败。另一方面,循环编码更能预测敌人何时在Space Invader中移动。这是因为敌人在9个步骤之后移动,这对于前馈编码很难预测,因为它只需要最后四个帧作为输入。我们观察到类似的结果表明,前馈编码无法处理其他游戏中的长期依赖性。 result1

用预测帧替换实帧作为DQN的输入

  为了评估预测对于玩游戏的有用程度,我们实施了一种评估方法,该方法使用预测模型来取代游戏模拟器。不出所料,用预测帧替换真实帧会降低分数。然而,在使用模型重复预测仅几个时间步长的所有游戏中产生非常接近于使用真实帧的分数。我们的两个体系结构比深度预测的两个基线产生的分数要好。 result1

区分受控和不受控制的对象

  区分受控对象和非受控对象本身就是一个难以解决的问题。 Bellemare等人提出了一个框架来学习受智能体行为影响的图像的偶然区域,这表明应急意识对于无模型智能体是有用的。我们表明,我们的架构在学习预测整个图像时会隐含地学习偶然区域。在我们的体系结构中,在所有可能的动作上测量的具有较高方差的因子更可能根据动作对图像进行不同的变换,因此我们假设这些因子负责转换与动作相关的图像部分。因此,我们从Seaquest训练的模型中收集了高方差(称为“高变量”)因子,并将剩余因子收集到低方差(“低变量”)子集中。 给定图像和动作,我们进行了两次受控的前向传播:仅给出高变量因子(通过将其他因子设置为零),反之亦然。有趣的是,仅给出高变量因子(动作),模型可以预测由动作控制的对象的运动,而其他部分是平均像素值。相反,仅给出低变量因子(非动作),模型预测其他对象和背景(例如,氧气)的移动,并且受控对象停留在其先前位置。这个结果意味着我们的模型学会了区分受控对象和不受控制的对象。

结论

  本文介绍了两种不同的新型深层体系结构,它们可以预测未来依赖于动作的帧,并定性和定量地表明它们能够在几个Atari游戏域上预测超过100步未来的视觉逼真和有用的控制帧。 据我们所知,这是第一篇在Atari游戏中展示出良好深度预测的论文。 由于我们的架构是独立于域的,我们希望它们可以推广到许多基于视觉的RL问题。 在未来的工作中,我们将学习预测未来奖励的模型,以及预测未来框架和评估我们的架构在基于模型的RL中的表现。


支付宝打赏 微信打赏

您的打赏是对我最大的鼓励!


Share
Comments
Advertisements