PyTorch implementation of DQN, AC, ACER, A2C, A3C, PG, DDPG, TRPO, PPO, SAC, TD3 and ....
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 |
**状态:**活跃(正在进行积极开发,可能会发生破坏性变更)
本仓库旨在实现经典及最前沿的深度强化学习算法。其目标是为人们提供清晰的PyTorch代码,以便学习深度强化学习算法。未来,我们将增加更多最先进算法,并持续维护现有代码。

系统需求
- Python <=3.6
- tensorboardX
- gym >= 0.10
- PyTorch >= 0.4
注意:TensorFlow不支持Python3.7
安装
pip install -r requirements.txt
如果安装失败:
- 安装gym
pip install gym
- 安装PyTorch
请访问官方网站安装:https://pytorch.org/
推荐使用Anaconda虚拟环境管理你的包。
- 安装tensorboardX和tensorflow(仅用于tensorboardX)
pip install tensorboardX tensorflow==1.12
- 测试
cd Char10_TD3/
python TD3_BipedalWalker-v2.py --mode test
成功安装后,你将看到一个双足行走机器人示例。
双足行走机器人示例:

- 可选安装openai-baselines
# 克隆openai baselines库
git clone https://github.com/openai/baselines.git
cd baselines
pip install -e .
DQN
我上传了两个训练CartPole-v0和MountainCar-v0的DQN模型。
MountainCar-v0的技巧
这是一个稀疏二元奖励任务,只有当汽车达到山顶时才有非零奖励。通常在随机策略下可能需要大约10万步。你可以添加一个奖励项,例如,让汽车当前位置的变化与之正相关。当然,更先进的方法是逆向强化学习。


这是DQN的价值损失图。可以看到损失值增加到了1e13,但网络运行良好。这是因为随着训练过程,目标网络和行动网络差异增大,计算出的损失累计加大。之前损失较小,是因为奖励非常稀少,导致两网络更新幅度小。
与DQN相关的论文
- 使用深度强化学习玩Atari游戏[arxiv][代码]
- 深度强化学习中的双重Q学习[arxiv][代码]
- 用于深度强化学习的对抗网络结构[arxiv][代码]
- 优先级经验重放[arxiv][代码]
- 探索中使用嘈杂网络[arxiv][代码]
- 强化学习中的分布视角[arxiv][代码]
- 彩虹:结合深度强化学习的改进[arxiv][代码]
- 分位回归的分布强化学习[arxiv][代码]
- 分层深度强化学习:整合时间抽象和内在动机[arxiv][代码]
- 神经情节控制[arxiv][代码]
策略梯度
运行保存的模型:
python Run_Model.py
训练模型:
python pytorch_MountainCar-v0.py
policyNet.pkl
这是一个已训练好的模型。
演员-评论家(Actor-Critic)
这是一个算法框架,其中包含了经典的REINFORCE方法。
DDPG
Pendulum-v0的每集奖励:

PPO
- 原始论文:https://arxiv.org/abs/1707.06347
- OpenAI Baselines博客文章:OpenAI Baselines PPO
A2C
优势策略梯度。一篇2017年的论文指出,A2C与A3C之间性能差异并不明显。
异步优势演员评论家方法(A3C)自论文发布以来影响深远,该算法综合了几大关键思想:
- 一个基于固定长度经验片段(如20个时间步)的操作更新方案,用这些片段来计算回报和优势函数的估计值。
- 在策略和价值函数间共享层次的架构。
- 异步更新。
A3C
原始论文:https://arxiv.org/abs/1602.01783
SAC
这不是作者的官方实现!
Pendulum-v0的每集奖励:

TD3
这不是作者的官方实现!
Pendulum-v0的每集奖励:
BipedalWalker-v2的每集奖励:

如果你想测试模型:
python TD3_BipedalWalker-v2.py --mode test
与深度强化学习相关的论文
[01] 深度强化学习简述
[02] 连续控制强化学习中的Beta策略
[03] 使用深度强化学习玩Atari游戏
[04] 带有双重Q学习的深度强化学习
[05] 用于深度强化学习的对抗网络架构
[06] 基于深度强化学习的连续控制
[07] 结合模型加速的连续深度Q学习
[08] 深度强化学习的异步方法
[09] 信任域策略优化
[10] 近端策略优化算法
[11] 可扩展的信任区域方法在深度强化学习中的应用:利用Kronecker分解加速
[12] 采用广义优势估计的高维连续控制
[13] 软性演员-评论家:基于最大熵的离线深度强化学习与随机演员
[14] 处理演员-评论家中函数逼近误差
待办事项
最佳强化学习课程
项目介绍
PyTorch深度学习框架实现的DQN、AC、ACER、A2C、A3C、PG、DDPG、TRPO、PPO、SAC、TD3等算法。【此简介由AI生成】