【代码集合】深度强化学习Pytorch实现集锦

本次分享的是用PyTorch语言编写的深度强化学习算法的高质量实现这些IPython笔记本的目的主要是帮助练习和理解这些论文;因此,在某些情况下,我将选择可读性而不是效率。首先,我会上传论文的实现,然后是标记来解释代码的每一部分。


相关论文



  1. Human Level Control Through Deep Reinforement Learning

     [Publication] https://deepmind.com/research/publications/human-level-control-through-deep-reinforcement-learning/

     [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/01.DQN.ipynb

  2. Multi-Step Learning (from Reinforcement Learning: An Introduction, Chapter 7) 

    [Publication] https://github.com/qfettes/DeepRL-Tutorials/blob/master/01.DQN.ipynb

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/02.NStep_DQN.ipynb

  3. Deep Reinforcement Learning with Double Q-learning 

    [Publication] https://arxiv.org/abs/1509.06461

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/03.Double_DQN.ipynb

  4. Dueling Network Architectures for Deep Reinforcement Learning 

    [Publication] https://arxiv.org/abs/1511.06581

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/04.Dueling_DQN.ipynb

  5. Noisy Networks for Exploration 

    [Publication] https://github.com/qfettes/DeepRL-Tutorials/blob/master/04.Dueling_DQN.ipynb

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/05.DQN-NoisyNets.ipynb

  6. Prioritized Experience Replay 

    [Publication] https://arxiv.org/abs/1511.05952?context=cs

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/06.DQN_PriorityReplay.ipynb

  7. A Distributional Perspective on Reinforcement Learning 

    [Publication] https://arxiv.org/abs/1707.06887

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/07.Categorical-DQN.ipynb

  8. Rainbow: Combining Improvements in Deep Reinforcement Learning 

    [Publication] https://arxiv.org/abs/1710.02298

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/08.Rainbow.ipynb

  9. Distributional Reinforcement Learning with Quantile Regression 

    [Publication] https://arxiv.org/abs/1710.10044

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/09.QuantileRegression-DQN.ipynb

  10. Rainbow with Quantile Regression 

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/10.Quantile-Rainbow.ipynb

  11. Deep Recurrent Q-Learning for Partially Observable MDPs 

    [Publication] https://arxiv.org/abs/1507.06527

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/11.DRQN.ipynb

  12. Advantage Actor Critic (A2C) 

    [Publication1] https://arxiv.org/abs/1602.01783

    [Publication2] https://blog.openai.com/baselines-acktr-a2c/

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/12.A2C.ipynb

  13. High-Dimensional Continuous Control Using Generalized Advantage Estimation 

    [Publication] https://arxiv.org/abs/1506.02438

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/13.GAE.ipynb

  14. Proximal Policy Optimization Algorithms 

    [Publication] https://arxiv.org/abs/1707.06347

    [code] https://github.com/qfettes/DeepRL-Tutorials/blob/master/14.PPO.ipynb


PyTorch实现


关注公众号,后天回复关键词

20181023


推荐阅读

宿命之战:程序员VS产品经理

赛事发布 | 数字合肥广邀智慧城市建设英才,三十万重金等你来战

800万中文词,腾讯AI Lab开源大规模NLP数据集

pandas入门教程

10 张令人喷饭的程序员漫画

【资源】机器学习算法工程师手册(PDF下载)

源码 | Python爬虫之网易云音乐下载

548页MIT强化学习教程,收藏备用【PDF下载】


640?wx_fmt=png

PyTorch是一种常用的深度学习框架,它也可以用于实现深度强化学习算法。深度强化学习是将深度学习和强化学习相结合的一种方法,用于解决智能体在环境中通过不断学习和反馈改进决策的问题。 在PyTorch中,可以使用其提供的张量(Tensor)和自动微分(Autograd)功能来实现深度强化学习算法。首先,我们需要定义一个神经网络模型来作为智能体的决策器。可以使用PyTorch提供的各种层和激活函数来构建神经网络,并使用PyTorch定义的优化器来更新网络参数。 在强化学习中,我们通常使用的是Q-learning算法。Q-learning算法的核心是通过不断地更新状态-动作价值函数来寻找最优的动作策略。我们可以使用PyTorch来构建Q-learning算法中的神经网络和训练过程。 具体实现时,我们可以使用PyTorch提供的神经网络模块化接口(nn.Module)来定义神经网络模型,使用PyTorch提供的随机梯度下降优化器(optim.SGD)来更新网络参数。在每个训练步骤中,我们通过选择最大的Q值来选择当前状态下的最优动作,并通过反馈获得的奖励来更新状态-动作价值函数。 通过不断地迭代训练和优化神经网络模型,智能体可以逐渐学会在给定环境中获得最大奖励的决策策略。 总结来说,PyTorch是一种适合实现深度强化学习的框架。通过使用PyTorch提供的张量和自动微分功能,我们可以构建深度神经网络模型,并使用强化学习算法来训练和优化模型,从而实现智能体在环境中的最优决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值