Each task has a quadratic loss bowl Li(θ) = ‖θ − ci‖² centered on a randomly placed optimum ci. Every meta-step samples a fresh batch of tasks, runs a short inner loop of gradient descent from the shared init θ on each one, then an outer loop update moves θ itself using what that adaptation revealed:
Inner loop (both algorithms), k steps:
φᵢ ← θ ; repeat k times: φᵢ ← φᵢ − α · ∇L(φᵢ)
Outer loop — MAML (first-order):
θ ← θ − β · mean( ∇L(φᵢ) ) (gradient evaluated AFTER adaptation)
Outer loop — Reptile:
θ ← θ + ε · mean( φᵢ − θ ) (pulled toward where adaptation landed)
- Inner-loop steps (k) — how many few-shot gradient steps each sampled task gets to adapt from θ before the outer update.
- Inner learning rate (α) — step size of the per-task adaptation (the "few-shot fine-tuning" a downstream user would run).
- Outer step size — how far the shared initialization θ moves per meta-step (β for MAML, ε for Reptile).
- Few-shot loss — average task loss right after the k-step adaptation; this is the number meta-learning is trying to minimize, since it measures how good θ is as a starting point, not how good it is as a solution.
Real-world relevance: this is the core idea behind MAML (Finn et al., 2017) and Reptile (Nichol et al., 2018) — instead of learning parameters that solve one task, meta-learning searches for an initialization that is a few gradient steps away from solving any task drawn from a distribution, which is what makes few-shot learning possible.