---
title: "On First-Order Meta-Learning Algorithms"
title_ru: "О мета-обучении первого порядка (Reptile)"
authors: [Nichol, Achiam, Schulman]
year: 2018
venue: "arXiv"
venue_tier: "preprint"
doi: "1803.02999"
tags: [few_shot, meta_learning, first_order, gradient_based]
relevance_to_smartrep: 2
direction: "🅱"
---

# Reptile: Мета-обучение первого порядка

## TL;DR (≤3 предложения)

Reptile — упрощённый алгоритм мета-обучения первого порядка: для каждого мини-батча задач выполняется несколько шагов SGD, а мета-параметры сдвигаются в сторону получившихся весов. В отличие от MAML не требует вычисления градиентов второго порядка и практически идентичен по качеству FOMAML при значительно более простой реализации. Для SmartRep ценен как вычислительно дешёвый механизм адаптации, реализуемый прямо на устройстве.

## Проблема

MAML мощный, но дорогой — второй порядок. FOMAML проще, но его теоретическое обоснование неполное. Нужен алгоритм первого порядка с чёткой интерпретацией и масштабируемостью.

## Гипотеза / вклад

- **Простой алгоритм:** sample task → несколько шагов SGD → мета-params = мета-params + $\epsilon$·(task_params – мета-params).
- **Теоретический анализ:** Reptile неявно максимизирует dot product между градиентами разных задач (минимизирует их «угол»), что эквивалентно поиску initialization point, откуда все задачи быстро сходятся.
- **Praktichnost':** реализуется в ~10 строк кода, нет специальных библиотек для вычисления second-order gradients.

## Метод

Мета-параметры $\phi$, функция потерь задачи $\mathcal{L}_\tau$:

```
repeat:
  sample task τ
  θ = φ  (копируем мета-параметры)
  for k steps: θ ← θ - α ∇_θ L_τ(θ)  (SGD по задаче)
  φ ← φ + ε·(θ - φ)  (мета-обновление — движение к θ)
```

Обновление $\phi \leftarrow \phi + \varepsilon(\theta - \phi)$ геометрически — это шаг в сторону центра масс всех "задачных" оптимумов.

### Архитектура (Mermaid)

```
φ (meta-params)
  │
  ├─ copy → θ
  │    └─ k SGD steps on task τ → θ_adapted
  │
  └─ update: φ ← φ + ε·(θ_adapted - φ)
```

## Датасеты

| Датасет | Задача | Метрика | Результат (5-way 5-shot) |
|---|---|---|---|
| miniImageNet | Классификация | Accuracy | 65.99% (сопоставимо с MAML) |
| Omniglot | Классификация | Accuracy | 99.4% |

## Сравнение с SOTA

Сопоставим с FOMAML при более простой реализации. Чуть уступает ProtoNet на miniImageNet 5-shot, но превосходит на 1-shot. Значительно проще реализуется в production-коде.

## Ограничения / слабости

- Гиперпараметр $\varepsilon$ чувствителен: слишком большой — нестабильность, слишком маленький — медленная мета-адаптация.
- Нет явного механизма для предотвращения catastrophic forgetting при continual adaptation.
- Как и MAML, ничего не знает о структуре задачи (порядке суставов, биомеханике).

## Релевантность SmartRep

- **Быстрый fine-tune на устройстве 🅱:** Reptile может быть реализован прямо на телефоне — несколько шагов SGD по 5 эталонным повторам нового упражнения без server round-trip.
- **On-device personalization:** адаптация под конкретного пользователя (длина рычагов, индивидуальный ROM) за 1 сессию = Reptile fine-tune.
- **Инженерная ценность:** значительно проще внедрить, чем полноценный MAML, что важно при разработке mobile SDK.

## Gap для нас

Reptile ничего не знает о специфике движений — $\tau_1$=приседание и $\tau_2$=жим лёжа равноправны. **Ниша:** задать иерархию задач с учётом биомеханического сходства упражнений — warm-start адаптация от "похожего" упражнения быстрее, чем от случайной инициализации.

## Ссылки на связанные статьи

- [[MAML]] — более мощный предшественник
- [[TENT]] — альтернатива: адаптируются только BN-слои, без fine-tune весов

## Код / данные

- Repo: github.com/openai/supervised-reptile
- Pretrained: нет

## Цитата (BibTeX)

```bibtex
@article{nichol2018reptile,
  title={On First-Order Meta-Learning Algorithms},
  author={Nichol, Alex and Achiam, Joshua and Schulman, John},
  journal={arXiv preprint arXiv:1803.02999},
  year={2018}
}
```
