6行代码搞定基本的RL算法,速度围观Reddit高赞帖
【新智元导读】今天和大家分享Reddit上的一个热帖,楼主用PyTorch实现了基本的RL算法,而且每个算法都在一个文件夹中完成,即使没有GPU,每个算法也可以在30秒内完成训练。
近日,有开发人员用PyTorch实现了基本的RL算法,比如REINFORCE, vanilla actor-critic, DDPG, A3C, DQN 和PPO。这个帖子在Reddit论坛上获得了195个赞并引发了热议,一起来看一下吧。
特点如下:
每个算法都在一个文件中完成。
每个算法的长度可达100~150行代码。
即使没有GPU,每个算法也可以在30秒内完成训练。
Envs固定在“CartPole-v1”上,你只需关注执行。
minimalRL-pytorch算法:
1. REINFORCE(66行)
2. TD Actor-Critic(97行)
3. DQN(113行,包括重放内存和目标网络)
4. PPO(116行,包括GAE)
5. DDPG(149行,包括OU噪声和软目标更新)
6. A3C(116行)
7. 有什么建议吗?
依赖配置:
1. PyTorch
2. OpenAI GYM
使用:
# Works only with Python 3.# e.g.python3 REINFORCE.pypython3 actor_critic.pypython3 dqn.pypython3 ppo.pypython3 ddpg.pypython3 a3c.py
评论中,不少朋友表示了对楼主的认可和感谢:
Dump7留言:“可以!这是我见过的最美的东西之一。我不是一个能用框架编写NN的人。但我正在努力。这将在很大程度上帮助到我。谢谢你做了这个。但是你能为基本的CNN和RNN制作这样的单一文件代码吗?”
CodeReclaimers表示:“谢谢你分享这个——我知道把代码简化到最少是很费事的。特别好的是,你的代码将依赖配置控制在最低限度。通常都是,我去寻找可以学习的例子,要花至少30多分钟来收集所有依赖配置,结果发现我的平台上少了一些关键的东西。”
Reddit上的讨论:
https://www.reddit.com/r/MachineLearning/comments/bt8sap/p_implementations_of_basic_rl_algorithms_with/
Github资源:
https://github.com/seungeunrho/minimalRL