4.5 KiB
4.5 KiB
写在前面
本项目用于学习RL基础算法,尽量做到: 注释详细,结构清晰。
代码结构主要分为以下几个脚本:
model.py强化学习算法的基本模型,比如神经网络,actor,critic等memory.py保存Replay Buffer,用于off-policyplot.py利用matplotlib或seaborn绘制rewards图,包括滑动平均的reward,结果保存在result文件夹中env.py用于构建强化学习环境,也可以重新自定义环境,比如给action加noiseagent.pyRL核心算法,比如dqn等,主要包含update和choose_action两个方法,main.py运行主函数
其中model.py,memory.py,plot.py 由于不同算法都会用到,所以放入common文件夹中。
运行环境
python 3.7、pytorch 1.6.0-1.7.1、gym 0.17.0-0.18.0
使用说明
运行main.py或者main.ipynb,或者包含task名的文件(比如task1.py)
算法进度
| 算法名称 | 相关论文材料 | 环境 | 备注 |
|---|---|---|---|
| On-Policy First-Visit MC | Racetrack | ||
| Q-Learning | CliffWalking-v0 | ||
| Sarsa | Racetrack | ||
| DQN | DQN Paper,Nature DQN Paper | CartPole-v0 | |
| DQN-cnn | DQN Paper | CartPole-v0 | 与DQN相比使用了CNN而不是全链接网络 |
| DoubleDQN | CartPole-v0 | ||
| Hierarchical DQN | H-DQN Paper | CartPole-v0 | |
| PolicyGradient | CartPole-v0 | ||
| A2C | A3C Paper | CartPole-v0 | |
| A3C | A3C Paper | ||
| SAC | SAC Paper | ||
| PPO | PPO paper | CartPole-v0 | |
| DDPG | DDPG Paper | Pendulum-v0 | |
| TD3 | TD3 Paper | HalfCheetah-v2 | |
| GAIL | GAIL Paper |