這個(gè)開源項(xiàng)目用Pytorch實(shí)現(xiàn)了17種強(qiáng)化學(xué)習(xí)算法
強(qiáng)化學(xué)習(xí)在過去的十年里取得了巨大的發(fā)展,如今已然是各大領(lǐng)域熱捧的技術(shù)之一,今天,猿妹和大家推薦一個(gè)有關(guān)強(qiáng)化學(xué)習(xí)的開源項(xiàng)目。
這個(gè)開源項(xiàng)目是通過PyTorch實(shí)現(xiàn)了17種深度強(qiáng)化學(xué)習(xí)算法的教程和代碼庫,幫助大家在實(shí)踐中理解深度RL算法。
完整的17個(gè)算法實(shí)現(xiàn)如下:
- 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)
所有實(shí)現(xiàn)都能夠快速解決Cart Pole(離散動(dòng)作),Mountain Car Continuous(連續(xù)動(dòng)作),Bit Flipping(具有動(dòng)態(tài)目標(biāo)的離散動(dòng)作)或Fetch Reach(具有動(dòng)態(tài)目標(biāo)的連續(xù)動(dòng)作)。創(chuàng)建者計(jì)劃盡快添加更多的分層RL算法。
1. Cart Pole 和 Mountain Car
下面展示了各種RL算法成功學(xué)習(xí)離散動(dòng)作游戲Cart Pole 或連續(xù)動(dòng)作游戲Mountain Car。使用3個(gè)隨機(jī)種子運(yùn)行算法的平均結(jié)果顯示如下:
陰影區(qū)域表示正負(fù)1標(biāo)準(zhǔn)差。使用超參數(shù)可以在 results/Cart_Pole.py 和 results/Mountain_Car.py 文件中找到。
2. Hindsight Experience Replay (HER) Experiements
下圖展示了DQN和DDPG在 Bit Flipping(14位)和 Fetch Reach 環(huán)境中的性能,這些環(huán)境描述在論文《后見之明體驗(yàn)重放2018》和《多目標(biāo)強(qiáng)化學(xué)習(xí)2018》中。這些結(jié)果復(fù)現(xiàn)了論文中發(fā)現(xiàn)的結(jié)果,并展示了Fetch HER如何讓一個(gè)agent解決它無法解決的問題。注意,在每對agents中都使用了相同的超參數(shù),因此它們之間的唯一區(qū)別是是否使用hindsight。
3. Hierarchical Reinforcement Learning Experiments
上圖左邊的結(jié)果顯示了在 Long Corridor 環(huán)境中 DQN 和 Kulkarni 等人在 2016 年提出的 hierarchy -DQN 算法的性能。
上圖右邊的結(jié)果顯示了 Florensa 等人 2017 年提出的 DDQN 算法和用于分層強(qiáng)化學(xué)習(xí)的隨機(jī)神經(jīng)網(wǎng)絡(luò) (SNN-HRL) 的性能。
目前,該項(xiàng)目已經(jīng)在Github上標(biāo)星 962,170個(gè)Fork(Github地址:https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch)