openssl 添加自定义算法_GitHub:用PyTorch实现17种深度强化学习算法
深度強化學習已經在許多領域取得了矚目的成就,并且仍是各大領域受熱捧的方向之一。本文推薦一個包含了 17 種深度強化學習算法實現的 PyTorch 代碼庫。
已實現的算法包括:
所有的實現都能夠快速解決Cart Pole(離散動作)、Mountain Car (連續動作)、Bit Flipping(動態目標的離散動作) 或Fetch Reach(動態目標的連續動作) 等任務。本 repo 還會添加更多的分層 RL 算法。
已實現的環境:
結果
1. Cart Pole 和 Mountain Car
下面展示了各種 RL 算法成功學習離散動作游戲 Cart Pole 或連續動作游戲 Mountain Car 的結果。使用 3 個隨機種子運行算法的平均結果如下圖所示,陰影區域表示正負 1 標準差。使用的超參數可以在results/cart_pol .py和results/Mountain_Car.py文件中找到。
2. 事后經驗重演 (HER) 實驗
下面展示了 DQN 和 DDPG 在 Bit Flipping (14 bits) 和 Fetch Reach 環境中的表現,這些環境在論文 Hindsight Experience Replay 和 Multi-Goal Reinforcement Learning 中有詳細描述。這些結果復現了論文中發現的結果,并展示了添加 HER 可以如何讓一個 agent 解決它原本無法解決的問題。請注意,在每對 agents 中都使用了相同的超參數,因此它們之間的唯一區別是是否使用了 hindsight。
3. 分層強化學習實驗
下圖左邊的結果顯示了在 Long Corridor 環境中 DQN 和 Kulkarni 等人在 2016 年提出的 hierarchy -DQN 算法的性能。該環境要求 agent 在返回之前走到走廊的盡頭,以便獲得更大的獎勵。這種延遲滿足和狀態的混疊使得它在某種程度上是 DQN 不可能學習的游戲,但是如果我們引入一個元控制器 (如 h-DQN) 來指導低層控制器如何行動,就能夠取得更大的進展。這與論文中發現的結果一致。
下圖右邊的結果顯示了 Florensa 等人 2017 年提出的 DDQN 算法和用于分層強化學習的隨機神經網絡 (SNN-HRL) 的性能。使用 DDQN 作為比較,因為 SSN-HRL 的實現使用了其中的 2 種 DDQN 算法。
用法
存儲庫的高級結構是:
├── agents ├── actor_critic_agents ├── DQN_agents ├── policy_gradient_agents└── stochastic_policy_search_agents ├── environments ├── results └── data_and_graphs ├── tests ├── utilities └── data structuresi) 觀看智能體學習上述游戲
觀看所有不同的智能體學習 Cart Pole,請遵循以下步驟:
git clone https://github.com/p-christ/Deep_RL_Implementations.git cd Deep_RL_Implementationsconda create --name myenvname y conda activate myenvnamepip3 install -r requirements.txtpython Results/Cart_Pole.py對于其他游戲,將最后一行更改為結果文件夾中的其他文件就行。
ii) 訓練智能體實現另一種游戲
Open AI gym 上的環境都是有效的,你所需要做的就是更改config.environment字段。
如果你創建了一個繼承自 gym.Env 的單獨類,那么還可以使用自己的自定義游戲。請參閱Environments/Four_Rooms_Environment.py自定義環境的示例,然后查看腳本Results/Four_Rooms.py了解如何讓 agents 運行環境。
GitHub 地址:
p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch?github.com總結
以上是生活随笔為你收集整理的openssl 添加自定义算法_GitHub:用PyTorch实现17种深度强化学习算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结构体内元素不确定_氮长叶,磷长果,那么
- 下一篇: 真我GT Neo5两个版本配置参数曝光!