DQN-[Playing Atari with Deep Reinforcement Learning]

论文地址:https://arxiv.org/abs/1312.5602

Abstract

作者提出了第一个深度学习模型,成功地利用强化学习从高维感知输入中学习控制策略。该模型是一个卷积神经网络,用 Q-learning 的一个变种进行训练,其输入是原始像素,其输出是一个估计未来奖励的价值函数。应用于街机学习环境中的七个 Atari 2600 游戏,没有对结构或学习算法进行调整。作者发现,它在其中6个游戏上的表现超过了以前的所有方法,在其中 3 个游戏上超过了人类专家。

1. Introduction

直接从视觉和语音等高维感知输入学习控制代理是强化学习(RL)的长期挑战之一。大部分这些领域操作的成功的 RL 应用都依赖于人工标注的特征与线性价值函数或策略表示相结合。显然,这种系统的性能在很大程度上依赖于特征表示的质量。

深度学习的最新进展使得从原始感官数据中提取高层次特征成为可能,从而在计算机视觉和语音识别方面取得了突破。这些方法利用了一系列的神经网络架构,包括卷积网络(Convolutional Networks)、多层感知器(Multilayer Perceptrons)、受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)和递归神经网络(Recurrent Neural Networks,RNN),并同时运用了监督和非监督学习。同时引发思考,类似的技术是否也能对感知数据的强化学习有效。

然而,从深度学习的角度来看,强化学习提出了几个挑战。首先,到目前为止,大多数成功的深度学习应用都需要大量的人工标注的训练数据。另一方面,RL 算法必须能够从经常是稀疏的、有噪声的和延迟的标量奖励信号中学习与监督学习中发现的输入和目标之间的直接关联相比,行动和结果奖励之间的延迟可能长达数千个时间段,似乎是无法接受的另一个问题是,大多数深度学习算法假设数据样本是独立的,而在强化学习中,通常会遇到高度相关的状态序列此外,在 RL 中,当算法学习新的行为时,数据分布会发生变化,这对于假设有固定基础分布的深度学习方法来说是个挑战

这篇论文证明了卷积神经网络可以克服这些挑战来学习复杂 RL 环境中原始视频数据的成功控制策略。网络是
使用 Q-learning 算法的变体进行训练,并使用随机梯度下降进行更新权重。为了缓解相关数据和非平稳分布的问题,作者使用了一种经验重放机制,它随机采样先前的转换,从而使过去的许多行为的训练分布变得平滑

作者将方法应用于在街机学习环境 (Arcade Learning Environment,ALE) 中实现的一系列 Atari 2600 游戏。 Atari 2600 是一个具有挑战性的 RL 测试平台,它为智能体提供高维视觉输入( 60Hz 的 210 × 160 RGB 视频)和一组多样化且有趣的任务,这些任务旨在对人类玩家来说是困难的。作者的目标是创建一个能够成功学习玩尽可能多的游戏的单一神经网络智能体。网络没有提供任何特定于游戏的信息或人工设计的视觉特征,也不知道模拟器的内部状态;它只从视频输入、奖励和终端信号以及一组可能的动作中学习——就像人类玩家一样。此外,用于训练的网络架构和所有超参数在整个游戏中保持不变。图 1 提供了用于训练的五个游戏的示例屏幕截图。

图 1:五款 Atari 2600 游戏的屏幕截图:(从左到右) Pong、Breakout、Space Invaders、Seaquest、Beam Rider

2. Background

作者考虑的任务是,智能体与环境 E \mathcal{E} E 互动(在这种情况下是 Atari 模拟器),有一连串的行动、观察和奖励。在每个时间步,智能体从合法的动作集合 A = { 1 , … , K } \mathcal{A}=\{1, \ldots, K \} A={1,,K} 中选择一个动作 a t a_t at 。动作传递给模拟器并修改其内部状态和游戏分数。一般来说, E \mathcal{E} E 可能是随机的。智能体不会观察到模拟器的内部状态;而是观察来自模拟器的图像 x t ∈ R d x_t \in \mathbb{R}^d xtRd 它是表示当前屏幕像素值向量。此外,智能体还会收到一个代表游戏分数变化的奖励 r t r_t rt值得注意的是,一般来说,游戏得分可能取决于整个先前的行动和观察序列;关于一个行动的反馈可能只有在经过成千上万的时间步骤之后才能收到。

