All Projects → Nasdin → Reinforcementlearning Atarigame

Nasdin / Reinforcementlearning Atarigame

Licence: bsd-3-clause
Pytorch LSTM RNN for reinforcement learning to play Atari games from OpenAI Universe. We also use Google Deep Mind's Asynchronous Advantage Actor-Critic (A3C) Algorithm. This is much superior and efficient than DQN and obsoletes it. Can play on many games

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Reinforcementlearning Atarigame

Rl a3c pytorch
A3C LSTM Atari with Pytorch plus A3G design
Stars: ✭ 482 (+308.47%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, openai-gym, actor-critic, a3c
Reinforcement learning tutorial with demo
Reinforcement Learning Tutorial with Demo: DP (Policy and Value Iteration), Monte Carlo, TD Learning (SARSA, QLearning), Function Approximation, Policy Gradient, DQN, Imitation, Meta Learning, Papers, Courses, etc..
Stars: ✭ 442 (+274.58%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, actor-critic, a3c
Pytorch A3c
PyTorch implementation of Asynchronous Advantage Actor Critic (A3C) from "Asynchronous Methods for Deep Reinforcement Learning".
Stars: ✭ 879 (+644.92%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, actor-critic, a3c
Deep-Reinforcement-Learning-With-Python
Master classic RL, deep RL, distributional RL, inverse RL, and more using OpenAI Gym and TensorFlow with extensive Math
Stars: ✭ 222 (+88.14%)
Mutual labels:  deep-reinforcement-learning, openai-gym, a3c, actor-critic
Torch Ac
Recurrent and multi-process PyTorch implementation of deep reinforcement Actor-Critic algorithms A2C and PPO
Stars: ✭ 70 (-40.68%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, actor-critic, a3c
Reinforcement Learning
Minimal and Clean Reinforcement Learning Examples
Stars: ✭ 2,863 (+2326.27%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, actor-critic, a3c
Btgym
Scalable, event-driven, deep-learning-friendly backtesting library
Stars: ✭ 765 (+548.31%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, openai-gym, a3c
Deep Reinforcement Learning
Repo for the Deep Reinforcement Learning Nanodegree program
Stars: ✭ 4,012 (+3300%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, openai-gym
Pytorch sac
PyTorch implementation of Soft Actor-Critic (SAC)
Stars: ✭ 174 (+47.46%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, actor-critic
Rl Book
Source codes for the book "Reinforcement Learning: Theory and Python Implementation"
Stars: ✭ 464 (+293.22%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, openai-gym
Hands On Reinforcement Learning With Python
Master Reinforcement and Deep Reinforcement Learning using OpenAI Gym and TensorFlow
Stars: ✭ 640 (+442.37%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, openai-gym
Drq
DrQ: Data regularized Q
Stars: ✭ 268 (+127.12%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, actor-critic
Deeprl Tutorials
Contains high quality implementations of Deep Reinforcement Learning algorithms written in PyTorch
Stars: ✭ 748 (+533.9%)
Mutual labels:  jupyter-notebook, reinforcement-learning, deep-reinforcement-learning, actor-critic
Pytorch Rl
Deep Reinforcement Learning with pytorch & visdom
Stars: ✭ 745 (+531.36%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, actor-critic, a3c
Hierarchical Actor Critic Hac Pytorch
PyTorch implementation of Hierarchical Actor Critic (HAC) for OpenAI gym environments
Stars: ✭ 116 (-1.69%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, openai-gym, actor-critic
Slm Lab
Modular Deep Reinforcement Learning framework in PyTorch. Companion library of the book "Foundations of Deep Reinforcement Learning".
Stars: ✭ 904 (+666.1%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, a3c
Basic reinforcement learning
An introductory series to Reinforcement Learning (RL) with comprehensive step-by-step tutorials.
Stars: ✭ 826 (+600%)
Mutual labels:  jupyter-notebook, reinforcement-learning, openai-gym
Rl algos
Reinforcement Learning Algorithms
Stars: ✭ 14 (-88.14%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, actor-critic
Rlcard
Reinforcement Learning / AI Bots in Card (Poker) Games - Blackjack, Leduc, Texas, DouDizhu, Mahjong, UNO.
Stars: ✭ 980 (+730.51%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, openai-gym
Easy Rl
强化学习中文教程,在线阅读地址:https://datawhalechina.github.io/easy-rl/
Stars: ✭ 3,004 (+2445.76%)
Mutual labels:  reinforcement-learning, deep-reinforcement-learning, a3c

Reinforcement Learning implementation of LSTM with Asynchronous Advantage Actor Critic Algorithm

Using Pytorch on OpenAI Atari Games

Using OpenAi Gym and Universe. 
LSTM(Long Short Term Memory) with Pytorch
Implementation of Google Deepmind's Asynchronous Advantage Actor-Critic (A3C)

Ipython/Jupyter Notebook

Environment provided by OpenAI Gym and Universe

Inputs are changed in the Jupyter Notebook

A3C LSTM playing SpaceInvadersDeterministic-v3 A3C LSTM playing Breakout-v0

Asynchronous Advantage Actor-Critic (A3C) Reinforcement Learning Implementation

Long Short Term Recurrent Neural Network with Pytorch

An algorithm from Google Deep Mind's paper "Asynchronous Methods for Deep Reinforcement Learning."
https://arxiv.org/pdf/1602.01783.pdf

Using Google DeepMind's Algorithm.

Asynchronous Advantage Actor-Critic (A3C)

A3C LSTM playing Seaquest-v0 A3C LSTM playing BeamRider-v0

Description

The A3C algorithm was released by Google’s DeepMind group earlier this year, and it made a splash by essentially obsoleting DQN. It was faster, simpler, more robust, and able to achieve much better scores on the standard battery of Deep RL tasks. On top of all that it could work in continuous as well as discrete action spaces. Given this, it has become the go-to Deep RL algorithm for new challenging problems with complex state and action spaces

Medium Article explaining A3c reinforcement learning
A3C LSTM playing MsPacman-v0

The Actor-Critic Structure

Many workers training and learning concurrently, and then updates global network with gradients

Process Flow

Long Short Term Memory Recurrent Neural Nets

Implemented using Pytorch

Understanding LSTM Post

Trained models

Trained models are generated when you run through a full training episode for the sim. Continous running will update the model with new training. The L(Load) parameter is set to false in the demo, When you have trained data where it can pick up from, then set it to true.

In gym atari the agents randomly repeat the previous action with probability 0.25 and there is time/step limit that limits performance. You can adjust these parameters.

Optimizers and Shared optimizers/statistics

RMSProp

RMSprop is an unpublished, adaptive learning rate method proposed by Geoff Hinton in Lecture 6e of his Coursera Class.

RMSprop and Adadelta have both been developed independently around the same time stemming from the need to resolve Adagrad's radically diminishing learning rates. RMSprop in fact is identical to the first update vector of Adadelta

RMSprop as well divides the learning rate by an exponentially decaying average of squared gradients. Hinton suggests γ to be set to 0.9, while a good default value for the learning rate η is 0.001.

Adaptive Moment Estimation (Adam) , Both Shared and non shared available for Adam

is another method that computes adaptive learning rates for each parameter. In addition to storing an exponentially decaying average of past squared gradients vt like Adadelta and RMSprop, Adam also keeps an exponentially decaying average of past gradients mt, similar to momentum:

Adam (short for Adaptive Moment Estimation) is an update to the RMSProp optimizer. In this optimization algorithm, running averages of both the gradients and the second moments of the gradients are used.

Training

It is important to limit number of worker threads to number of cpu cores available in your com. If you use more than one worker thread than the amount of cpu cores, it will result in poor performance and inefficiency.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].