reinforcement-learningFoundations of RL

Foundations of Reinforcement Learning

Background
  • Sutton & Barto (1988, 2018) formalized RL as the study of agents maximizing cumulative reward through environment interaction
  • Q-learning (Watkins, 1989) and policy gradient methods (Williams, 1992) are the two algorithmic families
  • DQN (Mnih et al. 2015) combined Q-learning with deep networks, beating humans at Atari games
The Concept

Reinforcement learning trains an agent by having it take actions in an environment, receive rewards, and update a policy (action selection strategy) to maximize long-term cumulative reward. Unlike supervised learning, there are no labeled examples - only scalar reward signals that may be delayed.

How it Links
  • Markov Decision Processes (MDPs) are the mathematical framework for RL problems
  • RLHF (Reinforcement Learning from Human Feedback) uses RL to align LLMs - making RL central to ChatGPT and Claude
  • Connects to control theory, game theory, and dynamic programming (Bellman equations)
Concrete Example
Training a robot arm to grasp objects: the robot tries grasps, receives +1 for successful grasps and 0 for failures. Over millions of attempts, its policy converges to motion sequences that reliably orient and close the gripper on the object. No human labels needed - just the success/failure signal.
Learning outcomes
  • Formalize a sequential decision problem as a Markov decision process $(\mathcal{S}, \mathcal{A}, P, R, \gamma)$ and write the Bellman expectation and optimality equations for $V^\pi$, $Q^\pi$, $V^*$, and $Q^*$.
  • Prove that the Bellman optimality operator is a $\gamma$-contraction in the sup norm and conclude that value iteration converges geometrically to the unique fixed point $V^*$.
  • Distinguish dynamic programming, Monte Carlo, and temporal-difference targets, and explain why TD with bootstrapping plus function approximation plus off-policy data is the deadly triad behind tabular-to-deep instability.
  • Derive the policy gradient theorem $\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}[\nabla_\theta \log \pi_\theta(a \mid s)\, Q^{\pi_\theta}(s, a)]$ from the discounted-return objective.
  • Explain why PPO clips the importance ratio $\rho_t = \pi_\theta(a_t \mid s_t) / \pi_{\theta_\mathrm{old}}(a_t \mid s_t)$ and how the clip implements a coarse trust region without TRPO-style second-order solves.

TL;DR

TL;DR

Reinforcement learning treats decision making as an MDP and asks for a policy that maximizes expected discounted return [1]. Tabular methods (dynamic programming, Monte Carlo, SARSA, Q-learning) work when states fit in a table; once they do not, function approximation breaks the convergence proofs and the deadly triad (bootstrapping + function approximation + off-policy data) becomes a real engineering problem. DQN [2] tames the triad with a replay buffer and a slowly-updated target network; Double DQN [3], Dueling DQN [4], and Rainbow [5] sand off the remaining failure modes. Policy-gradient methods optimize J(θ)=E[∑tγtrt]J(\theta) = \mathbb{E}[\sum_t \gamma^t r_t] by following ∇θJ=E[∇log⁡πθ Qπ]\nabla_\theta J = \mathbb{E}[\nabla \log \pi_\theta\, Q^\pi] [6]; TRPO [7] bounds the per-step KL with a trust region, and PPO [8] implements that trust region with a clipped importance ratio. SAC [10] and TD3 [12] dominate continuous control off-policy; AlphaZero [13] and MuZero [14] show what model-based RL with deep tree search can do at scale. The same machinery (PPO with a KL penalty against a frozen reference) is what RLHF [15] later borrows to align language models.

Intuition

Supervised learning gets a label for every input. Reinforcement learning gets a scalar reward that arrives several decisions later, and the agent must figure out which of those decisions were responsible. The agent observes a state sts_t, picks an action ata_t, the environment returns a next state st+1s_{t+1} and a reward rtr_t, and the loop continues. The agent never sees the optimal action; it only sees the consequences of the action it tried. Two problems make this hard. First, credit assignment: a reward at step TT depends on every action between 00 and TT. Second, exploration vs exploitation: to learn what is good, the agent must sometimes try things it suspects are bad.

The framing that makes the math tractable is the Markov decision process. Pretend the world is memoryless: the next state and reward depend only on the current state and the chosen action, not on the history. Define a discount factor γ∈[0,1)\gamma \in [0, 1) so that distant rewards count for less, and an objective J=E ⁣[∑t=0∞γtrt]J = \mathbb{E}\!\left[\sum_{t=0}^{\infty} \gamma^t r_t\right]. The Bellman equations relate the value of a state to the values of its successors and turn the infinite-horizon planning problem into a fixed-point equation.

RL in one sentence

A policy maps states to actions; a value function tells you what each state (or state-action pair) is worth under that policy; the Bellman equations connect the two, and every algorithm in this chapter is a way to estimate or improve them when the state space is too big to enumerate.

  1. 1957Bellman: dynamic programmingfoundation

    Richard Bellman names the framework, writes the recursion V(s) = max_a [R(s,a) + gamma * E[V(s prime)]], and gives value iteration as the canonical solver. The whole field is downstream of this equation.

  2. 1989Watkins: Q-learningpaper

    Q-learning is the off-policy temporal-difference rule that converges to Q* under mild conditions even when the behavior policy differs from the greedy one. Becomes the workhorse of tabular RL.

  3. 1992Williams: REINFORCEpaper

    The first usable Monte Carlo policy-gradient estimator: nabla J = E[nabla log pi(a|s) * G_t]. Unbiased, high variance, and the ancestor of every modern policy-gradient method.

  4. 2013DQN (Atari from pixels)paper

    DeepMind shows a single Q-network with experience replay and a target network learns 49 Atari games end-to-end from raw pixels at human-level performance on most of them.

  5. 2015TRPOpaper

    Schulman et al. constrain each policy-gradient step to stay within a KL-divergence trust region, eliminating the catastrophic step problem of vanilla policy gradient.

  6. 2016AlphaGo defeats Lee Sedolmilestone

    Policy + value networks plus Monte Carlo tree search beat a 9-dan professional 4-1. Demonstrates that deep RL plus search can solve a problem widely believed to be a decade away.

  7. 2017PPOpaper

    A first-order, clipped-ratio surrogate that approximates the TRPO trust region with no Hessian-vector products. Becomes the default policy-gradient algorithm in practice.

  8. 2017AlphaGo Zeromilestone

    Same architecture as AlphaGo, trained purely from self-play with no human games. Surpasses every prior version of AlphaGo within 40 days.

  9. 2018SACpaper

    Soft Actor-Critic adds a maximum-entropy bonus to the standard actor-critic objective. Strong sample efficiency and stability on continuous-control benchmarks; widely deployed in robotics.

  10. 2019MuZeropaper

    Model-based RL where the model is learned end-to-end with the value and policy heads, with no ground-truth simulator. Matches AlphaZero on board games and DQN on Atari with no environment model handed in.

