深層強化学習アルゴリズムの実装
- DQN: Human-level control through deep reinforcement learning
- DoubleDQN: Deep Reinforcement Learning with Double Q-learning
- PrioritizedExperienceReplay: Prioritized Experience Replay
- DuelingNetwork: Dueling Network Architectures for Deep Reinforcement Learning
- CategoricalDQN(C51): A Distributional Perspective on Reinforcement Learning
- NoisyNetwork: Noisy Networks for Exploration
- SimplePolicyGradient: Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning
- REINFORCE: Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning
- Actor-Critic: Witten(1977); Barto, Sutton, Anderson(1983); Sutton(1984)
- RandomNetworkDistillation(RND): Exploration by Random Network Distillation
- GORILA: Massively Parallel Methods for Deep Reinforcement Learning
pip install -r requirements.txt
python main.py
simulator.py
のself.policy
に使用したいアルゴリズムのクラスを定義.
ただし,PolicyGradient
とREINFORCE
はPGSimulation
クラスを使用し,ActorCritic
はACSimulation
クラスを使用してください.(main.py
も適宜変更してください)
def __init__(self, sim, epi, env):
...
self.policy = DQN()
ハイパーパラメータやGym環境,指標,実験設定の保存等,そこら辺はかなりいい加減に書いているので注意が必要.
実装の練習にもなると思うので余力がある人は自分でカスタマイズしてみてください.