使用 Pytorch 实现深度强化学习
此资源库包含了所有标准的无模型和基于模型(即将推出)的 Pytorch RL 算法。(可能还包含一些我目前正在研究的想法)
C++ 版本的 Pytorch-RL:Pytorch-RL-CPP
它是什么?
pytorch-rl 在 Pytorch 中实现了一些最先进的深度强化学习算法,特别是那些与连续动作空间有关的算法。你可以在 CPU 或 GPU 上高效地训练你的算法。此外,pytorch-rl 可以直接与 OpenAI Gym 一起使用,这意味着评估和尝试不同的算法变得很容易。当然你也可以根据自己的需要扩展 pytorch-rl。 简而言之:pytorch-rl 使运行最先进的深度强化学习算法变得非常容易。
安装
推荐从 Pypi 安装 Pytorch-rl:
pip install pytorch-policy
依赖
- Pytorch
- Gym (OpenAI)
- mujoco-py(用于物理模拟和 gym 中的机器人环境)
- Pybullet(即将推出)
- MPI(只有在使用 MPI 后端 Pytorch 安装时支持)
- Tensorboardx (https://github.com/lanpa/tensorboardX)
RL 算法
- DQN(带 Double Q 学习)
- DDPG
- DDPG 与 HER(用于 OpenAI Fetch 环境)
- 层次强化学习
- 优先经验回放 + DDPG
- 带优先倒回放的 DDPG(研究)
- 带 A3C 的神经地图(即将推出)
- 彩虹 DQN(即将推出)
- PPO (https://github.com/ikostrikov/pytorch-a2c-ppo-acktr)
- 带有自注意力机制的 HER 用于目标替换(研究)
- A3C(即将推出)
- ACER(即将推出)
- DARLA
- TDM
- 世界模型
- 软演员-评论家
- 赋能驱动的探索(Tensorflow 实现:https://github.com/navneet-nmk/Empowerment-driven-Exploration)
环境
- Breakout
- Pong(即将推出)
- 手动操作机器人任务
- Fetch-Reach 机器人任务
- 手动到达机器人任务
- 积木操作机器人任务
- Montezuma's Revenge(当前研究)
- Pitfall
- Gravitar
- 赛道赛车
- 超级马里奥兄弟(按照说明安装 gym-retro:https://github.com/openai/retro)
- OpenSim Prosthetics Nips Challenge(https://www.crowdai.org/challenges/nips-2018-ai-for-prosthetics-challenge)
环境建模(用于探索和领域适应)
由于训练生成器和判别器的不稳定性,使用了多种 GAN 训练技巧。 请参考 https://github.com/soumith/ganhacks 获取更多信息。
即使在使用技巧之后,训练一个 GAN 收敛仍然非常困难。 然而,在使用 Spectral Normalization(https://arxiv.org/abs/1802.05957)后,infogan 收敛训练。
对于带有 GANs 的图像到图像翻译任务和一般的 VAEs,带有跳跃连接的训练对训练非常有帮助。
- beta-VAE
- InfoGAN
- CVAE-GAN
- 基于流的生成模型(研究)
- SAGAN
- 顺序注意、推理、重复
- 好奇心驱动的探索
- 探索的参数空间噪声
- 噪声网络
参考文献
- Playing Atari with Deep Reinforcement Learning, Mnih et al., 2013
- Human-level control through deep reinforcement learning, Mnih et al., 2015
- Deep Reinforcement Learning with Double Q-learning, van Hasselt et al., 2015
- Continuous control with deep reinforcement learning, Lillicrap et al., 2015
- CVAE-GAN: Fine-Grained Image Generation through Asymmetric Training, Bao et al., 2017
- beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework, Higgins et al., 2017
- Hindsight Experience Replay, Andrychowicz et al., 2017
- InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets, Chen et al., 2016
- World Models, Ha et al., 2018
- Spectral Normalization for Generative Adversarial Networks, Miyato et al., 2018
- Self-Attention Generative Adversarial Networks, Zhang et al., 2018
- Curiosity-driven Exploration by Self-supervised Prediction, Pathak et al., 2017
- Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor, Haarnoja et al., 2018
- Parameter Space Noise for Exploration, Plappert et al., 2018
- Noisy Network for Exploration, Fortunato et al., 2018
- Proximal Policy Optimization Algorithms, Schulman et al., 2017
- Unsupervised Real-Time Control through Variational Empowerment, Karl et al., 2017
- Mutual Information Neural Estimation, Belghazi et al., 2018
- Empowerment-driven Exploration using Mutual Information Estimation, Kumar et al., 2018