Markov decision processes and the Bellman equations

A finite-horizon Markov decision process is a tuple (S,A,P,R,γ)(\mathcal{S}, \mathcal{A}, P, R, \gamma) where S\mathcal{S} is the state set, A\mathcal{A} is the action set, P(s′∣s,a)P(s' \mid s, a) is the transition kernel, R(s,a)R(s, a) is the (expected) reward, and γ∈[0,1)\gamma \in [0, 1) is the discount factor. A policy π(a∣s)\pi(a \mid s) is a (possibly stochastic) mapping from states to actions. The infinite-horizon discounted return from time tt is

Gt=∑k=0∞γk rt+k,G_t = \sum_{k = 0}^{\infty} \gamma^k\, r_{t + k},

and the agent maximizes J(π)=Eπ[G0]J(\pi) = \mathbb{E}_\pi[G_0] over policies. Because γ<1\gamma < 1 and rewards are bounded, GtG_t is always finite.

Two value functions encode “how good is it to be here”. The state-value function is

Vπ(s)=Eπ ⁣[Gt∣st=s],V^\pi(s) = \mathbb{E}_\pi\!\left[G_t \mid s_t = s\right],

and the action-value function is

Qπ(s,a)=Eπ ⁣[Gt∣st=s, at=a].Q^\pi(s, a) = \mathbb{E}_\pi\!\left[G_t \mid s_t = s,\, a_t = a\right].

By conditioning on the next state and reward and using the Markov property, both satisfy a one-step recurrence (the Bellman expectation equation):

Vπ(s)=∑aπ(a∣s) ⁣[R(s,a)+γ∑s′P(s′∣s,a) Vπ(s′)].V^\pi(s) = \sum_a \pi(a \mid s)\!\left[R(s, a) + \gamma \sum_{s'} P(s' \mid s, a)\, V^\pi(s')\right].

The optimal value functions are V∗(s)=max⁡πVπ(s)V^*(s) = \max_\pi V^\pi(s) and Q∗(s,a)=max⁡πQπ(s,a)Q^*(s, a) = \max_\pi Q^\pi(s, a), and they satisfy the Bellman optimality equation:

V∗(s)=max⁡a ⁣[R(s,a)+γ∑s′P(s′∣s,a) V∗(s′)],Q∗(s,a)=R(s,a)+γ∑s′P(s′∣s,a) max⁡a′Q∗(s′,a′).V^*(s) = \max_a\!\left[R(s, a) + \gamma \sum_{s'} P(s' \mid s, a)\, V^*(s')\right], \qquad Q^*(s, a) = R(s, a) + \gamma \sum_{s'} P(s' \mid s, a)\, \max_{a'} Q^*(s', a').

Once Q∗Q^* is known, the optimal policy is the deterministic greedy policy π∗(s)=arg⁡max⁡aQ∗(s,a)\pi^*(s) = \arg\max_a Q^*(s, a).

Bellman optimality and the contraction proof

The Bellman optimality equation looks like a definition; it is in fact a fixed-point equation for an operator on the space of value functions. Define the Bellman optimality operator T∗:R∣S∣→R∣S∣T^*: \mathbb{R}^{|\mathcal{S}|} \to \mathbb{R}^{|\mathcal{S}|} by

(T∗V)(s)=max⁡a ⁣[R(s,a)+γ∑s′P(s′∣s,a) V(s′)].(T^* V)(s) = \max_a\!\left[R(s, a) + \gamma \sum_{s'} P(s' \mid s, a)\, V(s')\right].

The claim is that V∗V^* is the unique fixed point of T∗T^*, and value iteration Vk+1=T∗VkV_{k+1} = T^* V_k converges to it from any starting point at rate γ\gamma.

Step 1: T∗T^* is a contraction in the sup norm. Take any two value functions V,U∈R∣S∣V, U \in \mathbb{R}^{|\mathcal{S}|} and any state ss. Pick a∗a^* to be the maximizer in T∗VT^* V at ss. Then

(T∗V)(s)−(T∗U)(s)≤[R(s,a∗)+γ∑s′P(s′∣s,a∗) V(s′)]−[R(s,a∗)+γ∑s′P(s′∣s,a∗) U(s′)](T^* V)(s) - (T^* U)(s) \le \left[R(s, a^*) + \gamma \sum_{s'} P(s' \mid s, a^*)\, V(s')\right] - \left[R(s, a^*) + \gamma \sum_{s'} P(s' \mid s, a^*)\, U(s')\right]

because using the same a∗a^* in T∗UT^* U gives a lower bound on the max. The reward terms cancel, leaving

(T∗V)(s)−(T∗U)(s)≤γ∑s′P(s′∣s,a∗) [V(s′)−U(s′)]≤γ ∥V−U∥∞,(T^* V)(s) - (T^* U)(s) \le \gamma \sum_{s'} P(s' \mid s, a^*)\, [V(s') - U(s')] \le \gamma\, \|V - U\|_\infty,

since the absolute value of the inner sum is bounded by ∥V−U∥∞\|V - U\|_\infty (the transition probabilities sum to one). The same argument with the roles of VV and UU swapped gives the matching lower bound, so

∥T∗V−T∗U∥∞≤γ∥V−U∥∞.\| T^* V - T^* U \|_\infty \le \gamma \|V - U\|_\infty.

Step 2: existence and uniqueness via Banach. R∣S∣\mathbb{R}^{|\mathcal{S}|} with the sup norm is complete, and T∗T^* is a γ\gamma-contraction with γ<1\gamma < 1, so the Banach fixed-point theorem gives a unique fixed point V∗=T∗V∗V^* = T^* V^* and Vk=(T∗)kV0→V∗V_k = (T^*)^k V_0 \to V^* for any V0V_0, with

∥Vk−V∗∥∞≤γk ∥V0−V∗∥∞.\| V_k - V^* \|_\infty \le \gamma^k\, \| V_0 - V^* \|_\infty.

Convergence is geometric. Picking γ\gamma close to 11 makes the contraction weak and the iteration slow, which is the discount-factor trade-off in practice.

Step 3: identifying the fixed point with the optimal value. A separate argument (policy improvement) shows that V∗V^* as defined above (the supremum over policies of VπV^\pi) satisfies the Bellman optimality equation, so it is a fixed point. Uniqueness then forces V∗=V^* = the fixed point of T∗T^*. The greedy policy π∗(s)=arg⁡max⁡a[R(s,a)+γ∑s′P(s′∣s,a) V∗(s′)]\pi^*(s) = \arg\max_a [R(s, a) + \gamma \sum_{s'} P(s' \mid s, a)\, V^*(s')] is optimal.

What the proof buys you. Value iteration is the canonical tabular planning algorithm because the contraction proof guarantees convergence at a known rate. Policy iteration converges in finitely many steps for finite MDPs, with each step a contraction in the same sense. Asynchronous, prioritized, and sample-based variants (TD, Q-learning) inherit the proof structure as long as every state is updated infinitely often [1].

Tabular methods: DP, MC, TD, SARSA, Q-learning

When ∣S∣|\mathcal{S}| is small enough to fit in a table and P,RP, R are known, dynamic programming solves the MDP exactly. Value iteration repeats V←T∗VV \leftarrow T^* V until convergence; policy iteration alternates evaluation (VπV^\pi from the linear Bellman expectation system) and improvement (π(s)←arg⁡max⁡a[R(s,a)+γ EVπ(s′)]\pi(s) \leftarrow \arg\max_a [R(s, a) + \gamma\, \mathbb{E} V^\pi(s')]). Both are off-policy in the sense that the agent never has to interact with the environment; the model is given.

DP fails the moment the model is unknown or the state space is too large. The next two ideas relax those assumptions.

Monte Carlo (MC) methods estimate VπV^\pi from sampled returns. Run a full episode under π\pi, accumulate the actual discounted return GtG_t, and update V(st)←V(st)+α [Gt−V(st)]V(s_t) \leftarrow V(s_t) + \alpha\, [G_t - V(s_t)]. MC is unbiased (the target GtG_t is the true return) but high-variance and only updates at the end of an episode, so it is wasteful in long-horizon problems.

Temporal-difference (TD) methods sit between DP and MC. Instead of waiting for GtG_t, bootstrap from the current value estimate at the next step:

V(st)←V(st)+α [rt+γ V(st+1)−V(st)].V(s_t) \leftarrow V(s_t) + \alpha\, [r_t + \gamma\, V(s_{t+1}) - V(s_t)].

The bracketed term is the TD error δt=rt+γ V(st+1)−V(st)\delta_t = r_t + \gamma\, V(s_{t+1}) - V(s_t). TD updates every step, which is why it dominates MC in practice; the cost is bias from bootstrapping off an inexact VV.

For control (estimating Q∗Q^* rather than VπV^\pi), the same TD idea splits into two flavors that differ only in how they pick the next-step action used in the bootstrap. SARSA uses the action the agent actually took:

Q(st,at)←Q(st,at)+α [rt+γ Q(st+1,at+1)−Q(st,at)],Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha\, [r_t + \gamma\, Q(s_{t+1}, a_{t+1}) - Q(s_t, a_t)],

so it learns the value of the behavior policy. Q-learning uses the greedy action:

Q(st,at)←Q(st,at)+α [rt+γ max⁡a′Q(st+1,a′)−Q(st,at)],Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha\, [r_t + \gamma\, \max_{a'} Q(s_{t+1}, a') - Q(s_t, a_t)],

so it learns Q∗Q^* even when the data is collected by an exploratory policy. SARSA is on-policy; Q-learning is off-policy. Under tabular conditions and a Robbins-Monro learning-rate schedule, both converge to the right fixed point.

The deadly triad

Three things are individually fine, but all three together break tabular convergence guarantees and almost always destabilize training:

  1. Bootstrapping (TD targets that depend on the current estimate),
  2. Function approximation (a neural net, not a table), and
  3. Off-policy data (the data was generated under a policy other than the one being evaluated).

Sutton and Barto call this combination the deadly triad [1]. Every successful deep-RL algorithm pays its tax to one of the three: DQN keeps the bootstrap and the function approximator and tames off-policy data with a replay buffer plus a slow-moving target network; on-policy methods like A2C and PPO keep bootstrapping and approximation and avoid the off-policy axis by discarding data after a single update; offline-RL methods (CQL, IQL) keep all three and add explicit pessimism.

DQN: deep Q-learning

Once the state is a 84×84×484 \times 84 \times 4 stack of game-frames there is no table. Mnih et al. [2] replaced the Q-table with a convolutional network Qθ(s,a)Q_\theta(s, a) and trained it by minimizing the mean-squared TD error on a replay buffer of past transitions, with a target network Qθ−Q_{\theta^-} whose weights lag QθQ_\theta by thousands of steps:

L(θ)=E(s,a,r,s′)∼D ⁣[(r+γ max⁡a′Qθ−(s′,a′)−Qθ(s,a))2].\mathcal{L}(\theta) = \mathbb{E}_{(s, a, r, s') \sim \mathcal{D}}\!\left[\bigl(r + \gamma\, \max_{a'} Q_{\theta^-}(s', a') - Q_\theta(s, a)\bigr)^2\right].

The replay buffer breaks temporal correlations: consecutive game frames are highly correlated and would make minibatch SGD biased; sampling a random minibatch from a million-transition buffer recovers an approximately i.i.d. estimate. The target network breaks the moving-target problem: if both sides of the TD error used θ\theta, every gradient step would shift the target as well as the estimate, and the value would chase its own tail. Freezing θ−\theta^- for CC steps (typically 1000010000) and then copying θ−←θ\theta^- \leftarrow \theta stabilizes training to roughly the same degree the target network is “stale” relative to θ\theta.

Three follow-ups cleaned up DQN’s known failure modes. Double DQN [3] noticed that the same network is used to both pick the action and evaluate it inside max⁡a′Qθ−(s′,a′)\max_{a'} Q_{\theta^-}(s', a'), which biases the bootstrap upward (the Q-overestimation bug). The fix decouples them: pick the action with the online network, evaluate it with the target network. Dueling DQN [4] splits QθQ_\theta into a state-value head V(s)V(s) and an advantage head A(s,a)A(s, a) with Q(s,a)=V(s)+A(s,a)−meana′A(s,a′)Q(s, a) = V(s) + A(s, a) - \mathrm{mean}_{a'} A(s, a'), which decouples “is this state any good” from “which action is best here” and learns faster on states where actions are nearly tied. Rainbow [5] stacks Double DQN, Dueling DQN, prioritized replay, multi-step returns, distributional RL, and noisy nets, and shows that all six together beat any subset on the Atari-57 benchmark.

Policy gradients

DQN learns a value function and reads a policy off it. The other half of the field optimizes the policy directly. Parameterize πθ(a∣s)\pi_\theta(a \mid s) as a neural net (a softmax for discrete actions, a Gaussian for continuous ones) and follow the gradient of the expected return J(θ)=Eτ∼πθ[∑tγtrt]J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta}[\sum_t \gamma^t r_t].

The policy gradient theorem

Let τ=(s0,a0,r0,s1,a1,r1,…)\tau = (s_0, a_0, r_0, s_1, a_1, r_1, \ldots) be a trajectory under πθ\pi_\theta, and let G(τ)=∑tγtrtG(\tau) = \sum_t \gamma^t r_t. The objective is J(θ)=Eτ∼pθ(τ)[G(τ)]J(\theta) = \mathbb{E}_{\tau \sim p_\theta(\tau)}[G(\tau)] where pθ(τ)=ρ0(s0)∏tπθ(at∣st) P(st+1∣st,at)p_\theta(\tau) = \rho_0(s_0) \prod_t \pi_\theta(a_t \mid s_t)\, P(s_{t+1} \mid s_t, a_t).

Step 1: log-derivative trick. ∇θJ=∇θ∫pθ(τ) G(τ) dτ=∫∇θpθ(τ) G(τ) dτ\nabla_\theta J = \nabla_\theta \int p_\theta(\tau)\, G(\tau)\, d\tau = \int \nabla_\theta p_\theta(\tau)\, G(\tau)\, d\tau. Use the identity ∇θpθ=pθ ∇θlog⁡pθ\nabla_\theta p_\theta = p_\theta\, \nabla_\theta \log p_\theta:

∇θJ(θ)=Eτ∼πθ ⁣[∇θlog⁡pθ(τ) G(τ)].\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta}\!\left[\nabla_\theta \log p_\theta(\tau)\, G(\tau)\right].

Step 2: only the policy depends on θ\theta. log⁡pθ(τ)=log⁡ρ0(s0)+∑tlog⁡πθ(at∣st)+∑tlog⁡P(st+1∣st,at)\log p_\theta(\tau) = \log \rho_0(s_0) + \sum_t \log \pi_\theta(a_t \mid s_t) + \sum_t \log P(s_{t+1} \mid s_t, a_t). The initial-state and transition terms do not depend on θ\theta, so ∇θlog⁡pθ(τ)=∑t∇θlog⁡πθ(at∣st)\nabla_\theta \log p_\theta(\tau) = \sum_t \nabla_\theta \log \pi_\theta(a_t \mid s_t). The transition model has dropped out, which is why policy-gradient methods are model-free.

Step 3: per-step credit assignment. Plugging back in,

∇θJ(θ)=Eπθ ⁣[∑t∇θlog⁡πθ(at∣st) G(τ)].\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\!\left[\sum_t \nabla_\theta \log \pi_\theta(a_t \mid s_t)\, G(\tau)\right].

The full return G(τ)G(\tau) multiplies the gradient of every action, including actions that happened after rewards already received. Those past rewards contribute only noise to the gradient. The standard fix uses the reward-to-go Gt=∑k≥tγk−trkG_t = \sum_{k \ge t} \gamma^{k - t} r_k:

∇θJ(θ)=Eπθ ⁣[∑tγt ∇θlog⁡πθ(at∣st) Gt].\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\!\left[\sum_t \gamma^t\, \nabla_\theta \log \pi_\theta(a_t \mid s_t)\, G_t\right].

A short causality argument (the gradient of log⁡πθ(at∣st)\log \pi_\theta(a_t \mid s_t) has zero expectation when conditioned on sts_t) shows that replacing GtG_t with Gt−b(st)G_t - b(s_t) for any state-only baseline bb leaves the gradient unbiased but reduces its variance. The optimal-variance baseline is approximately Vπθ(st)V^{\pi_\theta}(s_t). Using the value baseline gives the advantage Aπ(s,a)=Qπ(s,a)−Vπ(s)A^{\pi}(s, a) = Q^\pi(s, a) - V^\pi(s) and the canonical form of the policy gradient theorem:

∇θJ(θ)=Eπθ ⁣[∇θlog⁡πθ(a∣s) Aπθ(s,a)].\boxed{\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\!\left[\nabla_\theta \log \pi_\theta(a \mid s)\, A^{\pi_\theta}(s, a)\right].}

REINFORCE [6] is the special case where AA is replaced by the Monte Carlo return GtG_t (or GtG_t minus a constant baseline). Actor-critic methods replace AA with a learned estimate A^t\hat A_t from a value-network critic. GAE [9] blends nn-step TD residuals via an exponentially-weighted sum to trade bias for variance smoothly.

The unbiasedness of the policy gradient is a real result; the practical issue is variance. A REINFORCE estimator on a single trajectory has variance proportional to the squared range of returns, which is enormous in any non-trivial environment. Three variance-reduction tools are routinely stacked on top of plain REINFORCE: a learned value baseline (turns return into advantage), bootstrapped TD targets (replace GtG_t with rt+γ V(st+1)r_t + \gamma\, V(s_{t+1})), and GAE A^tGAE(γ,λ)=∑k=0∞(γλ)k δt+k\hat A_t^{\mathrm{GAE}(\gamma, \lambda)} = \sum_{k = 0}^\infty (\gamma \lambda)^k\, \delta_{t+k} with λ∈[0,1]\lambda \in [0, 1] tuning the bias-variance trade-off.

Actor-critic, TRPO, and PPO

Actor-critic combines a parametric policy (“actor”, trained by policy gradient) with a parametric value function (“critic”, trained by TD). A2C is the synchronous, batched form: collect NN environment steps under πθold\pi_{\theta_\mathrm{old}}, fit the critic to bootstrapped returns, take one policy-gradient step on the actor, repeat. Vanilla A2C works when the steps are small; once they are too aggressive the on-policy assumption breaks and the run blows up.

TRPO [7] explicitly bounds the KL divergence between successive policies:

max⁡θ Eθold ⁣[πθ(a∣s)πθold(a∣s) Aθold(s,a)]subject toE ⁣[KL(πθold(⋅∣s) ∥ πθ(⋅∣s))]≤δ.\max_\theta\, \mathbb{E}_{\theta_\mathrm{old}}\!\left[\frac{\pi_\theta(a \mid s)}{\pi_{\theta_\mathrm{old}}(a \mid s)}\, A_{\theta_\mathrm{old}}(s, a)\right] \quad \text{subject to} \quad \mathbb{E}\!\left[\mathrm{KL}\bigl(\pi_{\theta_\mathrm{old}}(\cdot \mid s)\,\big\|\,\pi_\theta(\cdot \mid s)\bigr)\right] \le \delta.

The constraint defines a trust region inside which the linearized objective is reliable. Solving it requires a Hessian-vector product per iteration; TRPO works well but is fiddly to implement.

PPO clipped surrogate objective

PPO [8] replaces the hard KL constraint with a clipped surrogate that approximates the same trust region using only first-order information. Define the per-step probability ratio

ρt(θ)=πθ(at∣st)πθold(at∣st).\rho_t(\theta) = \frac{\pi_\theta(a_t \mid s_t)}{\pi_{\theta_\mathrm{old}}(a_t \mid s_t)}.

The unclipped surrogate E[ρt(θ) A^t]\mathbb{E}[\rho_t(\theta)\, \hat A_t] is the importance-weighted policy gradient and is unbiased only when ρt≈1\rho_t \approx 1. PPO objective:

LCLIP(θ)=Et ⁣[min⁡(ρt(θ) A^t, clip(ρt(θ), 1−ϵ, 1+ϵ) A^t)].\mathcal{L}^{\mathrm{CLIP}}(\theta) = \mathbb{E}_t\!\left[\min\Bigl(\rho_t(\theta)\, \hat A_t,\, \mathrm{clip}\bigl(\rho_t(\theta),\, 1 - \epsilon,\, 1 + \epsilon\bigr)\, \hat A_t\Bigr)\right].

The clip works as follows. Suppose A^t>0\hat A_t > 0 (this action was better than average). Increasing ρt\rho_t above 1+ϵ1 + \epsilon stops contributing to the objective: the clipped term clip(ρt,1−ϵ,1+ϵ)A^t=(1+ϵ) A^t\mathrm{clip}(\rho_t, 1 - \epsilon, 1 + \epsilon) \hat A_t = (1 + \epsilon)\, \hat A_t becomes constant in θ\theta, and the min⁡\min picks that flat term once it is below ρtA^t\rho_t \hat A_t. The gradient on that token zeros out. Symmetrically, when A^t<0\hat A_t < 0, decreasing ρt\rho_t below 1−ϵ1 - \epsilon stops contributing.

The effect is a first-order trust region: any update direction that pushes a token’s probability ratio outside [1−ϵ,1+ϵ][1 - \epsilon, 1 + \epsilon] in the rewarding direction stops generating gradient. The policy can still drift in the conservative direction, which is what makes the objective an underestimate (and therefore safe) of the true unclipped surrogate.

Tuning ϵ\epsilon. The standard value is ϵ=0.2\epsilon = 0.2, which corresponds to roughly a 20%20\% multiplicative change in any per-step probability before the clip kicks in. Smaller ϵ\epsilon (down to 0.10.1) is more conservative; larger ϵ\epsilon (above 0.30.3) breaks the trust-region intuition and training oscillates. Combining the clip with a value-function MSE loss and an entropy bonus is the standard PPO recipe:

LPPO(θ,ϕ)=Et ⁣[LCLIP(θ)−c1 (Vϕ(st)−R^t)2+c2 H[πθ(⋅∣st)]].\mathcal{L}^{\mathrm{PPO}}(\theta, \phi) = \mathbb{E}_t\!\left[\mathcal{L}^{\mathrm{CLIP}}(\theta) - c_1\,(V_\phi(s_t) - \hat R_t)^2 + c_2\, H[\pi_\theta(\cdot \mid s_t)]\right].

The entropy bonus encourages exploration; c1c_1 and c2c_2 are typically 0.50.5 and 0.010.01. PPO is the default policy-gradient algorithm in nearly every deep-RL benchmark from 2018 onward, including the policy-update stage of RLHF for language models [15].

Continuous control: DDPG, TD3, SAC

In continuous-action spaces, max⁡aQ(s,a)\max_a Q(s, a) is no longer a finite enumeration; you cannot scan the action set every step. DDPG [11] handles this with a deterministic actor μθ(s)\mu_\theta(s) trained by the chain rule through QϕQ_\phi: take the gradient of Qϕ(s,μθ(s))Q_\phi(s, \mu_\theta(s)) with respect to θ\theta. The critic is trained off-policy via a target network and replay, exactly as in DQN. DDPG is sample-efficient but notoriously unstable: the actor and critic can chase each other into Q-overestimation territory.

TD3 [12] patches the three known DDPG failure modes. Twin critics: maintain two Q-networks Qϕ1,Qϕ2Q_{\phi_1}, Q_{\phi_2} and use the minimum of the two in the bootstrap target, which combats overestimation just like Double DQN does in the discrete case. Delayed policy updates: update the actor every dd critic updates (typically d=2d = 2), which lets the critic catch up before the actor moves. Target-policy smoothing: add Gaussian noise to the target action μθ−(s′)+ϵ\mu_{\theta^-}(s') + \epsilon when computing the bootstrap, which regularizes the value estimate against narrow peaks. The combination is the standard off-policy continuous-control baseline.

SAC [10] takes a different angle: maximum-entropy RL. Augment the reward with the policy entropy:

J(π)=Eπ ⁣[∑tγt (rt+α H[π(⋅∣st)])].J(\pi) = \mathbb{E}_\pi\!\left[\sum_t \gamma^t\,\bigl(r_t + \alpha\, H[\pi(\cdot \mid s_t)]\bigr)\right].

The entropy bonus encourages the agent to keep its options open: among policies with the same expected return, prefer the one that hedges across actions. This makes exploration automatic (no separate ϵ\epsilon-greedy or noisy-net mechanism), produces robust policies that transfer better, and gives a soft Q-learning rule whose Bellman backup mixes the standard max⁡\max with a softmax weighted by entropy. SAC dominates TD3 on most MuJoCo benchmarks and is the default choice for robotics simulation and sim-to-real.

FamilyOn / off-policySample efficiencyContinuous actions?StabilityHallmark paper
Tabular DP / SARSA / Q-learningOn-policy (SARSA), off-policy (Q-learning)Excellent in tabular size; impossible at scaleDiscrete onlyProvably convergent in tabular settingSutton & Barto 2018 (textbook)
DQN family (DQN, Double, Dueling, Rainbow)Off-policy via replayHigh (every transition reused)Discrete onlyStable with target net + Double + DuelingMnih et al. 2015 (Nature)
Policy gradient (REINFORCE, A2C)On-policyLow (data discarded after one update)Yes (Gaussian policy)Variance-limited; needs baselineWilliams 1992
Trust-region (TRPO, PPO)On-policyLow to mediumYesHigh (KL or clip bounds the step)Schulman et al. 2017 (PPO)
Off-policy actor-critic (DDPG, TD3, SAC)Off-policy via replayHighYesHigh for TD3 / SAC; DDPG is fragileHaarnoja et al. 2018 (SAC)
StrategyMechanismBest fitPitfall
Epsilon-greedyWith probability epsilon pick a uniform random action; else greedyDiscrete actions, simple baselines, DQNWasteful in large action spaces; constant epsilon never anneals exploration away
UCB (upper-confidence bound)Pick a = argmax [Q(s,a) + c sqrt(log t / N(s,a))]Bandit and tabular MDPs with visit countsVisit counts do not generalize to neural-net features; pseudo-counts are needed for deep RL
Thompson samplingSample Q from a posterior, act greedily under the sampleBayesian bandits and contextual bandits in recsysPosterior over deep nets is hard; bootstrap-DQN approximates it
Entropy bonusAdd alpha * H[pi(.|s)] to the objective (SAC, A2C)Continuous control, on-policy gradient methodsalpha must be tuned or auto-adjusted; too large drives the policy uniform

Model-based RL and the search frontier

Model-free methods learn π\pi or QQ directly from interaction. Model-based methods learn (or are given) a transition model P^\hat P and use it to plan. Classical examples include Dyna (interleave real and model-generated transitions) and PILCO (Gaussian-process dynamics + analytic policy evaluation). The modern poster children are AlphaZero [13] and MuZero [14].

AlphaZero combines a policy-and-value network with Monte Carlo tree search (MCTS). At each move, MCTS expands a tree from the current state, evaluating leaves with the value network and biasing rollouts with the policy network. The search itself is a powerful policy-improvement operator: the move distribution at the root is sharper and stronger than the raw policy network, and self-play between the search policy and itself produces training data that bootstraps both networks toward optimal play. The system reached superhuman strength in Go, Shogi, and Chess from a single architecture trained from scratch.

MuZero drops the assumption of a known simulator. The model is learned end to end with the value and policy heads: it predicts only the quantities the search needs (immediate reward, value, policy logits) given a learned latent dynamics function, not the actual next state. This makes the algorithm work on Atari (where there is no simulator at all from the agent’s point of view) at performance comparable to model-free DQN-class methods, while keeping AlphaZero’s strength on board games. MuZero is the proof of concept that deep model-based RL with learned latent dynamics can scale.

Tabular Q-learning and DQN side by side

python
import numpy as np

# Toy 4x4 Frozen Lake: 16 states, 4 actions (L, D, R, U).
# In a real run, env = gym.make("FrozenLake-v1"); we simulate the API here.
n_states, n_actions = 16, 4
Q = np.zeros((n_states, n_actions))

alpha = 0.1     # learning rate
gamma = 0.99    # discount
epsilon = 0.1   # epsilon-greedy
n_episodes = 5000

rng = np.random.default_rng(0)

def step(s, a):
  # placeholder dynamics: returns (s_next, reward, done)
  s_next = (s + a + 1) % n_states
  reward = 1.0 if s_next == n_states - 1 else 0.0
  done = s_next == n_states - 1
  return s_next, reward, done

for ep in range(n_episodes):
  s = 0
  done = False
  while not done:
      if rng.random() < epsilon:
          a = rng.integers(n_actions)               # explore
      else:
          a = int(np.argmax(Q[s]))                  # exploit
      s_next, r, done = step(s, a)
      td_target = r + gamma * np.max(Q[s_next]) * (not done)
      Q[s, a] += alpha * (td_target - Q[s, a])      # off-policy TD
      s = s_next

policy = Q.argmax(axis=1)
The TD target uses max over next-step Q (off-policy), so the agent learns Q* even with epsilon-greedy behavior.

Real-world reinforcement learning

RL outside benchmarks is shaped by three forces: where the simulator comes from, how expensive an interaction is, and how much you trust the reward signal. The 2016 AlphaGo match against Lee Sedol was watershed because the simulator (the rules of Go) was free and exact and the reward (winning a game) was unambiguous. AlphaZero and MuZero pushed the same recipe to chess, shogi, and Atari, with MuZero showing that the simulator itself can be learned from interaction. OpenAI Five (Dota 2) and AlphaStar (StarCraft II) scaled up self-play in much larger action and state spaces, with PPO-style updates and curriculum learning over millions of games.

In robotics, the simulator is approximate and the cost of a real-world step is high. The dominant pattern is sim-to-real transfer: train a policy in simulation with domain randomization (vary masses, frictions, lighting, sensor noise, latency), then deploy the resulting policy on hardware. SAC’s entropy regularizer and TD3’s twin critics are the off-policy backbones of choice; domain randomization is the regularizer that makes the simulator-to-reality gap survivable. OpenAI’s in-hand cube manipulation work is the canonical demonstration that this pipeline can deliver dexterous manipulation from a single policy trained entirely in simulation.

In recommender systems and online platforms, the agent picks an item and gets a click or a conversion. The state is summarized by user features, the action set is the catalog, and the reward is sparse and delayed. The dominant tool is contextual bandits: at each step, observe a context, pick an arm, see a reward; treat each round as independent (no transitions). Thompson sampling and LinUCB dominate when the action set is bounded and stationary; for very large action sets, two-stage ranking (candidate generation + bandit-style re-ranker) is the standard production pattern. Full MDP-style RL appears mainly when there is meaningful long-horizon credit assignment (slate recommendation that must steer toward eventual subscription, not just next click).

In dialog systems and language models, the technique that crossed the chasm is RLHF. Christiano et al. [15] introduced the recipe: collect human preferences on pairs of trajectories, fit a reward model, and optimize the policy with PPO under a KL penalty against a frozen reference. The same machinery is the backbone of InstructGPT and ChatGPT; the dedicated chapter on RLHF and alignment walks through the full pipeline.

Pitfalls

Off-by-one in returns

The discounted return is Gt=rt+γ rt+1+γ2 rt+2+…G_t = r_t + \gamma\, r_{t+1} + \gamma^2\, r_{t+2} + \ldots, not Gt=rt+γ Gt+1G_t = r_t + \gamma\, G_{t+1} with GTG_T initialized as the last reward. At terminal step TT you set V(sT)=0V(s_T) = 0 (no future) and GT=rTG_T = r_T. Off-by-one bugs here usually look like a policy that performs about right when episode lengths are similar but degrades badly with episode-length variance.

Reward shaping that changes the optimal policy

Adding a shaping reward F(s,a,s′)F(s, a, s') to your environment does not change π∗\pi^* if and only if FF is potential-based: F(s,a,s′)=γ Φ(s′)−Φ(s)F(s, a, s') = \gamma\, \Phi(s') - \Phi(s) for some scalar potential Φ\Phi. Anything else (a per-step penalty, a “reward for being near the goal”) can produce policies that exploit the shaping signal at the cost of the true objective. If your agent is “doing weirdly well at the proxy reward but failing at the task”, suspect non-potential shaping.

Forgetting that PPO is on-policy

PPO uses a replay buffer of recent rollouts, but unlike DQN it cannot reuse data older than a few epochs: the importance-ratio clip is only valid when the data was collected by a policy not too different from the current one. If you keep a multi-million-step buffer and treat PPO like an off-policy method, the clip becomes a permanent saturation and the gradient is mostly zero. The right number of PPO epochs per buffer is small (typically 33 to 1010); after that, refill.

Discount factor as a fairness knob

γ\gamma is sometimes treated as a free dial. It is not: γ\gamma is a parameter of the objective, not a regularizer. Lowering γ\gamma makes the agent shortsighted; raising it amplifies bootstrap variance and makes the value scale grow without bound. Pick γ\gamma from the problem’s effective horizon (1/(1−γ)1 / (1 - \gamma) is the rough horizon in steps) and keep it fixed.

Pop quiz

Check yourself
Score: 0 / 5(0 answered)
  1. 1. The Bellman optimality equation for V* is:
  2. 2. Q-learning is off-policy because:
  3. 3. DQN introduces a target network primarily to:
  4. 4. Generalized Advantage Estimation (GAE) addresses primarily:
  5. 5. In PPO, the clip function applied to the importance ratio rho_t = pi_theta(a_t|s_t) / pi_old(a_t|s_t) does what?

Interview Q&A

What is a Markov decision process and why does the Markov property matter?phone

An MDP is a tuple (S,A,P,R,γ)(\mathcal{S}, \mathcal{A}, P, R, \gamma): a state set, an action set, a transition kernel P(s′∣s,a)P(s' \mid s, a), a reward function R(s,a)R(s, a), and a discount factor γ∈[0,1)\gamma \in [0, 1). The agent picks actions according to a policy π(a∣s)\pi(a \mid s) and seeks to maximize the expected discounted return E ⁣[∑tγtrt]\mathbb{E}\!\left[\sum_t \gamma^t r_t\right].

The Markov property says that the next state and reward depend only on the current state and action, not on the history. This matters for two reasons. First, it lets you condition on sts_t alone when writing the Bellman equations: there is no term that integrates over the trajectory that led to sts_t. Second, it lets value functions V(s)V(s) and Q(s,a)Q(s, a) exist as well-defined real-valued maps (a non-Markov environment in principle requires a value function over histories, which is intractable). When the property fails, the standard fix is to expand the state to include enough history for it to hold, for example stacking the last four Atari frames in DQN [2]. Once the augmented state is Markov, all the standard machinery applies [1].

Why does DQN need both a replay buffer and a target network?onsite

The two stabilizers address two different pathologies of TD with function approximation.

Replay buffer (decorrelates samples). Online RL produces highly correlated transitions: the next observation looks almost identical to the previous one. SGD’s i.i.d. assumption is violated, so the gradient estimate is biased and the optimizer drifts. The replay buffer holds the last ∼106\sim 10^6 transitions; each minibatch is a uniform random sample. The samples are now approximately independent, the gradient estimate is unbiased, and as a bonus every transition gets reused many times, which is the key to DQN’s sample efficiency relative to on-policy methods.

Target network (kills the moving-target problem). The TD loss is E ⁣[(r+γ max⁡a′Q(s′,a′; θ)−Q(s,a; θ))2]\mathbb{E}\!\left[(r + \gamma\, \max_{a'} Q(s', a';\, \theta) - Q(s, a;\, \theta))^2\right] if both sides use the same θ\theta. Every gradient step changes the prediction Q(s,a; θ)Q(s, a;\, \theta) and the target max⁡a′Q(s′,a′; θ)\max_{a'} Q(s', a';\, \theta) simultaneously, so the regression is chasing a moving target. Empirically the value diverges or oscillates wildly. DQN replaces the target side with a frozen copy θ−\theta^-, updated every C≈104C \approx 10^4 steps:

L(θ)=E ⁣[(r+γ max⁡a′Q(s′,a′; θ−)−Q(s,a; θ))2].\mathcal{L}(\theta) = \mathbb{E}\!\left[\bigl(r + \gamma\, \max_{a'} Q(s', a';\, \theta^-) - Q(s, a;\, \theta)\bigr)^2\right].

The target is now fixed for CC steps; the loss is a normal regression problem on a static target; the optimizer makes progress; periodically θ−←θ\theta^- \leftarrow \theta refreshes the target. Soft target updates (θ−←τ θ+(1−τ) θ−\theta^- \leftarrow \tau\, \theta + (1 - \tau)\, \theta^- with τ≈0.005\tau \approx 0.005) are an alternative that diffuses the target instead of stepping it, used by DDPG, TD3, and SAC [11][10].

The two stabilizers are complementary. The replay buffer addresses sample correlation; the target network addresses self-bootstrapping. Removing either reliably destabilizes training in the original DQN ablation [2].

Derive the policy gradient theorem from scratch and explain why the transition model drops out.research

Setup. The objective is J(θ)=Eτ∼pθ(τ)[G(τ)]J(\theta) = \mathbb{E}_{\tau \sim p_\theta(\tau)}[G(\tau)] where τ=(s0,a0,r0,s1,…)\tau = (s_0, a_0, r_0, s_1, \ldots) is a trajectory and pθ(τ)=ρ0(s0)∏tπθ(at∣st) P(st+1∣st,at)p_\theta(\tau) = \rho_0(s_0) \prod_t \pi_\theta(a_t \mid s_t)\, P(s_{t+1} \mid s_t, a_t). We want ∇θJ(θ)\nabla_\theta J(\theta).

Step 1: log-derivative trick. Differentiating under the integral and using the identity ∇θpθ=pθ ∇θlog⁡pθ\nabla_\theta p_\theta = p_\theta\, \nabla_\theta \log p_\theta:

∇θJ(θ)=∫∇θpθ(τ) G(τ) dτ=Eτ∼πθ ⁣[∇θlog⁡pθ(τ) G(τ)].\nabla_\theta J(\theta) = \int \nabla_\theta p_\theta(\tau)\, G(\tau)\, d\tau = \mathbb{E}_{\tau \sim \pi_\theta}\!\left[\nabla_\theta \log p_\theta(\tau)\, G(\tau)\right].

Step 2: only the policy depends on θ\theta. Take the log of pθp_\theta:

log⁡pθ(τ)=log⁡ρ0(s0)+∑tlog⁡πθ(at∣st)+∑tlog⁡P(st+1∣st,at).\log p_\theta(\tau) = \log \rho_0(s_0) + \sum_t \log \pi_\theta(a_t \mid s_t) + \sum_t \log P(s_{t+1} \mid s_t, a_t).

The initial-state distribution ρ0\rho_0 does not depend on θ\theta, and the transition kernel PP is a property of the environment, not of the policy. Their gradients are zero. The only surviving term is the policy log-likelihood:

∇θlog⁡pθ(τ)=∑t∇θlog⁡πθ(at∣st).\nabla_\theta \log p_\theta(\tau) = \sum_t \nabla_\theta \log \pi_\theta(a_t \mid s_t).

This is the reason policy gradient is model-free: the transition kernel’s contribution to log⁡pθ\log p_\theta has zero gradient, so we never need to know or estimate it.

Step 3: per-step credit and the baseline. Substituting,

∇θJ(θ)=E ⁣[∑t∇θlog⁡πθ(at∣st) G(τ)].\nabla_\theta J(\theta) = \mathbb{E}\!\left[\sum_t \nabla_\theta \log \pi_\theta(a_t \mid s_t)\, G(\tau)\right].

The full return G(τ)G(\tau) multiplies the gradient at every step, including rewards before tt. A causality argument (rewards before ata_t are uncorrelated with ∇log⁡πθ(at∣st)\nabla \log \pi_\theta(a_t \mid s_t) given sts_t) lets us replace G(τ)G(\tau) with the reward-to-go GtG_t:

∇θJ(θ)=E ⁣[∑t∇θlog⁡πθ(at∣st) Gt].\nabla_\theta J(\theta) = \mathbb{E}\!\left[\sum_t \nabla_\theta \log \pi_\theta(a_t \mid s_t)\, G_t\right].

Subtracting any baseline b(st)b(s_t) that depends only on sts_t leaves the expectation unchanged (because Ea∼πθ[∇log⁡πθ(a∣s)]=0\mathbb{E}_{a \sim \pi_\theta}[\nabla \log \pi_\theta(a \mid s)] = 0) but reduces variance. The optimal-variance baseline is approximately Vπθ(st)V^{\pi_\theta}(s_t), which gives the advantage form:

∇θJ(θ)=Eπθ ⁣[∇θlog⁡πθ(a∣s) Aπθ(s,a)].\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\!\left[\nabla_\theta \log \pi_\theta(a \mid s)\, A^{\pi_\theta}(s, a)\right].

REINFORCE [6] uses Monte Carlo GtG_t as the advantage; actor-critic methods learn a critic for VV; GAE [9] blends nn-step TD residuals smoothly. PPO [8] implements the same gradient under a clipped importance-ratio surrogate so it can take multiple gradient steps on the same rollout buffer without breaking the on-policy assumption.

Interactive Demo

Q-Learning Grid World

Q-Learning Grid World

Watch an agent learn to navigate a 5x5 grid from Start (top-left) to Goal (bottom-right) using Q-learning.

S✕✕✕G
Agent Goal Obstacle↑ Policy arrow
Episodes
0
Total Steps
0
Last Ep Reward
0
Position
(0, 0)
Learning Rate (α)0.10
Discount (γ)0.95
Exploration (ε)0.20
Tip: Click Train 10 Episodes repeatedly to watch arrows appear as the agent learns the optimal path and Q-values converge.

Value Iteration

Bellman Value Iteration

Watch values propagate backward from the goal state in a 4-state MDP.

r=-1r=-1r=+10r=+5r=-2s0V=0.00s1V=0.00s2V=0.00s3 (goal)V=10.00
Iteration
0
Max Delta
0.0000
Status
Running
V(s0)
0.00
V(s1)
0.00
V(s2)
0.00
V(s3)
10.00
Discount (γ)0.90
Bellman equation for s0:
V(s0) = max(-1 + 0.90*V(s1), -1 + 0.90*V(s2)) = max(-1, -1)
Tip: Click Backup repeatedly to see values propagate backward from the goal state - the agent learns which states are valuable by knowing which states lead to reward.

References

  1. Sutton, R. S., and Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press. ISBN 978-0-262-03924-6
  2. Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., Graves, A., Riedmiller, M., Fidjeland, A. K., Ostrovski, G., et al. (2015). Human-level control through deep reinforcement learning. Nature 518, 529-533. doi:10.1038/nature14236
  3. van Hasselt, H., Guez, A., and Silver, D. (2016). Deep Reinforcement Learning with Double Q-learning. AAAI 2016 (arXiv preprint 2015). arXiv:1509.06461
  4. Wang, Z., Schaul, T., Hessel, M., van Hasselt, H., Lanctot, M., and de Freitas, N. (2016). Dueling Network Architectures for Deep Reinforcement Learning. ICML 2016 (arXiv preprint 2015). arXiv:1511.06581
  5. Hessel, M., Modayil, J., van Hasselt, H., Schaul, T., Ostrovski, G., Dabney, W., Horgan, D., Piot, B., Azar, M., and Silver, D. (2018). Rainbow: Combining Improvements in Deep Reinforcement Learning. AAAI 2018 (arXiv preprint 2017). arXiv:1710.02298
  6. Williams, R. J. (1992). Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning. Machine Learning 8, 229-256. doi:10.1007/BF00992696
  7. Schulman, J., Levine, S., Moritz, P., Jordan, M. I., and Abbeel, P. (2015). Trust Region Policy Optimization. ICML 2015 (arXiv preprint). arXiv:1502.05477
  8. Schulman, J., Wolski, F., Dhariwal, P., Radford, A., and Klimov, O. (2017). Proximal Policy Optimization Algorithms. arXiv preprint. arXiv:1707.06347
  9. Schulman, J., Moritz, P., Levine, S., Jordan, M. I., and Abbeel, P. (2015). High-Dimensional Continuous Control Using Generalized Advantage Estimation. ICLR 2016 (arXiv preprint 2015). arXiv:1506.02438
  10. Haarnoja, T., Zhou, A., Abbeel, P., and Levine, S. (2018). Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor. ICML 2018 (arXiv preprint). arXiv:1801.01290
  11. Lillicrap, T. P., Hunt, J. J., Pritzel, A., Heess, N., Erez, T., Tassa, Y., Silver, D., and Wierstra, D. (2015). Continuous Control with Deep Reinforcement Learning. ICLR 2016 (arXiv preprint 2015). arXiv:1509.02971
  12. Fujimoto, S., van Hoof, H., and Meger, D. (2018). Addressing Function Approximation Error in Actor-Critic Methods. ICML 2018 (arXiv preprint). arXiv:1802.09477
  13. Silver, D., Schrittwieser, J., Simonyan, K., Antonoglou, I., Huang, A., Guez, A., Hubert, T., Baker, L., Lai, M., Bolton, A., et al. (2017). Mastering the game of Go without human knowledge. Nature 550, 354-359. doi:10.1038/nature24270
  14. Schrittwieser, J., Antonoglou, I., Hubert, T., Simonyan, K., Sifre, L., Schmitt, S., Guez, A., Lockhart, E., Hassabis, D., Graepel, T., et al. (2020). Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model. Nature 588, 604-609 (arXiv preprint 2019). arXiv:1911.08265
  15. Christiano, P. F., Leike, J., Brown, T., Martic, M., Legg, S., and Amodei, D. (2017). Deep Reinforcement Learning from Human Preferences. NeurIPS 2017 (arXiv preprint). arXiv:1706.03741