n-Step Bootstrapping
Monte Carlo waits for the full return; one-step TD bootstraps after a single reward. Between them lies a whole spectrum, indexed by one integer n: look ahead n real rewards, then bootstrap from the value n steps out.
╌╌╌╌
The last two lessons drew the same estimation problem from opposite ends. Monte Carlo waits until an episode terminates and updates each visited state toward the full observed return — no bootstrapping, but no learning until the very end. Temporal-difference learning updates after a single step, using one real reward plus the current estimate as a stand-in for everything after — all bootstrapping, and online. The two are the endpoints of one family, indexed by a single integer .
An -step method looks ahead exactly real rewards and then bootstraps from the estimated value of the state reached steps later. Set and you recover one-step TD; let run to the end of the episode and you recover Monte Carlo. Every value of in between is a genuine method, and an intermediate often learns faster than either extreme.1
The n-step return
Fix the state–reward sequence an agent generates while following ,
where is the terminal step (actions omitted for now). Whatever method we use to estimate , it updates toward some target. The different members of the family are just different choices of target.
Monte Carlo aims at the complete return, every reward until termination:
One-step TD truncates after a single reward and patches the missing tail with a bootstrapped estimate — the one-step return:
where is the estimate of at time . The subscript notation
reads a return for time using rewards up through time
:
the discounted estimate takes the place of the discarded
tail . The same
idea extends past one step. A two-step return keeps two real rewards and
bootstraps from the value two steps out,
where now corrects for the absence of . In general, the target for an arbitrary -step update is the -step return:
for all and . Every -step return is an approximation to the full return , truncated after rewards and then corrected for the remaining missing terms by . If the horizon runs to or past termination — that is, if — all the missing terms are already zero, and the -step return equals the ordinary full return: whenever .
One subtlety: the -step return for step uses future rewards and the future state — none of which exist at time . No real algorithm can use until it has seen and computed ; the first moment all of that is available is time . This lag is unavoidable when looking ahead, and it shapes the pseudocode below.
The n-step TD update
With the target in hand, the update follows directly. At time (the first moment is computable) we move a fraction of the way toward it:
while every other state's estimate is left unchanged, for . This is -step TD. The bracketed quantity is the familiar TD error, but with an -step target in place of the one-step one. Because the update for fires only at , the first states of each episode get no update as the episode begins; to compensate, an equal number of updates are made at the end, after termination, before the next episode starts.
- 1input: a policy ; step size ; a positive integer
- 2initialize arbitrarily for all
- 3for each episode do
- 4initialize and store terminal
- 5
- 6for do
- 7if then
- 8take an action according to
- 9observe and store and
- 10if is terminal then
- 11
- 12= time whose estimate is updated now
- 13if then
- 14
- 15if then
- 16bootstrap
- 17
- 18until
The index is the state currently being updated: at wall-clock time we have just enough lookahead to finish the update for the state steps in the past. All storage can be kept modulo , since only the last states and rewards ever matter at once — the method's memory is bounded by , not by the episode length.
Why an intermediate n is sound
That -step returns interpolate between two known-good methods does not by itself prove they converge. The guarantee comes from a worst-case bound. The intuition: each real reward folded into the target is observed rather than estimated, so it reduces the target's dependence on the error in the bootstrapped estimate; after steps only a fraction of that error remains. Formally, the expectation of the -step return is a better estimate of than is, in the following sense: its worst error over states is at most times the worst error of the current estimate,
for all . This is the error-reduction property. Because , each expected -step backup contracts the worst-case error, and one can show from this that -step TD converges to the correct under appropriate conditions. Every method in the family is sound; one-step TD and Monte Carlo are simply its two extreme members.
A worked n-step target
For example, take , and suppose an agent following produces the reward stream
with current value estimates , , , and . The one-step return keeps one real reward and bootstraps from the very next state:
The two-step return keeps two rewards and bootstraps two states out:
The three-step return keeps three:
Each target is the same shape — accumulated discounted reward, then one bootstrap term standing in for everything past the horizon. The three targets differ in the depth at which they rely on the estimate: depends almost entirely on , while has replaced two layers of that estimate with real rewards and now depends on . If the early estimates were biased, the deeper target has removed more of that bias — the error-reduction property in a single trajectory. The bootstrap weight itself shrinks with depth: , , , so the further out the bootstrap, the less it can distort the target.
The backup-diagram spectrum
The family is easiest to see through its backup diagrams. Each diagram traces the states and rewards whose values are backed up into the root. One-step TD backs up from a single reward and one bootstrapped state; -step TD strings rewards down a spine before bootstrapping; Monte Carlo extends the spine all the way to the terminal square. The whole family is one picture at increasing depth.
Depth controls a bias–variance tradeoff: shallow backups (small ) depend heavily on the bootstrapped estimate, so they are low-variance but inherit whatever bias sits in ; deep backups (large ) use more real reward, shedding bias but taking on the variance of long reward sequences. The best depth is intermediate and task-dependent.
An intermediate n beats both extremes
The random walk quantifies the tradeoff. Take a chain of states with a terminal on each end, an outcome of on the left and on the right, all values initialized to , and equiprobable left/right moves. Run -step TD for a sweep of and , and measure the RMS error of the predictions against the true values, averaged over the first episodes and runs.
Two things stand out. Each curve is a U in — too small a step learns too slowly, too large a step overshoots — and the bottom of the U, the best achievable error, is lowest for an intermediate , neither nor the very largest. A one-step method after this walk would change only the value of the last state visited; a two-step method would nudge the last two; an -step method credits the last states of the run, all by the same reward. Spreading credit further than one step, but not all the way to the episode's start, gives the lowest error.
Sutton and Barto's full figure sweeps more values of and finds the whole family of U-curves nested this way, with the minimum-of-minima at a small-but-not-one . As the backup-diagram spectrum suggests, bootstrapping too aggressively (small ) ties the estimate to a possibly poor initial value function, while not bootstrapping at all (Monte Carlo) takes on the full variance of the sampled return. An intermediate holds both errors down at once.
n-step Sarsa: control
Prediction estimates for a fixed policy; control improves the policy. The move from prediction to control is the one from the previous lesson: switch from states to state–action pairs and act -greedily with respect to the action values. The -step version of Sarsa — the original one-step Sarsa is now Sarsa(0) — redefines the return over action values instead of state values:
with when . The bootstrap now uses the estimated value of a state–action pair, , rather than a state. The update mirrors -step TD:
leaving all other action values unchanged. Its backup diagrams are the same spectrum as before, but every column now begins and ends on an action (a solid dot) rather than a state, with the sample actions and states alternating down the spine.
The far-right diagram is -step Expected Sarsa: identical to -step Sarsa except the last element is a full branch over all actions, weighted by their probability under . Its return replaces the final action-value with an expected value,
where the expected approximate value of a state is the policy-weighted average of its action values,
Bootstrapping from instead of a single sampled action removes the variance of that last action choice, exactly as one-step Expected Sarsa removed it in the previous lesson.
Why n-step control speeds learning
The reason to reach past one step in control is that a single delayed reward should teach more than one action. Consider an agent wandering a gridworld, receiving zero reward until it stumbles onto a goal cell. When the episode ends, one-step Sarsa strengthens exactly one state–action value: the last action, the one that stepped onto the goal. Every earlier action on that successful path learns nothing from this episode. An -step method strengthens the last actions of the path in one sweep, so a single lucky trajectory propagates credit back along its own tail.
This continues in n-Step Bootstrapping: Off-Policy Methods, which reweights n-step returns by the importance-sampling ratio, builds the tree-backup algorithm that goes off-policy with no ratios at all, and unifies the whole family under n-step Q(sigma).
Footnotes
- Sutton & Barto, Reinforcement Learning: An Introduction (2nd ed.), §7.1 — n-step TD Prediction: the -step return (7.1) as a truncated, bootstrap-corrected return, the -step TD update (7.2), and the error-reduction property (7.3) that makes every member of the family sound. §7.2 — n-step Sarsa: the action-value return (7.4), the control update (7.5), and -step Expected Sarsa (7.7)–(7.8). ↩
╌╌ END ╌╌