Asynchronous Methods for Deep Reinforcement Learning

Asynchronous Methods for Deep Reinforcement Learning

我们提出了一个概念上简单和轻量级的深度强化学习框架,它使用异步梯度下降来优化深度神经网络控制器。我们提出了四种标准强化学习算法的异步变体(asynchronous variants),并表明并行actor-learners对训练有稳定作用,允许所有四种方法成功训练神经网络控制器。

表现最好的方法,即actor-critic的异步变体,在Atari领域超过了目前的最先进水平,而在单个多核CPU而不是GPU上的训练时间仅为一半。此外,我们表明,异步actor-critic法在各种连续运动控制问题以及使用视觉输入导航随机3D迷宫的新任务上都取得了成功。

1. Introduction

深度神经网络提供了丰富的表征,可以使强化学习(RL)算法有效地执行。然而,以前人们认为简单的在线RL算法与深度神经网络的结合从根本上是不稳定的。相反,人们提出了各种解决方案来稳定算法(Riedmiller,2005;Mnih等人,2013;2015;Van Hasselt等人,2015;Schulman等人,2015a)。

这些方法有一个共同的想法:在线RL代理遇到的观察数据序列是非平稳的,在线RL更新是强相关的。通过将agent’s数据存储在经验重放存储器(experience replay memory)中,the data can be batched(Riedmiller,2005;Schulman等人,2015a)或从不同的时间步长中随机采样(Mnih等人,2013;2015;Van Hasselt等人,2015)。以这种方式对内存进行聚合,可以减少非平稳性, and decorrelates updates,但同时也将这些方法限制在off-policy强化学习算法上。

基于经验回放(experience replay)的深度RL算法在诸如Atari 2600等挑战性领域取得了前所未有的成功。然而,经验回放有几个缺点:它在每个真实的互动(per real interaction)中使用更多的内存和计算;而且它需要off-policy学习算法,可以从旧政策产生的数据中更新。

在本文中,我们为深度强化学习提供了一个非常不同的范式。我们在环境的multiple instances异步地并行执行多个agent,而不是经验重放。这种平行性也将代理的数据装饰(decorrelates)成一个更稳定的过程,因为在任何给定的时间步长,parallel agents将经历各种不同的状态。这个简单的想法使得更大范围的基本政策性RL算法,如Sarsa、n-step方法和actor-critic方法,以及off-policy RL算法,如Q-learning,可以使用深度神经网络进行稳健有效地应用。

我们的并行强化学习范式也提供了实际的好处。以前的深度强化学习方法在很大程度上依赖于专门的硬件,如GPU(Mnih等人,2015;Van Hasselt等人,2015;Schaul等人,2015)或大规模分布式架构(Nair等人,2015),而我们的实验在一台带有标准多核CPU的机器上运行。

当应用于各种Atari 2600领域时,在许多游戏上,异步强化学习取得了更好的结果,时间远远少于以前基于GPU的算法,使用的资源远远少于大规模分布式方法。所提出的方法中最好的是asynchronous advantage actorcritic(A3C),它还掌握了各种连续运动控制任务,以及学会了纯粹从视觉输入探索3D迷宫的一般策略。我们认为,A3C在二维和三维游戏、离散和连续行动空间上的成功,以及它训练前馈和递归代理的能力,使它成为迄今为止最普遍和最成功的强化学习代理。

2. Related Work

(Nair等人,2015)的通用强化学习架构(Gorila)在分布式环境中进行强化学习代理的异步训练。在Gorila中,每个进程都包含一个在自己的环境副本中行动的角色,一个单独的replay memory,以及一个从replay memory中采样数据并计算与策略参数有关的DQN损失梯度的learner(Mnih等,2015)。梯度被异步发送至中央参数服务器,该服务器更新模型的中央副本。更新后的策略参数以固定的时间间隔发送给 actor-learners。通过使用100个独立的角色学习进程和30个参数服务器实例,总共130台机器,Gorila能够在49个Atari游戏中大大超过DQN。在许多游戏中,Gorila达到了DQN所取得的分数,比DQN快20多倍。我们还注意到,(Chavez等人,2015)提出了一种类似的DQN并行化方式。

在早期的工作中,(Li & Schuurmans, 2011)将Map Reduce框架应用于线性函数近似的批量强化学习方法的并行化。并行化被用来加速大型矩阵操作,但没有用来并行化经验的收集或稳定学习。(Grounds & Kudenko, 2008)提出了一个Sarsa算法的并行版本,该算法使用多个独立的角色学习器来加速训练。每个角色学习者单独学习,并使用点对点通信定期向其他学习者发送权重发生重大变化的更新。

(Tsitsiklis, 1994)研究了异步优化环境下Q-learning的收敛特性。这些结果表明,只要过期的信息最终总是被丢弃,并且满足其他几个技术假设,当一些信息过期时,Q-learning仍然可以保证收敛。甚至更早,(Bertsekas,1982)研究了分布式动态编程的相关问题。

另一个相关的工作领域是进化方法,通过在多台机器或线程上分配fitness evaluations,这些方法通常可以直接并行化(Tomassini,1999)。这种并行的进化方法最近被应用于一些视觉强化学习任务。在一个例子中,(Koutník等人,2014)通过在8个CPU核心上并行进行fitness evaluations,为TORCS驾驶模拟器进化了卷积神经网络控制器。

3. Reinforcement Learning Background

我们考虑标准的强化学习设置,即agent在若干离散的时间步骤中与环境E互动。在每个时间步骤t,agent收到一个状态 s t s_t st,并根据其策略 π π π 从一些可能的actions A中选择一个action a t a_t at,其中 π π π 是一个从状态 s t s_t st到action a t a_t at的映射。作为回报,agent收到下一个状态 s t + 1 s_{t+1} st+1,并收到一个标量奖励 r t r_t rt。这个过程一直持续到代理人达到一个terminal state,之后这个过程重新开始。回报 R t = Σ k = 0 ∞ γ k r t + k R_t=\Sigma ^∞_{k=0} γ^k r_{t+k} Rt=Σk=0γkrt+k是时间步骤t的总累积回报,贴现因子γ∈(0,1)。agent的目标是使每个状态 s t s_t st的预期收益最大化。

行动值 Q π ( s , a ) = E [ R t ∣ s t = s , a ] Q^π(s, a) = E [R_t|s_t = s, a] Qπ(s,a)=E[Rtst=s,a]是在状态s下选择行动a并遵循策略 π π π 的预期回报。最优价值函数 Q ∗ ( s , a ) = m a x π Q π ( s , a ) Q∗(s, a) = max_π Q_π(s, a) Q(s,a)=maxπQπ(s,a)给出了任何政策都能实现的状态s和行动a的maximum action value。同样,策略π下的状态s的价值被定义为 V π ( s ) = E [ R t ∣ s t = s ] V_π(s)=E [R_t|s_t = s] Vπ(s)=E[Rtst=s],它只是从状态s跟随策略π的预期回报。

おすすめ

転載: blog.csdn.net/weixin_37958272/article/details/121565610
おすすめ