Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brando90/d1795ecc04cbf5dfc4bdc8904b5ffd5f to your computer and use it in GitHub Desktop.
Save brando90/d1795ecc04cbf5dfc4bdc8904b5ffd5f to your computer and use it in GitHub Desktop.
Solution to the Cartpole problem with policy gradients published on Medium
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Implementing Policy Gradients on CartPole with PyTorch"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import gym\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from tqdm import tqdm, trange\n",
"import pandas as pd\n",
"import torch\n",
"import torch.nn as nn\n",
"import torch.optim as optim\n",
"import torch.nn.functional as F\n",
"from torch.autograd import Variable\n",
"from torch.distributions import Categorical\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[33mWARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.\u001b[0m\n"
]
}
],
"source": [
"env = gym.make('CartPole-v1')\n",
"env.seed(1); torch.manual_seed(1);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Policy Gradients\n",
"A policy gradient attempts to train an agent without explicitly mapping the value for every state-action pair in an environment by taking small steps and updating the policy based on the reward associated with that step. The agent can receive a reward immediately for an action or the agent can receive the award at a later time such as the end of the episode. \n",
"We’ll designate the policy function our agent is trying to learn as $\\pi_\\theta(a,s)$, where $\\theta$ is the parameter vector, $s$ is a particular state, and $a$ is an action.\n",
"\n",
"We'll apply a technique called Monte-Carlo Policy Gradient which means we will have the agent run through an entire episode and then update our policy based on the rewards obtained."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Model Construction\n",
"### Create Neural Network Model\n",
"We will use a simple feed forward neural network with one hidden layer of 128 neurons and a dropout of 0.6. We'll use Adam as our optimizer and a learning rate of 0.01. Using dropout will significantly improve the performance of our policy. I encourage you to compare results with and without dropout and experiment with other hyper-parameter values."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"#Hyperparameters\n",
"learning_rate = 0.01\n",
"gamma = 0.99"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"class Policy(nn.Module):\n",
" def __init__(self):\n",
" super(Policy, self).__init__()\n",
" self.state_space = env.observation_space.shape[0]\n",
" self.action_space = env.action_space.n\n",
" \n",
" self.l1 = nn.Linear(self.state_space, 128, bias=False)\n",
" self.l2 = nn.Linear(128, self.action_space, bias=False)\n",
" \n",
" self.gamma = gamma\n",
" \n",
" # Episode policy and reward history \n",
" self.policy_history = Variable(torch.Tensor()) \n",
" self.reward_episode = []\n",
" # Overall reward and loss history\n",
" self.reward_history = []\n",
" self.loss_history = []\n",
"\n",
" def forward(self, x): \n",
" model = torch.nn.Sequential(\n",
" self.l1,\n",
" nn.Dropout(p=0.6),\n",
" nn.ReLU(),\n",
" self.l2,\n",
" nn.Softmax(dim=-1)\n",
" )\n",
" return model(x)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"policy = Policy()\n",
"optimizer = optim.Adam(policy.parameters(), lr=learning_rate)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Select Action\n",
"The select_action function chooses an action based on our policy probability distribution using the PyTorch distributions package. Our policy returns a probability for each possible action in our action space (move left or move right) as an array of length two such as [0.7, 0.3]. We then choose an action based on these probabilities, record our history, and return our action. "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def select_action(state):\n",
" #Select an action (0 or 1) by running policy model and choosing based on the probabilities in state\n",
" state = torch.from_numpy(state).type(torch.FloatTensor)\n",
" state = policy(Variable(state))\n",
" c = Categorical(state)\n",
" action = c.sample()\n",
" \n",
" # Add log probability of our chosen action to our history \n",
" if policy.policy_history.dim() != 0:\n",
" policy.policy_history = torch.cat([policy.policy_history, c.log_prob(action)])\n",
" else:\n",
" policy.policy_history = (c.log_prob(action))\n",
" return action"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Reward $v_t$\n",
"We update our policy by taking a sample of the action value function $Q^{\\pi_\\theta} (s_t,a_t)$ by playing through episodes of the game. $Q^{\\pi_\\theta} (s_t,a_t)$ is defined as the expected return by taking action $a$ in state $s$ following policy $\\pi$.\n",
"\n",
"We know that for every step the simulation continues we receive a reward of 1. We can use this to calculate the policy gradient at each time step, where $r$ is the reward for a particular state-action pair. Rather than using the instantaneous reward, $r$, we instead use a long term reward $ v_{t} $ where $v_t$ is the discounted sum of all future rewards for the length of the episode. In this way, the **longer** the episode runs into the future, the **greater** the reward for a particular state-action pair in the present. $v_{t}$ is then,\n",
"\n",
"$$ v_{t} = \\sum_{k=0}^{N} \\gamma^{k}r_{t+k} $$\n",
"\n",
"where $\\gamma$ is the discount factor (0.99). For example, if an episode lasts 5 steps, the reward for each step will be [4.90, 3.94, 2.97, 1.99, 1].\n",
"Next we scale our reward vector by substracting the mean from each element and scaling to unit variance by dividing by the standard deviation. This practice is common for machine learning applications and the same operation as Scikit Learn's __[StandardScaler](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html)__. It also has the effect of compensating for future uncertainty.\n",
"\n",
"## Update Policy\n",
"After each episode we apply Monte-Carlo Policy Gradient to improve our policy according to the equation:\n",
"\n",
"$$\\Delta\\theta_t = \\alpha\\nabla_\\theta \\, \\log \\pi_\\theta (s_t,a_t)v_t $$\n",
"\n",
"We will then feed our policy history multiplied by our rewards to our optimizer and update the weights of our neural network using stochastic gradent *ascent*. This should increase the likelihood of actions that got our agent a larger reward.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def update_policy():\n",
" R = 0\n",
" rewards = []\n",
" \n",
" # Discount future rewards back to the present using gamma\n",
" for r in policy.reward_episode[::-1]:\n",
" R = r + policy.gamma * R\n",
" rewards.insert(0,R)\n",
" \n",
" # Scale rewards\n",
" rewards = torch.FloatTensor(rewards)\n",
" rewards = (rewards - rewards.mean()) / (rewards.std() + np.finfo(np.float32).eps)\n",
" \n",
" # Calculate loss\n",
" loss = (torch.sum(torch.mul(policy.policy_history, Variable(rewards)).mul(-1), -1))\n",
" \n",
" # Update network weights\n",
" optimizer.zero_grad()\n",
" loss.backward()\n",
" optimizer.step()\n",
" \n",
" #Save and intialize episode history counters\n",
" policy.loss_history.append(loss.data[0])\n",
" policy.reward_history.append(np.sum(policy.reward_episode))\n",
" policy.policy_history = Variable(torch.Tensor())\n",
" policy.reward_episode= []"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Training\n",
"This is our main policy training loop. For each step in a training episode, we choose an action, take a step through the environment, and record the resulting new state and reward. We call update_policy() at the end of each episode to feed the episode history to our neural network and improve our policy."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def main(episodes):\n",
" running_reward = 10\n",
" for episode in range(episodes):\n",
" state = env.reset() # Reset environment and record the starting state\n",
" done = False \n",
" \n",
" for time in range(1000):\n",
" action = select_action(state)\n",
" # Step through environment using chosen action\n",
" state, reward, done, _ = env.step(action.data[0])\n",
"\n",
" # Save reward\n",
" policy.reward_episode.append(reward)\n",
" if done:\n",
" break\n",
" \n",
" # Used to determine when the environment is solved.\n",
" running_reward = (running_reward * 0.99) + (time * 0.01)\n",
"\n",
" update_policy()\n",
"\n",
" if episode % 50 == 0:\n",
" print('Episode {}\\tLast length: {:5d}\\tAverage length: {:.2f}'.format(episode, time, running_reward))\n",
"\n",
" if running_reward > env.spec.reward_threshold:\n",
" print(\"Solved! Running reward is now {} and the last episode runs to {} time steps!\".format(running_reward, time))\n",
" break\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Run Model"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Episode 0\tLast length: 8\tAverage length: 9.98\n",
"Episode 50\tLast length: 80\tAverage length: 18.82\n",
"Episode 100\tLast length: 215\tAverage length: 47.54\n",
"Episode 150\tLast length: 433\tAverage length: 145.24\n",
"Episode 200\tLast length: 499\tAverage length: 233.92\n",
"Episode 250\tLast length: 499\tAverage length: 332.90\n",
"Episode 300\tLast length: 499\tAverage length: 383.54\n",
"Episode 350\tLast length: 499\tAverage length: 412.94\n",
"Episode 400\tLast length: 499\tAverage length: 446.52\n",
"Episode 450\tLast length: 227\tAverage length: 462.03\n",
"Episode 500\tLast length: 499\tAverage length: 453.68\n",
"Episode 550\tLast length: 499\tAverage length: 468.94\n",
"Solved! Running reward is now 475.15748930299014 and the last episode runs to 499 time steps!\n"
]
}
],
"source": [
"episodes = 1000\n",
"main(episodes)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our policy solves the environment prior to reaching 600 episodes."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plot Results"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fbf542f4320>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"window = int(episodes/20)\n",
"\n",
"fig, ((ax1), (ax2)) = plt.subplots(2, 1, sharey=True, figsize=[9,9]);\n",
"rolling_mean = pd.Series(policy.reward_history).rolling(window).mean()\n",
"std = pd.Series(policy.reward_history).rolling(window).std()\n",
"ax1.plot(rolling_mean)\n",
"ax1.fill_between(range(len(policy.reward_history)),rolling_mean-std, rolling_mean+std, color='orange', alpha=0.2)\n",
"ax1.set_title('Episode Length Moving Average ({}-episode window)'.format(window))\n",
"ax1.set_xlabel('Episode'); ax1.set_ylabel('Episode Length')\n",
"\n",
"ax2.plot(policy.reward_history)\n",
"ax2.set_title('Episode Length')\n",
"ax2.set_xlabel('Episode'); ax2.set_ylabel('Episode Length')\n",
"\n",
"fig.tight_layout(pad=2)\n",
"plt.show()\n",
"#fig.savefig('results.png')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment