文章目录
abstract
我们为深度强化学习提出了一个概念上简单轻巧的框架,该框架使用异步梯度下降来优化深度神经网络控制器。 我们提出了四种标准强化学习算法的异步变体,并表明并行角色学习器对训练具有稳定作用,允许所有四种方法成功地训练神经网络控制器。 性能最佳的方法是actor-critic的异步变体,它超越了Atari域上的当前技术水平,同时在单个多核CPU而非GPU上进行了一半的训练。 此外,我们证明了异步参与者批评者在各种连续电机控制问题以及使用可视输入导航随机3D迷宫的新任务中取得了成功。
Asynchronous RL Framework
现在,我们介绍单步Sarsa,单步Q学习,n步Q学习和优势参与者批评者的多线程异步变体。 设计这些方法的目的是找到可以可靠地训练深度神经网络策略而又不需要大量资源的RL算法。 虽然底层的RL方法非常不同,其中actor-critic是一种基于策略的策略搜索方法,而Q-learning是一种基于基于策略的价值的方法,但在我们给定的条件下,我们使用两个主要思想来使这四种算法切实可行 设计目标。
首先,我们使用异步参与者学习器,类似于Gorila框架(Nair等人,2015),但不是在使用单独的机器和参数服务器,而是在单个机器上使用多个CPU线程。 将学习者放在一台机器上,消除了发送梯度和参数的通信成本,并使我们能够使用Hogwild! (Recht et al。,2011)更新了训练样式。
其次,我们观察到并行运行的多个参与者算法学习者可能正在探索环境的不同部分。而且,可以在每个演员学习者中明确使用不同的探索策略,以最大程度地提高这种多样性。通过在不同的线程中运行不同的探索策略,由并行执行在线更新的多个参与者学习者对参数进行的总体更改在时间上的相关性可能比单个代理在线应用的更新要少。因此,我们不使用重播内存,而是依靠采用不同探索策略的并行参与者来执行DQN训练算法中由经验重播承担的稳定角色。
除了稳定学习之外,使用多个并行的actor-learner具有多个实际好处。 首先,我们减少了培训时间,在平行演员学习者数量上,培训时间大致成线性关系。其次,由于我们不再依赖经验重播来稳定学习,因此我们能够使用诸如Sarsa和actor-critic之类的政策强化学习方法来稳定地训练神经网络。
asynchronous n-step Q-learning
- 补充算法S2中显示了用于多步Q学习的变体的伪代码。该算法有些不同寻常,因为它通过显式计算n步返回值而在前向视图中运行,与资格跟踪等技术所使用的更常见的后向视图相反(Sutton&Barto,1998)。我们发现,在使用基于动量的方法和随时间的反向传播训练神经网络时,使用前向视图更容易。为了计算单个更新,该算法首先使用其探索策略选择最多tmax个步骤或直到达到终端状态的动作。自从上次更新以来,此过程导致代理从环境中获得最多tmax奖励。然后,算法为自上次更新以来遇到的每个状态操作对计算n步Q学习更新的梯度。每次n步更新都使用可能的最长n步返回,从而对最后一个状态进行一步更新,对第二个最后一个状态进行两步更新,依此类推,总共进行tmax次更新。累积的更新将在单个渐变步骤中应用。
异步
asynchronous advantage ac
与基于价值的方法一样,我们依靠并行的参与者学习者和积累的更新来提高培训的稳定性。请注意,尽管出于一般性考虑,策略的参数θ和价值函数的θv被显示为单独的,但实际上我们总是共享某些参数。
- 我们通常使用一个卷积神经网络
- 对于值函数V(st;θv),最后一层是线性输出层
- 而对于策略π(at | st;θ),最后一层具是softmax输出层
- 者共享非输出层参数
other tricks
- 我们还发现,通过阻止将过早收敛到次优确定性策略,可以将策略π的熵添加到目标函数中,从而改善了探索。该技术最初是由(Williams&Peng,1991)提出的,他发现该技术在需要分层行为的任务中特别有用。
optimization优化算法
-
我们在异步框架中研究了三种不同的优化算法:带动量的SGD,无共享统计的RMSProp(Tieleman&Hinton,2012)和具有共享统计的RMSProp。 我们使用了标准的non-centered RMSProp更新
-
对Atari 2600游戏的一个子集进行的比较表明,在不同线程之间共享统计信息g的RMSProp变量比其他两种方法更健壮。 有关方法和比较的全部详细信息,请参见附录7。
exp
scalbility and data efficiency
-
这些结果表明,所有四种方法均通过使用多个工作线程实现了显着的加速,其中16个线程至少导致了一个数量级的加速。这证实了我们提出的框架可以随着并行工作者的数量而很好地扩展,从而有效地利用资源。
-
令人惊讶的是,异步单步Q学习和Sarsa算法显示出超线性加速,这无法用纯粹的计算增益来解释。
-
我们观察到,当使用更多的并行actor-learner时,一步方法(一步Q和一步Sarsa)通常需要较少的数据来获得特定分数。我们认为,这是由于多线程减少一步法偏差所产生的积极影响。【其实这个没太看出来…可能应该放异步算法和同步算法的对比吧 这里放的对比主要是线程数量上的 】
在图3中更清楚地显示了这些效果,图3显示了在五个Atari游戏中平均得分相对于不同数量的角色学习者和训练方法的训练框架总数的图,图4显示了平均得分的图against wall-clock time
Robutness and Stability
最后,我们分析了四种提出的异步算法的稳定性和鲁棒性。 对于这四种算法中的每一种,我们使用50种不同的学习率和随机初始化在5种游戏(突破,Beamrider,Pong,Q * bert,太空侵略者)上训练了模型。 图2显示了A3C所得分数的散点图,而补充图S11显示了其他三种方法的图。
- 通常,每种方法和游戏组合都有一定的学习率范围,可以带来良好的成绩,这表明所有方法对于选择学习率和随机初始化都非常可靠。
- 在学习率好的区域中几乎没有分数为0的事实表明,这些方法很稳定,不会崩溃或发散when learning
code trick总结
- 在asynchronous advantage ac中 值函数和策略函数的神经网络常常会攻下给非输出层参数
- n步的算法中,由于结合了momentum和反向传播,常常使用前向视图instead of 后向视图,效果更好
- 在目标函数中添加熵
- lr在LogUniform(10-4,10-2) 中选取
conclusion and discussion
- 四种算法的训练速度都更快
- 我们的主要发现之一是,使用并行的参与者学习者更新共享模型对我们考虑的三种基于价值的方法的学习过程具有稳定作用。尽管这表明可以在没有经验重播的情况下进行稳定的在线Q学习,这在DQN中已用于此目的,但这并不意味着经验重播没有用。通过将经验重放结合到异步强化学习框架中,可以通过重用旧数据来大大提高这些方法的数据效率。反过来,这可能会导致在TORCS等领域的培训时间大大缩短,而与环境进行交互的费用要比为我们使用的体系结构更新模型的费用高得多。
- 作者表示 异步算法的成功并不意味着ER方法的失败 ,实际上可以将异步算法和ER方法结合在一起(甚至是其他更多的方法),本文只是一个基础的framework,很多方法可以往里面放(就是有投机的嫌疑)
thought
- 跑了50次实验 选了其中最好的5个求平均…真的很迷…还公开说出来了