本人基于tensorflow2实现的代码
【1】policy gradient
https://github.com/lgc-robotics/reinforcement_learning/tree/master/policy%20gradientgithub.com下图是CartPole-v1的训练结果:
【2】Actor-critic
https://github.com/lgc-robotics/reinforcement_learning/tree/master/actor%20criticgithub.com- 如果回合长度不长,如CartPole-v0的最大回合长度仅为200,那么可以用bootstrapping方法估计value函数(见“【CS285第6讲】Actor-critic”公式9)。详情可见online-actor-critic.py。
- 如果回合长度太长,如CartPole-v1的最大回合长度为500,建议使用一条轨迹来估计value函数(见“【CS285第6讲】Actor-critic”公式7),不建议使用bootstrapping,因为bootstrapping的偏差会很大。详情可见batch-actor-critic.py。下图是CartPole-v1的训练结果:
【3】A3C
lgc-robotics/reinforcement_learninggithub.com这是A3C在CartPole-v1上的训练结果:
下图是A3C在Pendulum上的训练结果:
【4】PPO
lgc-robotics/reinforcement_learninggithub.com下图是PPO在Pendulum上的训练结果。别看PPO收录速度快于A3C,我花在PPO代码调试上的时间远远多于A3C,因为PPO对参数初值太敏感了。
【5】DDPG
lgc-robotics/reinforcement_learninggithub.com下图是DDPG在Pendulum上的训练结果:
下图是DDPG在BipedalWalker-v3上的训练结果(效果不好):
【6】TD3
https://github.com/lgc-robotics/reinforcement_learning/tree/master/TD3github.com下图是TD3在Pendulum上的训练结果:
下图是TD3在BipedalWalker-v3上的训练结果:
TD3论文作者提供的源码:sfujim/TD3
【7】SAC
【8】DPPO
常见强化学习框架
【1】tensorlayer实现的代码,基于tensorflow 2.0
https://github.com/tensorlayer/tensorlayer/tree/master/examples/reinforcement_learninggithub.com【2】Kei Ohta开源的,基于tensorflow 2.0
https://github.com/keiohta/tf2rlgithub.com【3】openAI baselines,基于tensorflow 1.14
https://github.com/openai/baselinesgithub.com【4】openAI spinup, 基于tensorflow
openai/spinningupgithub.com【5】Intel开源的,
NervanaSystems/coachgithub.com【6】基于pytorch,Berkeley,很不错
https://github.com/vitchyr/rlkitgithub.comvitchyr/rlkit https://github.com/vitchyr/rlkitgithub.com博客
【1】Berkeley
The Berkeley Artificial Intelligence Research Blogbair.berkeley.edu【2】OpenAI
OpenAI Blogopenai.com强化学习仿真环境pybullet
Documentation: https://github.com/bulletphysics/bullet3/tree/master/docs
API: Bullet Documentation