目录

背景介绍

A3C模型

A3C损失函数

A3C学习过程

A2C

总结


背景介绍

在DQN中,为了保证数据的有效性,采用了 Experience Replay Memory机制:

但是这种机制,存在几个问题:
1,会占据大块的内存
2,学习是按mini-batch逐批串行学习的,数据吞吐量有限,学习速度慢
3,off-policy,目标网络是旧的参数,生成sample data的网络参数也与当前不同。

探索既能提高数据吞吐量,又能保证数据有效性的并行算法,很有必要。

A3C模型

Asynchronous Advantage Actor-Critic是一种异步的基于优势函数Actor-Critic并行学习算法:
Actor指需要学习的policy π,Critic指需要学习的Value Function。
模型的结构如下:

同时学习policy π 和 state-value function,
这里设计的是两个网络公用特征层,只是在FC层参数不同,
这是一种常用做法,但共享特征层不是必须的。

A3C损失函数

损失函数一般包含三项:策略梯度损失、值残差和策略正则。
需要注意的是:
在进行策略梯度时,优势函数是通过采样数据计算好的,与当前value网络参数无关;
策略熵正则项能够为了保证Actions的多样性,增加环境探索能力;

A3C学习过程

如图:

from ATRISHA SARKAR 《A Brandom-ian view of Reinforcement Learning towards strong-AI》

学习过程是这样的:

1,开启多个线程(Worker),从Global Network同步最新的网络参数;
2,每个Worker独立地进行采样、训练学习;
3,每个Worker周期性地(Tmax)更新独立更新Global Network的参数,就是将自己累积的梯度更新到Global Network,然后更新最新的网络参数;
4,重复2、3,直到收敛。

每个Worker学习更新的伪代码如下:

from DeepMind 《Asynchronous Methods for Deep Reinforcement Learning》

A2C

Advantage Actor-Critic是A3C的一种简化形式:

1,开启多个线程(Worker),从Global Network同步最新的网络参数;
2,每个Worker独立地进行采样;
3,当数据总量达到mini-batch size时,全部停止采样;
4,Global Network根据mini-batch的数据统一训练学习;
5,每个Worker更新Global Network的参数
6,重复2~5。

​同时,可以看到,A2C的统一学习和A3C每个Worker的训练学习,采样数据的Policy与当前学习的Policy参数是一致的,即on-policy学习。

总结

A3C/A2C是通过利用多线程并行独立采样数据,
一方面保证数据的多样性
另一方面提高学习效率,尤其是A3C通过异步学习,发挥多核同时学习的优势;
由于没有了DQN的Experience Replay Pool的设计,系统不必占用大块内存,更方便工业落地。

