Successive Halving and Hyperband
Instead of training every candidate hyperparameter setting to completion before comparing them, these methods train many candidates briefly, discard the worse half, and give the survivors progressively more training time.
Prerequisites: Random Search vs Grid Search, Early Stopping Criteria and Patience
Evaluating a hyperparameter setting properly means training a model to (near) completion with it — but if you're comparing dozens or hundreds of candidate settings, training every one of them fully is enormously wasteful, since most candidates will turn out mediocre and could have been ruled out early. Successive halving exploits a simple observation: a candidate that is performing badly after a small fraction of training is very unlikely to become the best candidate by the end, so you can safely stop investing further compute in it long before training would normally finish.
The analogy: an elimination bracket, not a round-robin
A round-robin tournament has every competitor play every other competitor in full — thorough, but the number of games needed explodes with more competitors. An elimination bracket instead runs a quick round among all competitors, keeps only the winners, gives the survivors a slightly longer next round, and repeats — spending the bulk of the tournament's time on the competitors who have already proven themselves, rather than spreading equal time across everyone including those clearly out of contention. Successive halving runs hyperparameter candidates through exactly this kind of bracket, using "training progress so far" as the elimination criterion instead of a head-to-head match.
The halving schedule
Start with candidate hyperparameter settings, each given a small training budget . After that budget, rank all by validation performance, keep only the top half, and double the training budget for that surviving half. Repeat until one (or a small handful) remains:
In words: every round, the number of surviving candidates is cut in half, while the training budget given to each survivor doubles — so the total compute spent per round stays roughly constant (half as many candidates, each getting twice the training), and the full original budget of candidates is spread across rounds rather than multiplied by them.
Hyperband adds one more layer: successive halving needs you to choose upfront how aggressively to eliminate (how many candidates to start with, how small the initial budget is), and get that choice wrong and you either eliminate promising-but-slow-starting candidates too early, or waste too much budget on the first round. Hyperband runs several different successive-halving "brackets" in parallel, each with a different aggressiveness setting, so the overall search hedges against picking the wrong elimination speed for the particular problem at hand.
Worked example 1: halving through three rounds
Start with candidates, initial budget epoch. Round 1: train all 16 for 1 epoch, keep the best 8. Round 2: train those 8 for epochs, keep the best 4. Round 3: train those 4 for epochs, keep the best 2. Round 4: train those 2 for epochs, keep the best 1. Total epochs spent: epochs — compare that to training all 16 candidates fully for, say, 8 epochs each, which would cost epochs, exactly double, for a search that only ever gave its worst candidates 1 epoch to prove themselves before moving on.
Worked example 2: a candidate eliminated too early
Suppose one candidate's hyperparameters happen to make it a "slow starter" — mediocre after 1 epoch, but it would have become the best candidate by epoch 8 if given the chance. Successive halving with an aggressive initial budget of eliminates it in round 1, based on a signal that didn't reflect its long-run quality. This is the known failure mode of successive halving: it assumes performance rank after a small budget predicts performance rank after a large one, which usually holds but not always. Hyperband's parallel brackets, some with much larger initial budgets, hedge against exactly this by ensuring at least one bracket gives candidates more time before eliminating any of them.
What this means in practice
Successive halving and Hyperband are standard components of hyperparameter tuning libraries (Ray Tune, Optuna, and others implement them directly), and they're especially valuable when training a single candidate to completion is expensive — deep learning being the prototypical case. They pair naturally with random search for choosing the candidates in the first place: random search picks what to try, successive halving decides how much budget each try deserves.
Successive halving trains many candidates briefly, discards the worse half, and doubles the training budget of survivors each round, spending most compute on the candidates that have already shown promise; Hyperband runs several halving schedules of different aggressiveness in parallel to hedge against eliminating a slow starter too early.
Practice
- Starting with 32 candidates and initial budget 1 epoch, list the number of survivors and their training budget at each round until 1 remains.
- Why might a very aggressive first-round elimination (keeping only the top 10%) be risky?
- In one sentence, what specific risk does Hyperband's use of multiple parallel brackets hedge against?
Successive halving assumes that a candidate's relative rank early in training predicts its relative rank at the end — usually reasonable, but it can wrongly eliminate hyperparameter settings that start slow and overtake others later (common with, for instance, aggressive regularization or certain learning-rate schedules that pay off only after many epochs). This is not a bug to be patched away entirely; it's a real trade-off for the massive compute savings, and Hyperband's multiple brackets are the standard mitigation, not a guarantee against it.
Practice in interviews
Further reading
- Li et al., Hyperband: A Novel Bandit-Based Approach to Hyperparameter Optimization, JMLR (2018)