强化学习在过去的十年里取得了巨大的发展,如今已然是各大领域热捧的技术之一,今天,猿妹和大家推荐一个有关强化学习的开源项目。
这个开源项目是通过PyTorch实现了17种深度强化学习算法的教程和代码库,帮助大家在实践中理解深度RL算法。
完整的17个算法实现如下:
- Deep Q Learning (DQN) (Mnih et al. 2013)
- DQN with Fixed Q Targets (Mnih et al. 2013)
- Double DQN (DDQN) (Hado van Hasselt et al. 2015)
- DDQN with Prioritised Experience Replay (Schaul et al. 2016)
- Dueling DDQN (Wang et al. 2016)
- REINFORCE (Williams et al. 1992)
- Deep Deterministic Policy Gradients (DDPG) (Lillicrap et al. 2016 )
- Twin Delayed Deep Deterministic Policy Gradients (TD3) (Fujimoto et al. 2018)
- Soft Actor-Critic (SAC & SAC-Discrete) (Haarnoja et al. 2018)
- Asynchronous Advantage Actor Critic (A3C) (Mnih et al. 2016)
- Syncrhonous Advantage Actor Critic (A2C)
- Proximal Policy Optimisation (PPO) (Schulman et al. 2017)
- DQN with Hindsight Experience Replay (DQN-HER) (Andrychowicz et al. 2018)
- DDPG with Hindsight Experience Replay (DDPG-HER) (Andrychowicz et al. 2018 )
- Hierarchical-DQN (h-DQN) (Kulkarni et al. 2016)
- Stochastic NNs for Hierarchical Reinforcement Learning (SNN-HRL) (Florensa et al. 2017)
- Diversity Is All You Need (DIAYN) (Eyensbach et al. 2018)
所有实现都能够快速解决Cart Pole(离散动作),Mountain Car Continuous(连续动作),Bit Flipping(具有动态目标的离散动作)或Fetch Reach(具有动态目标的连续动作)。创建者计划尽快添加更多的分层RL算法。
1. Cart Pole 和 Mountain Car
下面展示了各种RL算法成功学习离散动作游戏Cart Pole 或连续动作游戏Mountain Car。使用3个随机种子运行算法的平均结果显示如下:
阴影区域表示正负1标准差。使用超参数可以在 results/Cart_Pole.py 和 results/Mountain_Car.py 文件中找到。
2. Hindsight Experience Replay (HER) Experiements
下图展示了DQN和DDPG在 Bit Flipping(14位)和 Fetch Reach 环境中的性能,这些环境描述在论文《后见之明体验重放2018》和《多目标强化学习2018》中。这些结果复现了论文中发现的结果,并展示了Fetch HER如何让一个agent解决它无法解决的问题。注意,在每对agents中都使用了相同的超参数,因此它们之间的唯一区别是是否使用hindsight。
3. Hierarchical Reinforcement Learning Experiments
上图左边的结果显示了在 Long Corridor 环境中 DQN 和 Kulkarni 等人在 2016 年提出的 hierarchy -DQN 算法的性能。
上图右边的结果显示了 Florensa 等人 2017 年提出的 DDQN 算法和用于分层强化学习的随机神经网络 (SNN-HRL) 的性能。