由于智能体只观察到当前屏幕的图像,任务仅被部分观察到,并且许多模拟器的状态在感知上是不一致的,也就是说,只从当前屏幕 x t x_t xt中不可能完全了解当前情况。因此,作者考虑行动和观察的序列 s t = x 1 , a 1 , x 2 , . . . , a t − 1 , x t s_t = {x_1, a_1, x_2, ..., a_{t-1}, x_t} st=x1,a1,x2,...,at1,xt,并学习取决于这些序列的游戏策略。模拟器中的所有序列都被假定为在有限的时间步数内终止。这种形式产生了一个大型但有限的马尔科夫决策过程(MDP),其中每个序列是一个不同的状态。因此,可以将标准的强化学习方法应用于 MDP ,只需将完整的序列 s t s_t st 作为时间 t t t 的状态表示。

智能体的目标是通过以最大化未来奖励的方式选择动作来与模拟器交互。作者做出标准假设,即未来的奖励折扣在每个时间步长的因子 γ γ γ 上,并将时间 t t t 的未来折扣收益定义为 R t = ∑ t ′ = t T γ t ′ − t r t ′ R_t = \sum_{t'=t}^{T} \gamma^{t'-t} r_{t'} Rt=t=tTγttrt,其中 T T T 是游戏终止的时间步长。作者将最佳动作价值函数 Q ∗ ( s , a ) Q^*(s,a) Q(s,a) 定义为在看到某个序列 s s s 并采取某个动作 a a a 后,遵循任何策略所能实现的最大预期收益 Q ∗ ( s , a ) = max ⁡ π E [ R t ∣ s t = s , a t = a , π ] Q^*(s,a) = \max_{\pi} \mathbb{E}[{ R_t | s_t=s, a_t=a, \pi }] Q(s,a)=maxπE[Rtst=s,at=a,π]其中 π \pi π 是一个将序列映射到动作(或动作分布)的策略

最佳行动-价值函数服从于一个重要的特性,即贝尔曼方程(Bellman equation)。这基于以下的直觉:如果在下一时间步骤的序列 s ′ s^′ s 的最优值 Q ∗ ( s ′ , a ′ ) Q^∗(s^′,a^′) Q(s,a) 对于所有可能的行动 a ′ a^′ a 都是已知的。那么最优策略是选择动作 a ′ a' a 最大化 r + γ Q ∗ ( s ′ , a ′ ) r + γQ∗(s',a') r+γQ(s,a) 的期望值,

Q ∗ ( s , a ) = E s ′ ∼ E [ r + γ max ⁡ a ′ Q ∗ ( s ′ , a ′ ) ∣ s , a ]     ( 1 ) Q^*(s,a) = \mathbb{E}_{s' \sim \mathcal{E}}[{ r + \gamma \max_{a'} Q^*(s', a') \Big| s, a }] \ \ \ (1) Q(s,a)=EsE[r+γamaxQ(s,a)s,a]   (1)

许多强化学习算法背后的基本思想是通过使用贝尔曼方程作为迭代更新来估计动作价值函数, Q i + 1 ( s , a ) = E [ r + γ max ⁡ a ′ Q i ( s ′ , a ′ ) ∣ s , a ] Q_{i+1}(s,a) = \mathbb{E}\left[ r + \gamma \max_{a'} Q_i(s', a') | s, a \right] Qi+1(s,a)=E[r+γmaxaQi(s,a)s,a] ,这样的价值迭代算法收敛到最优动作价值函数, Q i → Q ∗ Q_i \rightarrow Q^* QiQ 其中 i → ∞ i \rightarrow \infty i 。**在实践中,这种基本方法是完全不切实际的,因为动作价值函数是针对每个序列单独估计的,没有任何通用性。**相反,通常使用函数估计动作价值函数: Q ( s , a ; θ ) ≈ Q ∗ ( s , a ) Q(s,a; \theta) \approx Q^*(s,a) Q(s,a;θ)Q(s,a) 在强化学习领域,这通常是一个线性函数近似器,但有时也会使用非线性函数近似器,如神经网络。把具有权重 θ θ θ 的神经网络函数近似器称为 Q 网络(Q-network)。可以通过最小化在每次迭代 i i i 时变化的一系列损失函数 L i ( θ i ) L_i(θ_i) Li(θi) 来训练 Q 网络:

L i ( θ i ) = E s , a ∼ ρ ( ⋅ ) [ ( y i − Q ( s , a ; θ i ) ) 2 ]     ( 2 ) L_i\left(\theta_i\right) = \mathbb{E}_{s,a \sim \rho(\cdot)}[{\left(y_i - Q \left(s,a ; \theta_i \right) \right)^2}] \ \ \ (2) Li(θi)=Es,aρ()[(yiQ(s,a;θi))2]   (2)

其中 y i = E s ′ ∼ E [ r + γ max ⁡ a ′ Q ( s ′ , a ′ ; θ i − 1 ) ∣ s , a ] y_i = \mathbb{E}_{s' \sim \mathcal{E}}[{r + \gamma \max_{a'} Q(s', a'; \theta_{i-1}) | s, a }] yi=EsE[r+γmaxaQ(s,a;θi1)s,a] 为是第 i i i 次迭代目标, ρ ( s , a ) ρ(s,a) ρ(s,a) 是序列 s s s 和动作 a a a 的概率分布,作者称其为动作分布(behaviour distribution)。在优化损失函数 L i ( θ i ) L_i (θ_i) Li(θi) 时,前一次迭代 θ i − 1 θ_{i−1} θi1 的参数保持固定。请注意,目标取决于网络权重;这与用于监督学习的目标形成对比,后者在学习开始之前就已确定。根据权重对损失函数进行微分,得到以下梯度,

