Quant Memo
Core

Curriculum Learning

Rather than showing a model examples in random order, curriculum learning presents easy examples first and gradually introduces harder ones, mirroring how humans are taught, and can train faster and reach a better final model.

Prerequisites: Stochastic Gradient Descent, Overfitting

Standard training shuffles the dataset and feeds examples to the model in random order, treating an easy example and a confusing, ambiguous one as interchangeable at every stage of training. But a model at the very start of training, with weights still near their random initialization, is in a poor position to extract a useful signal from the hardest, most ambiguous examples — it hasn't yet built the basic structure needed to interpret them. Curriculum learning orders training examples from easy to hard instead, on the idea that a model, like a student, learns more efficiently when the material is sequenced by difficulty rather than presented all at once in random order.

The analogy: teaching arithmetic before algebra

No school teaches quadratic equations before addition — not because addition is somehow more "correct," but because algebra only makes sense once arithmetic is second nature, and dumping both on a student simultaneously wastes the time they'd spend struggling with concepts they don't have the prerequisite footing for. A curriculum sequences material so each stage builds on a foundation the previous stage secured. Curriculum learning applies the same sequencing to a model's training examples: start with clean, unambiguous cases, then progressively introduce noisier, more ambiguous, or more complex ones once the model has built the basic representations needed to make sense of them.

Defining "easy" and scheduling the transition

Difficulty needs an operational definition before you can sort by it — common choices include example length (short sentences before long ones, in language modeling), a pretrained model's confidence or loss on that example (examples the current model already gets right, or nearly right, count as "easy"), or a designed proxy like image resolution or noise level. Given a difficulty score d(x)d(x) for every example xx, a simple curriculum schedule exposes the model, at training step tt, only to examples below a difficulty threshold that grows over time:

allowed at step t: {x:d(x)τ(t)},τ(t) increasing in t\text{allowed at step } t: \ \{x : d(x) \le \tau(t)\}, \qquad \tau(t) \text{ increasing in } t

In words: at any point in training, only examples with difficulty at or below the current threshold τ(t)\tau(t) are used, and that threshold itself rises as training progresses, so the pool of eligible examples grows to eventually include everything, easy and hard alike, by the end of training.

Worked example 1: a length-based curriculum

Training a language model on sentences of length 5 to 50 words. A curriculum sets τ(t)\tau(t) to rise linearly from 10 words at step 0 to 50 words at step 10,000. At step 2,000 (20%20\% of the way): τ(2000)=10+0.2×(5010)=18\tau(2000) = 10 + 0.2 \times (50-10) = 18 words — only sentences of 18 words or fewer are eligible for training at that point, even though longer sentences exist in the full dataset and will become eligible later. By step 10,000, τ=50\tau=50 and the full dataset is in play.

Worked example 2: measuring the payoff

Suppose a baseline model trained on randomly shuffled data reaches a validation loss of 2.102.10 after 10,000 steps, while a curriculum-trained model, easy-to-hard, reaches 1.951.95 after the same 10,000 steps — a real improvement for the same compute budget, or equivalently, the curriculum-trained model might reach the baseline's 2.102.10 loss in only 7,000 steps, saving 30% of training compute for the same quality. Whether a curriculum helps, and by how much, depends heavily on the task and the difficulty measure chosen — it is not guaranteed to help every problem, and on some tasks a curriculum makes no measurable difference or slightly hurts.

Gradient descent
parameter →
position -0.623loss -0.141gradient -0.930converging

threshold τ(t) training step difficulty
The difficulty threshold rises over training, so the pool of admitted examples grows from only the easiest cases toward the full dataset.

What this means in practice

Curriculum learning shows up in practice as length-based batching in language model pretraining, resolution-based schedules in vision models (train on downsampled images first, then full resolution), and difficulty-scored data ordering in reinforcement learning environments. It requires an upfront decision about what "difficulty" means for your data, which adds a design choice and a hyperparameter (the schedule shape) that a plain shuffled-training baseline doesn't need — so it's typically tried after simpler approaches, not as a default first step.

Ordering training examples from easy to hard, with the threshold of "allowed difficulty" rising over the course of training, can train faster and reach a better final model than random shuffling, but it requires a meaningful, task-specific definition of difficulty to work.

Practice

  1. A curriculum's threshold rises linearly from 0.2 to 1.0 over 5,000 steps. What is the threshold at step 1,000?
  2. Name two different ways "difficulty" could be defined for a dataset of images.
  3. Why might a curriculum built on a bad difficulty measure actively hurt training rather than help it?

It's easy to assume any reasonable-looking easy-to-hard ordering automatically helps. It doesn't always: if the "easy" examples are unrepresentative of the true data distribution, the model can build early representations skewed toward a narrow subset of the problem, and correcting that skew once harder examples arrive can cost more than starting with a random shuffle would have. Curriculum learning is an empirical technique to test against a shuffled baseline on your specific task and difficulty measure, not something guaranteed to help by construction.

Related concepts

Practice in interviews

Further reading

  • Bengio et al., Curriculum Learning, ICML (2009)
ShareTwitterLinkedIn