self-paced learning
**Self-Paced Learning** is a **curriculum learning variant where the model itself decides which training examples to include** — the model's own loss on each example determines difficulty, and a pace parameter controls how many "hard" examples are included as training progresses.
**Self-Paced Formulation**
- **Loss Threshold**: Include example $i$ if $L(x_i) < lambda$ — low-loss examples are "easy" and included first.
- **Pace Parameter ($lambda$)**: Increases over training — starts with only easy examples, gradually includes harder ones.
- **Binary Variable**: $v_i in {0,1}$ indicates whether example $i$ is included in the current training set.
- **Joint Optimization**: Alternate between optimizing model parameters $ heta$ and sample weights $v$.
**Why It Matters**
- **No External Teacher**: Unlike standard curriculum learning, self-paced learning doesn't need a difficulty oracle — the model defines its own curriculum.
- **Robust to Noise**: Noisy/mislabeled examples have high loss — they are naturally excluded until late in training.
- **Autonomous**: The model autonomously manages its own learning pace.
**Self-Paced Learning** is **the model teaches itself** — automatically selecting training examples by difficulty based on its own evolving understanding.