来源:新智元

本文约1300字,建议阅读5分钟。

本文为你介绍一个用PyTorch实现了17种深度强化学习算法的教程和代码库,帮助大家在实践中理解深度RL算法。

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

已实现的算法包括:

  1. Deep Q Learning (DQN) (Mnih et al. 2013)
  2. DQN with Fixed Q Targets(Mnih et al. 2013)
  3. Double DQN (DDQN) (Hado van Hasselt et al. 2015)
  4. DDQN with Prioritised Experience Replay (Schaul et al. 2016)
  5. Dueling DDQN(Wang et al. 2016)
  6. REINFORCE(Williams et al. 1992)
  7. Deep Deterministic Policy Gradients (DDPG) (Lillicrap et al. 2016 )
  8. Twin Delayed Deep Deterministic Policy Gradients (TD3) (Fujimoto et al. 2018)
  9. Soft Actor-Critic (SAC & SAC-Discrete) (Haarnoja et al. 2018)
  10. Asynchronous Advantage Actor Critic (A3C) (Mnih et al. 2016)
  11. Syncrhonous Advantage Actor Critic (A2C)
  12. Proximal Policy Optimisation (PPO) (Schulman et al. 2017)
  13. DQN with Hindsight Experience Replay (DQN-HER) (Andrychowicz et al. 2018)
  14. DDPG with Hindsight Experience Replay (DDPG-HER) (Andrychowicz et al. 2018 )
  15. Hierarchical-DQN (h-DQN) (Kulkarni et al. 2016)
  16. Stochastic NNs for Hierarchical Reinforcement
    Learning (SNN-HRL) (Florensa et al. 2017)
  17. Diversity Is All You Need (DIAYN) (Eyensbach et al. 2018)
所有的实现都能够快速解决 Cart Pole (离散动作)、 Mountain Car (连续动作)、 Bit Flipping (动态目标的离散动作) 或 Fetch Reach (动态目标的连续动作) 等任务。本 repo 还会添加更多的分层 RL 算法。
已实现的环境:
  1. Bit Flipping 游戏 (Andrychowicz et al. 2018)
  2. Four Rooms 游戏 (Sutton et al. 1998)
  3. Long Corridor 游戏 (Kulkarni et al. 2016)
  4. Ant-{Maze, Push, Fall} (Nachum et al. 2018)
结果
1. Cart Pole 和 Mountain Car
下面展示了各种 RL 算法成功学习离散动作游戏 Cart Pole 或连续动作游戏 Mountain Car 的结果。使用 3 个随机种子运行算法的平均结果如下图所示,阴影区域表示正负 1 标准差。使用的超参数可以在 results/cart_pol .py 和 results/Mountain_Car.py 文件中找到。
2. 事后经验重演 (HER) 实验
下面展示了 DQN 和 DDPG 在 Bit Flipping (14 bits) 和 Fetch Reach 环境中的表现,这些环境在论文 Hindsight Experience Replay 和Multi-Goal Reinforcement Learning 中有详细描述。这些结果复现了论文中发现的结果,并展示了添加 HER 可以如何让一个 agent 解决它原本无法解决的问题。请注意,在每对 agents 中都使用了相同的超参数,因此它们之间的唯一区别是是否使用了 hindsight。
3. 分层强化学习实验
下图左边的结果显示了在 Long Corridor 环境中 DQN 和 Kulkarni 等人在 2016 年提出的 hierarchy -DQN 算法的性能。该环境要求 agent 在返回之前走到走廊的尽头,以便获得更大的奖励。这种延迟满足和状态的混叠使得它在某种程度上是 DQN 不可能学习的游戏,但是如果我们引入一个元控制器 (如 h-DQN) 来指导低层控制器如何行动,就能够取得更大的进展。这与论文中发现的结果一致。
下图右边的结果显示了 Florensa 等人 2017 年提出的 DDQN 算法和用于分层强化学习的随机神经网络 (SNN-HRL) 的性能。使用 DDQN 作为比较,因为 SSN-HRL 的实现使用了其中的 2 种 DDQN 算法。

用法

存储库的高级结构是:

├── agents                      ├── actor_critic_agents     ├── DQN_agents          ├── policy_gradient_agents  └── stochastic_policy_search_agents
├── environments
├── results                 └── data_and_graphs
├── tests
├── utilities               └── data structures

1.观看智能体学习上述游戏
观看所有不同的智能体学习 Cart Pole,请遵循以下步骤:
git clone https://github.com/p-christ/Deep_RL_Implementations.git
cd Deep_RL_Implementations  conda create --name myenvname
y
conda activate myenvname    pip3 install -r requirements.txt    python Results/Cart_Pole.py