∇ θ i L i ( θ i ) = E s , a ∼ ρ ( ⋅ ) ; s ′ ∼ E [ ( r + γ max ⁡ a ′ Q ( s ′ , a ′ ; θ i − 1 ) − Q ( s , a ; θ i ) ) ∇ θ i Q ( s , a ; θ i ) ] .     ( 3 ) \nabla_{\theta_i} L_i\left(\theta_i\right) = \mathbb{E}_{s,a \sim \rho(\cdot); s' \sim \mathcal{E}} \left[ \left( r + \gamma \max_{a'} Q(s', a'; \theta_{i-1}) - Q(s,a ; \theta_i ) \right) \nabla_{\theta_i} Q(s,a;\theta_{i}) \right] .\ \ \ (3) θiLi(θi)=Es,aρ();sE[(r+γamaxQ(s,a;θi1)Q(s,a;θi))θiQ(s,a;θi)].   (3)

与其在上述梯度中计算完整的期望值,不如通过随机梯度下降来优化损失函数,这在计算上通常是很重要的。如果在每个时间步之后更新权重,并且期望值分别由动作分布 ρ ρ ρ 和仿真器 E \mathcal{E} E 中的单个样本代替,那么就会得到熟悉的 Q-learning 算法

值得注意的是,这种算法是 model-free 的:它直接使用仿真器 E \mathcal{E} E 的样本来解决强化学习任务,而不明确构建 E \mathcal{E} E 的估计值。它也是 off-policy 的:它学习贪婪策略 a = max ⁡ a Q ( s , a ; θ ) a = \max_a Q(s,a; θ) a=maxaQ(s,a;θ),同时遵循一个动作分布,确保对状态空间的充分探索。在实践中,行为分布通常是由一个 ϵ \epsilon ϵ-greedy 策略来决定的,该策略以1的概率遵循贪婪策略,以 ϵ \epsilon ϵ 的概率选择一个随机行动。

3. Deep Reinforcement Learning

最近在计算机视觉和语音识别方面的突破依赖于在非常大的训练集上有效训练深度神经网络。最成功的方法是直接从原始输入进行训练,使用基于随机梯度下降的小幅权重更新。通过向深度神经网络输入足够的数据,通常有可能学习到比人工标注的特征更好的表示。作者考虑到将这些成功的经验应用于强化学习领域。作者的目标是将强化学习算法连接到一个深度神经网络,该网络直接在 RGB 图像上运行,并通过使用随机梯度更新来有效地处理训练数据。

Tesauro 的 TD-Gammon 架构为这种方法提供了一个出发点。这个架构更新了估计价值函数的网络参数,这些参数直接来自 on-policy 的经验样本 s t , a t , r t , s t + 1 , a t + 1 s_t,a_t,r_t,s_{t+1},a_{t+1} st,at,rt,st+1,at+1,这些经验来自算法与环境的互动(或者在双陆棋的情况下,通过自我博弈)。由于这种方法在20年前就能超越最好的人类双陆棋手,自然会联想到,二十年来硬件的改进,加上现代的深度神经网络架构和可扩展的 RL 算法,是否会产生重大的进展。

