Skip to content

implementation of reinforcement learning algorithm that is easy to read and understand

Notifications You must be signed in to change notification settings

Git-123-Hub/reinforcement-learning-algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reinforcement-learning-algorithm

  • object oriented: all of the rl agents using the same framework(base class Agent), makes it easy to read and understand
  • perfect reproduction: training result would be exactly the same under the same random seed

algorithm implemented and corresponding paper

online result

training result of the agent trying to solve a problem from a scratch

CartPole-v1

CartPole-v1

MountainCar-v0

the original environment is hard to converge,
so I modify the reward to solve this problem and get the result below

MountainCar-v0

LunarLander-v2

LunarLander-v2

Acrobot-v1

Acrobot-v1

Pendulum-v0

Note that there is no goal for Pendulum-v0, but as you can see in the result, the agent did learn something

Pendulum-v0

HalfCheetah-v3

HalfCheetah-v3

offline result

online training is not always stable
sometimes the agent gets a high reward(or running reward)
then its performance would decline rapidly.
so I choose some policy during the training to test the agent's performance

CartPole-v1

CartPole-v1 CartPole-v1-visualize

MountainCar-v0

though training on a modified environment,
I still use the original one to test the policy,
thus illustrate the result the learning

MountainCar-v0 MountainCar-v0-visualize

LunarLander-v2

LunarLander-v2 LunarLander-v2-visualize

Acrobot-v1

Acrobot-v1 Acrobot-v1-visualize

Pendulum-v0

Pendulum-v0-visualize

HalfCheetah-v3

HalfCheetah-v3 HalfCheetah-v3-visualize

inspired by