对于其他游戏,将最后一行更改为结果文件夹中的其他文件就行。
2. 训练智能体实现另一种游戏
Open AI gym 上的环境都是有效的,你所需要做的就是更改 config.environment 字段。
如果你创建了一个继承自 gym.Env 的单独类,那么还可以使用自己的自定义游戏。请参阅Environments/Four_Rooms_Environment.py 自定义环境的示例,然后查看脚本Results/Four_Rooms.py 了解如何让 agents 运行环境。

GitHub地址:

https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch

编辑:于腾凯

校对:龚力

17种深度强化学习算法用Pytorch实现(附链接)相关推荐

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

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

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

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

  3. 两种深度强化学习算法在网络调度上的应用与优化(DQN A3C)

    首先给出论文地址和代码, Reinforcement Learning Based Scheduling Algorithm for Optimizing Age of Information in ...

  4. 【招聘推荐】启元世界招聘深度强化学习算法工程师

    深度强化学习实验室 官网:http://www.neurondance.com/ 论坛:http://deeprl.neurondance.com/ 编辑.排版:DeepRL 深度强化学习算法工程师 ...

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

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

  6. 深度强化学习算法调参

    深度强化学习调参技巧:以D3QN.TD3.PPO.SAC算法为例 这个参考链接. 如何选择深度强化学习算法? 参考链接. 影响PPO算法性能的10个关键技巧(附PPO算法简洁Pytorch实现) 主要 ...

  7. 基于值的深度强化学习算法

    目录 DQN2013 -- Playing Atari with Deep Reinforcement Learning DQN2015 -- Human-level control through ...

  8. 学界 | 量化深度强化学习算法的泛化能力

    来源:AI 科技评论 OpenAI 近期发布了一个新的训练环境 CoinRun,它提供了一个度量智能体将其学习经验活学活用到新情况的能力指标,而且还可以解决一项长期存在于强化学习中的疑难问题--即使是 ...

  9. 【假期学习计划】深度强化学习算法与应用培训班

    深度强化学习应用与实战培训班内容 一.强化学习概述 二.马尔科夫决策过程 1.马尔可夫性 2.马尔可夫决策过程 3.策略与价值 4.最优化原理 5.MDPs扩展 三.动态规划 1.动态规划 2.价值迭 ...

最新文章

  1. WPF判断两个时间大小避免误差
  2. ZOJ3261并查集逆向处理
  3. 初等数论--二次剩余与二次同余方程--既约剩余系中二次剩余的个数
  4. hdu 1147(线段相交)
  5. linux-centos连网
  6. OpenCV中的「透视变换 / 投影变换 / 单应性」—cv.warpPerspective、cv.findHomography
  7. POJ2155 Matrix二维线段树经典题
  8. Android获取CPU信息(CPU名字和主频)
  9. mstsc 中文打不了_伟大的中文!(妙不可言)
  10. 小米手机插上android找不到驱动,小米手机连接电脑不显示文件怎么办?
  11. 华为手机如何更新鸿蒙系统_华为鸿蒙系统怎么升级?升级鸿蒙系统步骤
  12. Mono.Cecil FAQ文档翻译
  13. 计算机游戏cpu,千元级战斗机游戏CPU体验,大学4年够你天天开黑了
  14. 我自己制作的导航页网站,源码分享~
  15. 机器学习数据分析极简思路及sklearn算法小试
  16. django问题研讨:由master=true引发的奇怪现象
  17. APP运营如何实现流量变现,获取更高收益?
  18. html使用highcharts绘制饼图,饼图.html · 赵文博/Highcharts - Gitee.com
  19. 2021CCPC上海省赛题解ABCDEGHIJK
  20. 计算机科学与技术一级学科硕士点,计算机科学与技术一级学科(硕士)、软件工程一级学科(硕士)和计算机技术、软件工程专业硕士学位授权点通过专家评审...

热门文章

  1. 大专生自学Java到找到工作的过程
  2. HTML和javascript 第二天
  3. 好雨云帮近期问答集锦(1.16~2.5)
  4. 使用 PHP 构建的 Web 应用如何避免 XSS 攻击
  5. 微信小店 API 手册
  6. linux   RedHat AS5(x86_64)安装oracle10g
  7. 收藏:SqlServer
  8. Guidance Package Manager button doesn’t appear in the VS menu
  9. c语言编程所得票数,C语言编程求1X2X3····Xn所得的数末尾有多少个零
  10. java怎么创建子程序_JVM执行子程序