這個開源項目用Pytorch實現了17種強化學習算法

強化學習在過去的十年裏取得了巨大的發展,如今已然是各大領域熱捧的技術之一,今天,猿妹和大家推薦一個有關強化學習的開源項目。

這個開源項目是通過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) 的性能。

目前,該項目已經在Github上標星 962,170個Fork(Github地址:https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章