Asynchronous Methods for Deep Reinforcement Learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
ICML 2016
Abstract
我们提出了一个概念上简单且轻量级的深度强化学习框架,该框架使用异步梯度下降来优化深度神经网络控制器。我们提出了四种标准强化学习算法的异步变体,并表明并行参与者学习器对训练具有稳定作用,允许所有四种方法成功训练神经网络控制器。性能最佳的方法是actor-critic的异步变体,它超越了Atari领域的当前最先进技术,同时在单个多核CPU而不是GPU上训练了一半的时间。此外,我们展示了异步actor-critic在各种连续电机控制问题以及使用视觉输入导航随机3D迷宫的新任务上取得了成功。
1. Introduction
2. Related Work
3. Reinforcement Learning Background
4. Asynchronous RL Framework
我们现在介绍单步Sarsa、单步Q-learning、n步Q-learning和优势actor-critic的多线程异步变体。设计这些方法的目的是找到能够可靠地训练深度神经网络策略且无需大量资源的RL算法。虽然底层的RL方法完全不同,actor-critic是一种同策的策略搜索方法,而Q-learning是一种基于异策价值的方法,但鉴于我们的设计目标,我们使用两个主要思想来使所有四种算法都实用。
首先,我们使用异步actor学习者,类似于Gorila框架(Nair et al., 2015),但我们没有使用单独的机器和参数服务器,而是在单台机器上使用多个CPU线程。将学习器保持在一台机器上消除了发送梯度和参数的通信成本,并使我们能够使用Hogwild! (Recht et al., 2011)训练的风格更新。
其次,我们观察到并行运行的多个actor学习者可能正在探索环境的不同部分。此外,可以在每个actorx学习者中明确使用不同的探索策略来最大化这种多样性。通过在不同的线程中运行不同的探索策略,多个actor学习者并行应用在线更新对参数所做的整体更改可能比单个智能体应用在线更新在时间上的相关性更小。因此,我们不使用回放缓存,而是依靠采用不同探索策略的并行actor来执行DQN训练算法中经验回放所承担的稳定角色。
除了稳定学习之外,使用多个并行的actor学习者还具有多种实际好处。首先,我们获得了训练时间的减少,这与并行actor学习者的数量大致呈线性关系。其次,由于我们不再依赖经验回放来稳定学习,我们能够使用诸如Sarsa和actor-critic之类的策略强化学习方法以稳定的方式训练神经网络。我们现在描述我们的单步Q-learning、单步Sarsa、n步Q-learning和优势actor-critic的变体。
Asynchronous one-step Q-learning:
Asynchronous one-step Sarsa:
Asynchronous n-step Q-learning:
Asynchronous advantage actor-critic: 该算法,我们称之为异步优势actor-critic (A3C),维护一个策略π(at|st; θ)和价值函数的估计V(st; θv)。与我们的n步Q-learning变体一样,我们的actor-critic变体也在前向视图中运行,并使用相同的n步回报组合来更新策略和价值函数。策略和价值函数在每tmax个动作后或达到终端状态时更新。算法执行的更新可以看作其中A(st, at, θ, θv)是由给出的对优势函数的估计,其中 k 可以因状态而异,其上限为tmax。该算法的伪代码在补充算法S3中给出。
与基于价值的方法一样,我们依靠并行的actor学习者和累积更新来提高训练稳定性。请注意,虽然策略的参数和价值函数的 v 为一般性显示为分开的,但在实践中我们总是共享一些参数。我们通常使用卷积神经网络,该网络具有一个用于策略的 softmax 输出 (atjst; ) 和一个用于值函数 V (st; v) 的线性输出,所有非输出层共享。
我们还发现,将策略的熵添加到目标函数可以通过阻止过早收敛到次优确定性策略来改进探索。这种技术最初是由 (Williams & Peng, 1991) 提出的,他发现它对需要分层行为的任务特别有用。 包括熵正则化项关于策略参数的完整目标函数的梯度形式为 r 0 log (atjst; 0)(Rt V (st; v)) + r 0H( ( st; 0)),其中 H 是熵。 超参数控制熵正则化项的强度。
Optimization:
5. Experiments
Asynchronous Methods for Deep Reinforcement Learning的更多相关文章
- 论文笔记之:Asynchronous Methods for Deep Reinforcement Learning
Asynchronous Methods for Deep Reinforcement Learning ICML 2016 深度强化学习最近被人发现貌似不太稳定,有人提出很多改善的方法,这些方法有很 ...
- Asynchronous Methods for Deep Reinforcement Learning(A3C)
Mnih, Volodymyr, et al. "Asynchronous methods for deep reinforcement learning." Internatio ...
- (zhuan) Deep Reinforcement Learning Papers
Deep Reinforcement Learning Papers A list of recent papers regarding deep reinforcement learning. Th ...
- 【资料总结】| Deep Reinforcement Learning 深度强化学习
在机器学习中,我们经常会分类为有监督学习和无监督学习,但是尝尝会忽略一个重要的分支,强化学习.有监督学习和无监督学习非常好去区分,学习的目标,有无标签等都是区分标准.如果说监督学习的目标是预测,那么强 ...
- [DQN] What is Deep Reinforcement Learning
已经成为DL中专门的一派,高大上的样子 Intro: MIT 6.S191 Lecture 6: Deep Reinforcement Learning Course: CS 294: Deep Re ...
- 18 Issues in Current Deep Reinforcement Learning from ZhiHu
深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...
- 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction
转自https://zhuanlan.zhihu.com/p/25239682 过去的一段时间在深度强化学习领域投入了不少精力,工作中也在应用DRL解决业务问题.子曰:温故而知新,在进一步深入研究和应 ...
- (转) Playing FPS games with deep reinforcement learning
Playing FPS games with deep reinforcement learning 博文转自:https://blog.acolyer.org/2016/11/23/playing- ...
- (转) Deep Reinforcement Learning: Playing a Racing Game
Byte Tank Posts Archive Deep Reinforcement Learning: Playing a Racing Game OCT 6TH, 2016 Agent playi ...
随机推荐
- Mybatis——xml配置
注:该文档参考了 https://mybatis.org/mybatis-3/zh/configuration.html 狂神的视频:https://www.bilibili.com/video/BV ...
- javaweb项目中关于配置文件web.xml的解析
一..启动tomcat,加载项目中的web.xml文件,创建servercontext上下文对象. 可以通过servercontext对象在应用中获取web.xml文件中的值. web应用加载的顺序与 ...
- javascript函数 (二 定义函数的三种方法)
javascript定义函数(声明函数)可以有三种方法:正常方法.构造函数.函数直接量 <html><head></head><body> <sc ...
- CF226E Noble Knight's Path/bzoj4704 旅行
题目描述: bz luogu 题解: 主席树维护大力树剖. 一条路径上不允许过的点的个数是当前袭击数-$y$时袭击数, 所以允许经过的点的个数是总数-当前袭击数+$y$时袭击数. 用主席树去维护每个时 ...
- 知识点简单总结——minmax容斥
知识点简单总结--minmax容斥 minmax容斥 好像也有个叫法叫最值反演? 就是这样的一个柿子: \[max(S) = \sum\limits_{ T \subseteq S } min(T) ...
- 洛谷 P1020 [NOIP1999 普及组] 导弹拦截
Coidng #include <iostream> #include <algorithm> #include <cstring> #include <ve ...
- 什么是SpringCloudConfig?
在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持 ...
- kafka producer如何优化打入速度?
增加线程 提高 batch.size 增加更多 producer 实例 增加 partition 数 设置 acks=-1 时,如果延迟增大:可以增大 num.replica.fetchers(fol ...
- vulnhub 靶机 Kioptrix Level 1渗透笔记
靶机下载地址:https://www.vulnhub.com/entry/kioptrix-level-1-1,22/ kali ip 信息收集 先使用nmap收集目标的ip地址 nmap -sP 1 ...
- 攻防世界 ics-06
ics-06 进入题目有点吓人,不过我都点了一下发现只有报表中心可以进去 进入报表中心在url中发现?id=1,一开始以为是sql注入结果啥也没探测到,这题脑洞有点,没有任何提示直接爆破id即可获得f ...