并行强化学习算法:A2C/A3C相关推荐

  1. 强化学习算法A2C(Advantage Actor-Critic)和A3C(Asynchronous Advantage Actor-Critic)算法详解以及A2C的Pytorch实现

    一.策略梯度算法回顾 策略梯度(Policy Gradient)算法目标函数的梯度更新公式为: ▽ R ˉ θ = 1 N ∑ n = 1 N ∑ t = 1 T n ( ∑ t ′ = t T n ...

  2. 目前最好用的大规模强化学习算法训练库是什么?

    点击蓝字  关注我们 本文整理自知乎问答,仅用于学术分享,著作权归作者所有.如有侵权,请联系后台作删文处理. 本文精选知乎问题"目前最好用的大规模强化学习算法训练库是什么?"评论区 ...

  3. 17种深度强化学习算法用Pytorch实现(附链接)

    来源:新智元 本文约1300字,建议阅读5分钟. 本文为你介绍一个用PyTorch实现了17种深度强化学习算法的教程和代码库,帮助大家在实践中理解深度RL算法. [ 导读 ]深度强化学习已经在许多领域 ...

  4. openssl 添加自定义算法_GitHub:用PyTorch实现17种深度强化学习算法

    [新智元导读]深度强化学习已经在许多领域取得了瞩目的成就,并且仍是各大领域受热捧的方向之一.本文推荐一个用 PyTorch 实现了 17 种深度强化学习算法的教程和代码库,帮助大家在实践中理解深度 R ...

  5. 强化学习算法:AC系列详解

    文章目录 AC A2C A3C References AC Actor-Critic算法分为两部分,actor的前身是policy gradient,它可以轻松地在连续动作空间内选择合适的动作,val ...

  6. 【重磅】Tensorflow2.0实现29种深度强化学习算法大汇总

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要3分钟 Follow小博主,每天更新前沿干货 来源:深度强化学习实验室 作者:王健树 [导读]今天给大家推荐一个超赞的强化学习项目资料,该项目 ...

  7. 近端策略优化深度强化学习算法

    PPO:Proximal Policy Optimization Algorithms,其优化的核心目标是: ppo paper 策略梯度 以下是马尔可夫决策过程MDP的相关基础以及强化学习的优化目标 ...

  8. NIPS 2017 | 线上分享第一期:似自然梯度的优化算法KFAC与强化学习算法ACKTR

    上周我们发布了<攻略 | 虽然票早已被抢光,你可以从机器之心关注 NIPS 2017>,在 NIPS 2017 正式开始前,我们将选出数篇优质论文,邀请论文作者来做线上分享,聊聊理论.技术 ...

  9. 【强化学习实战】基于gym和tensorflow的强化学习算法实现

    [新智元导读]知乎专栏强化学习大讲堂作者郭宪博士开讲<强化学习从入门到进阶>,我们为您节选了其中的第二节<基于gym和tensorflow的强化学习算法实现>,希望对您有所帮助 ...

  10. 论文 | 导航 | 2022年亚利桑那州立大学硕士论文《图神经网络与优势Actor-Critic强化学习算法用于多智能体导航》

    原创 Manaswini A 图科学实验室Graph Science Lab 2022-06-11 08:00 发表于台湾 图神经网络 (GNN) 是一种神经网络架构,它对由对象及其关系组成的数据进行 ...

最新文章

  1. 团体程序设计天梯赛-练习集L1-016. 查验身份证
  2. ROS安装并运行小乌龟
  3. SAP GraphQL on Kyma
  4. 计算机硬件相关名词,计算机硬件基础名词解释
  5. 语言条件语序心得_教师心得:提高34岁幼儿口语表达能力的策略
  6. HTTP协议编程,实现文件上传,Android客户端代码
  7. node.js发送html,利用Node.JS实现邮件发送功能
  8. OneProxy实现mysql读写分离
  9. Python 量化投资实战教程(5) — A股回测KDJ 策略
  10. 支付宝 错误代码 insufficient-isv-permissions 错误原因: ISV权限不足,建议在开发者中心检查签约是否已经生效
  11. 关于一系列斯坦福代码查重moss出问题的解决办法总和与注意事项
  12. 生产力工具:功能强大又好用的浏览器网页截屏工具FireShot
  13. ARM、8051、AVR、MSP430、Coldfire、DSP、FPGA七种体系比较区别
  14. 淘宝订单接口|订单插旗备注,淘宝开放平台最稳定的店铺订单接口
  15. 光纤跳线、尾纤、光纤连接器之间有什么区别
  16. 简单易学:本身就很小且简单
  17. 在控制台程序中隐藏控制台窗口!
  18. 语法体系:快速区分同位语从句和定语从句day10
  19. php 仿面包网 源码 飞飞cms_2020最新2017最新仿面包网模板 电影网站源码 带下载功能mianbao9源码...
  20. windows xp下如何安装SQL server2000企业版

热门文章

  1. 批量删除新浪微博关注
  2. ddr3ddr4 lpddr4速率_LPDDR4和LPDDR3性能差别多少 LPDDR4和LPDDR3参数对比
  3. h5页面分享一(附源码)
  4. AnkhSvn推出1.02支持vs2008
  5. 易语言解压服务器中压缩包,易语言取压缩包中的文件列表源码
  6. java自动化键盘组合键_SELENIUM自动化模拟键盘快捷键操作实现解析
  7. highcharts使用downloadCSV导出数据时间与实际时间不对应
  8. ios 集成阿里云推送通知的注意点
  9. 【mybatis plus源码解析】(三)自定义SQL注入器,教你如何自定义扩展BaseMapper接口方法,实现更多查询
  10. c语言中人脸磨皮算法,人脸磨皮算法