这个开源项目用Pytorch实现了17种强化学习算法

作者: 猿妹 2019-09-29 10:42:02

强化学习在过去的十年里取得了巨大的发展,如今已然是各大领域热捧的技术之一,今天,猿妹和大家推荐一个有关强化学习的开源项目。

这个开源项目是通过PyTorch实现了17种深度强化学习算法的教程和代码库,帮助大家在实践中理解深度RL算法。

完整的17个算法实现如下:

  • Deep Q Learning (DQN) (Mnih et al. 2013)
  • DQN with Fixed Q Targets (Mnih et al. 2013)
  • Double DQN (DDQN) (Hado van Hasselt et al. 2015)
  • DDQN with Prioritised Experience Replay (Schaul et al. 2016)
  • Dueling DDQN (Wang et al. 2016)
  • REINFORCE (Williams et al. 1992)
  • Deep Deterministic Policy Gradients (DDPG) (Lillicrap et al. 2016 )
  • Twin Delayed Deep Deterministic Policy Gradients (TD3) (Fujimoto et al. 2018)
  • Soft Actor-Critic (SAC & SAC-Discrete) (Haarnoja et al. 2018)
  • Asynchronous Advantage Actor Critic (A3C) (Mnih et al. 2016)
  • Syncrhonous Advantage Actor Critic (A2C)
  • Proximal Policy Optimisation (PPO) (Schulman et al. 2017)
  • DQN with Hindsight Experience Replay (DQN-HER) (Andrychowicz et al. 2018)
  • DDPG with Hindsight Experience Replay (DDPG-HER) (Andrychowicz et al. 2018 )
  • Hierarchical-DQN (h-DQN) (Kulkarni et al. 2016)
  • Stochastic NNs for Hierarchical Reinforcement Learning (SNN-HRL) (Florensa et al. 2017)
  • Diversity Is All You Need (DIAYN) (Eyensbach et al. 2018)

所有实现都能够快速解决Cart Pole(离散动作),Mountain Car Continuous(连续动作),Bit Flipping(具有动态目标的离散动作)或Fetch Reach(具有动态目标的连续动作)。创建者计划尽快添加更多的分层RL算法。

1. Cart Pole 和 Mountain Car

下面展示了各种RL算法成功学习离散动作游戏Cart Pole 或连续动作游戏Mountain Car。使用3个随机种子运行算法的平均结果显示如下:

这个开源项目用Pytorch实现了17种强化学习算法

阴影区域表示正负1标准差。使用超参数可以在 results/Cart_Pole.py 和 results/Mountain_Car.py 文件中找到。

2. Hindsight Experience Replay (HER) Experiements

下图展示了DQN和DDPG在 Bit Flipping(14位)和 Fetch Reach 环境中的性能,这些环境描述在论文《后见之明体验重放2018》和《多目标强化学习2018》中。这些结果复现了论文中发现的结果,并展示了Fetch HER如何让一个agent解决它无法解决的问题。注意,在每对agents中都使用了相同的超参数,因此它们之间的唯一区别是是否使用hindsight。

这个开源项目用Pytorch实现了17种强化学习算法

3. Hierarchical Reinforcement Learning Experiments

这个开源项目用Pytorch实现了17种强化学习算法

上图左边的结果显示了在 Long Corridor 环境中 DQN 和 Kulkarni 等人在 2016 年提出的 hierarchy -DQN 算法的性能。
上图右边的结果显示了 Florensa 等人 2017 年提出的 DDQN 算法和用于分层强化学习的随机神经网络 (SNN-HRL) 的性能。

这个开源项目用Pytorch实现了17种强化学习算法

目前,该项目已经在Github上标星 962,170个Fork(Github地址:https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch)

人工智能 机器学习 技术
上一篇:人工智能的到来对教育产生了什么样的影响 下一篇:人工智能如何改进质量保证的六点建议
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

绿色机器人如何帮助环境可持续发展

各种各样的机器人已经被开发出来,它们能够以各种方式帮助保护环境,从扑灭野火,帮助管理垃圾,到清洁海洋和其他水体等。以下是绿色机器人帮助环境可持续发展的几种方法。

iothome ·  8h前
疫情当前,才知道AI原来是这么好用

近日,工信部表示,将部署运用新一代信息技术支撑服务疫情防控工作。并且工信部特别强调,要通过运用人工智能、大数据、云计算等服务疫情监测分析、人员流动和社区管理等,对疫情开展科学精准防控。

Witkey ·  15h前
什么是持续智能?对物联网有什么影响?

物联网世界将迎来充满希望的2020年。5G公司一再声称,2020年是5G在公共领域站稳脚跟,并普及的一年。

iothome ·  1天前
AI战“疫”,偶尔小尴尬背后,终极护城河现形

人类与新型冠状病毒的战“疫”仍然在进行中,在这期间,也催生出各类“人工智能+”应用,人工智能技术在此期间迎来大爆发。

张书乐 ·  2天前
意料之外 情理之中:解读Gartner 2020年数据科学和机器学习平台魔力象限

最近Gartner发布了数据科学和机器学习(DSML)平台魔力象限报告。数据科学、机器学习和人工智能的市场格局极为分散,竞争激烈且难以理解。Gartner尝试根据明确定义的标准对厂商进行了排名。

佚名 ·  2天前
DeepMind发布神经网络、强化学习库,网友:推动JAX发展

JAX由谷歌提出,是TensorFlow的简化库。结合了针对线性代数的编译器XLA,和自动区分本地 Python 和 Numpy 代码的库Autograd,在高性能的机器学习研究中使用。

十三 ·  2天前
谷歌透露:正在内部尝试用AI开发计算机芯片

据谷歌人工智能研究负责人Jeff Dean透露,谷歌正在尝试通过人工智能程序推进专用芯片的内部开发,以加速其软件。在旧金山举行的International Solid State Circuits Conference会上Dean表示:“我们内部正在将人工智能技术用于一系列芯片设计项目中。”

佚名 ·  2天前
4个步骤成功构建出一个机器学习团队

对一个公司来说,如何从0到1构建一个机器学习团队,是很多公司非常头疼的问题,这篇文章给出了一些建议,对求职者来说,同样具有参考价值。

AI公园 ·  2天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载