Ultralytics YOLO27: Join the waitlist.
License YOLO
Back to Ultralytics Glossary

Curriculum Learning

Curriculum learning trains models on easier examples first and adds harder ones over time, guided by a difficulty score and a pacing function.

Curriculum learning is a machine learning training strategy that presents examples in a meaningful order, usually from easy to hard, instead of sampling them uniformly at random. Like a school curriculum, it lets a neural network learn broad, simple patterns from clean examples before it meets ambiguous, cluttered, or noisy ones. Bengio et al. framed the idea for deep learning in 2009, arguing that starting easy guides optimization of a non-convex loss function toward better minima, and they reported significant improvements in generalization on shape recognition and language modeling tasks.

How Curriculum Learning Works#

A curriculum needs two components, which Hacohen and Weinshall call the scoring function and the pacing function. The scoring function ranks training data by difficulty, using human heuristics such as object size, occlusion, or sentence length, the confidence of a pretrained teacher model, or the loss of the model being trained. The pacing function decides how quickly harder examples join the pool the model trains on, for example starting with the easiest 20% and growing linearly to the full dataset. The snippet below scores a toy dataset with a teacher model and trains a student on a growing, easiest-first pool using scikit-learn:

import numpy as np
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression, SGDClassifier

# A toy dataset with 10% flipped labels, so some samples are genuinely hard
X, y = make_classification(n_samples=2000, n_features=20, flip_y=0.1, random_state=0)

# Scoring function: a teacher's confidence in each true label, sorted easiest first
teacher = LogisticRegression(max_iter=1000).fit(X, y)
confidence = teacher.predict_proba(X)[np.arange(len(y)), y]
order = np.argsort(-confidence)

# Pacing function: start with the easiest 20% and add 20% more each epoch
student = SGDClassifier(random_state=0)
for epoch in range(5):
    pool = order[: int((0.2 + 0.2 * epoch) * len(order))]
    student.partial_fit(X[pool], y[pool], classes=[0, 1])
    print(f"Epoch {epoch}: {len(pool)} samples, mean teacher confidence {confidence[pool].mean():.2f}")

The pool grows from 400 to 2,000 samples, and its mean teacher confidence falls from 0.99 to 0.89 as the final, hardest 20% of samples joins in the last epoch.

Self-paced learning removes the need for a teacher by letting the model build its own curriculum from its current loss, one of the main curriculum families in Soviany et al.'s survey. Each round, samples the model already handles well join the training pool, and the loss threshold rises until every sample is included.

When Curriculum Learning Helps#

Curricula help less often than the intuition suggests. In thousands of training runs, Wu, Dyer, and Neyshabur found only marginal benefits on standard image benchmarks, where randomly ordered data in a growing pool did as well as an easy-to-hard order. Curricula did improve results when the training-time budget was limited or the labels were noisy, the settings where practitioners most often use them.

Real-World Applications#

In reinforcement learning for robotics, curricula raise task difficulty as the agent improves. OpenAI trained a robot hand to solve a Rubik's Cube with automatic domain randomization, which widened the ranges of simulated physics and appearance each time the policy performed well enough at the current range.

In computer vision, a curriculum for object detection can start with large, unoccluded objects and add small, crowded, or poorly lit scenes later. Ultralytics YOLO26 training also changes its emphasis over time: its end-to-end loss shifts weight each epoch from the dense one-to-many head toward the one-to-one head that nms=False uses, and close_mosaic=10 switches off mosaic, mixup, CutMix, and copy-paste augmentation for the final 10 epochs so training ends on images that look like real inputs. For medical image analysis, training can begin with scans where expert annotators agree and add ambiguous cases afterward, which suits the noisy-label setting where curricula help most.

  • Continual Learning: Continual learning adds new tasks or data distributions over time and must avoid forgetting old ones. Curriculum learning reorders the data of a single, fixed task.
  • Active Learning: Active learning chooses which unlabeled examples to send for labeling, while curriculum learning orders examples that are already labeled.
  • Transfer Learning: Transfer learning pretrains on a large general dataset and then fine-tunes on a different target task, so the task itself changes between stages.
  • Hard Negative Mining: Hard example mining puts the emphasis on the examples the model gets most wrong, the opposite of an easy-first curriculum. Online hard example mining (OHEM) for Fast R-CNN detectors backpropagates only through the region proposals with the highest loss in each image.

Explore solutions

Computer vision in sports

Computer vision in sports

Discover how Ultralytics YOLO powers sports vision with player and ball tracking, performance analytics, coaching insights, and athlete rehabilitation.
Learn more
Computer vision for aerial imagery

Computer vision for aerial imagery

Turn drone and aerial imagery into real-time insights for agriculture, aquaculture, conservation, and geospatial analysis with Ultralytics YOLO.
Learn more
Computer vision in aerospace

Computer vision in aerospace

Apply computer vision in aerospace with Ultralytics YOLO for aircraft inspection, runway FOD detection, airport ground operations, and composite defect detection.
Learn more
Computer vision in security

Computer vision in security

Protect every site with Ultralytics YOLO models. Vision AI powers perimeter monitoring, threat detection, license-plate recognition, and workplace safety.
Learn more
Computer vision in robotics

Computer vision in robotics

Power smarter machines with Ultralytics YOLO models. Vision AI in robotics drives autonomous navigation, perception, object tracking, and real-time control.
Learn more
Computer vision in logistics

Computer vision in logistics

Streamline logistics with Ultralytics YOLO models. Vision AI enables package inspection, sorting, vehicle tracking, and real-time warehouse safety monitoring.
Learn more
Computer vision in retail

Computer vision in retail

Reimagine retail with Ultralytics YOLO models. Vision AI powers inventory tracking, shelf monitoring, queue management, and smarter customer insights.
Learn more
Computer vision in healthcare

Computer vision in healthcare

Build healthcare solutions with Ultralytics YOLO models. Vision AI in healthcare powers faster medical imaging, smarter diagnostics, and patient monitoring.
Learn more
Computer vision in manufacturing

Computer vision in manufacturing

Optimize manufacturing with Ultralytics YOLO models. Vision AI drives quality control, defect detection, PPE compliance, and assembly line automation.
Learn more
Computer vision in automotive

Computer vision in automotive

Apply computer vision in automotive with Ultralytics YOLO models. Vision AI elevates road safety, driver assistance, and vehicle automation for smarter roads.
Learn more
Computer vision in agriculture

Computer vision in agriculture

Bring vision AI to smart agriculture with Ultralytics YOLO models. Power crop monitoring, livestock tracking, and precision farming for higher, smarter yields.
Learn more

Let's build the future of AI together!

Begin your journey with the future of machine learning