与 TD-Gammon 和类似的在线方法相比,作者使用了一种称为经验重放(experience replay)的方法 ,作者在每个时间步存储智能体的经验 $e_t = (s_t,a_t,r_t,s_{t+1}) $ 在数据集 D = e 1 , . . . , e N D = e_1,...,e_N D=e1,...,eN 中,将许多情节汇集到经验重放中。在算法的内部循环期间,作者将 Q-learning 更新或小批量更新应用于从存储样本池中随机抽取的经验样本 e ∼ D e ∼ \mathcal{D} eD。执行经验回放后,智能体根据 ϵ − g r e e d y \epsilon-greedy ϵgreedy 策略选择并执行动作。由于使用任意长度的历史作为神经网络的输入可能很困难,作者的 Q 函数改为使用由函数 ϕ \phi ϕ 产生的固定长度的历史表示。完整的算法,作者称之为深度 Q-learning(deep Q-learning),如算法 1 所示。

与标准的在线 Q-learning 相比,这种方法有几个优点。

  • 首先,经验的每一步都可能用于许多权重更新,从而提高数据效率。
  • 其次,由于样本之间的强相关性,直接从连续样本中学习效率低下;随机化样本打破了这些相关性,因此减少了更新的方差
  • 第三,在学习 on-policy 时,当前参数决定了参数训练的下一个数据样本。例如,如果最大化动作是向左移动,那么训练样本将以来自左侧的样本为主;如果最大化动作然后向右切换,则训练分布也将切换。很容易看出不想要的反馈循环是如何出现的,参数可能会陷入糟糕的局部最小值,甚至灾难性地发散。通过使用经验回放,行为分布在其之前的许多状态上被平均,平滑学习并避免参数的振荡或发散。注意,在通过经验回放学习时,需要学习 off-policy(因为当前的参数与用于生成样本的参数不同),这激发了Q-learning 的选择

在实践中,算法只将最后 N N N 个经验元组存储在重放空间中,并在执行更新时从 D \mathcal{D} D 中随机均匀采样。这种方法在某些方面是有限的,因为内存缓冲区不区分重要的转换,并且由于有限的内存大小 N N N 总是用最近的转换覆盖。类似地,统一采样对重放空间中的所有转换给予同等的重要性。更复杂的抽样策略可能会强调我们可以从中学到最多的过渡,类似于优先扫描

3.1 Preprocessing and Model Architecture

直接处理原始 Atari 帧,即 210 × 160 210 × 160 210×160 像素图像和 128 128 128 色,在计算上要求很高,因此作者应用了一个旨在降低输入维度的基本预处理步骤。对原始帧进行预处理通过首先将其 RGB 表示转换为灰度并将其下采样为 110 × 84 110×84 110×84 图像。最终的输入表示是通过裁剪图像的 84 × 84 84 × 84 84×84 区域来获得的,该区域粗略地捕获了播放区域。最后的裁剪阶段之所以需要是因为作者使用了中 2D 卷积的 GPU 实现,它需要方形输入。对于本文中的实验,算法 1 中的函数 ϕ \phi ϕ 将此预处理应用于历史的最后 4 帧,并将它们堆叠起来以生成 Q 函数的输入。

有几种使用神经网络参数化 Q 的可能方法。由于 Q 将历史-动作对( history-action pairs)映射到其 Q 值的估计,因此历史和动作已被某些先前的方法用作神经网络的输入。这种架构的主要缺点是需要单独的前向传播来计算每个动作的 Q 值,导致成本与动作数量成线性比例。作者改为使用一种架构,其中每个可能的动作都有一个单独的输出单元,只有状态表示是神经网络的输入。输出对应于输入状态的单个动作的预测 Q 值。这种架构的主要优点是能够计算给定状态下所有可能动作的 Q 值,只需通过网络进行一次前向传递。

作者现在描述用于所有七款 Atari 游戏的具体架构。神经网络的输入是由 ϕ \phi ϕ 生成的 84 × 84 × 4 84 × 84 × 4 84×84×4 图像。第一个隐藏层将 16 16 16 个步长为 4 4 4 8 × 8 8 ×8 8×8 滤波器与输入图像进行卷积,并应用激活函数。第二个隐藏层卷积 32 32 32 4 × 4 4 ×4 4×4 的滤波器,步长为 2 2 2,再次跟随激活函数。最后的隐藏层是全连接层,由 256 256 256 个神经元组成。输出层是一个全连接层,每个有效动作都有一个输出。在作者考虑的游戏中,有效动作的数量在 4 4 4 18 18 18 之间。作者将使用该方法训练的卷积网络称为 Deep Q-Networks (DQN)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值