Meta-learning на собеседовании Data Scientist

Проверь себя · 1/3разбор после ответа
Какое утверждение про p-value наиболее верное?

Идея

Meta-learning — это «обучение обучению» (learn to learn). Обычная модель учится на большом наборе примеров под одну задачу. Meta-learning учит модель на множестве разных задач так, чтобы к новой задаче она адаптировалась быстро — с одного-пяти примеров, а не с тысяч.

Обычное обучение: много примеров → одна задача.
Meta-learning:    много задач    → быстрая адаптация к новой задаче с few examples.

Ключевые термины, которые надо знать на собесе:

  • Support set — маленький набор примеров новой задачи, на котором модель адаптируется (то, что она «видит»).
  • Query set — примеры той же задачи, на которых проверяют качество после адаптации (то, что она «предсказывает»).
  • Эпизод — одна такая пара (support + query). Модель тренируют не по одному примеру, а по эпизодам, имитируя условия few-shot на этапе обучения.
  • N-way K-shot — стандартная постановка: N классов, K примеров на класс в support set. Например, 5-way 1-shot — пять классов по одному примеру.

Смысл в том, что модель на этапе meta-обучения «прогоняет» тысячи разных задач и учится не решать конкретную из них, а быстро подстраиваться под любую новую из того же распределения.

MAML

Model-Agnostic Meta-Learning (Finn, 2017) — оптимизационный подход. Идея: найти такую начальную инициализацию весов, из которой несколько шагов градиентного спуска на новой задаче дают хорошее качество.

Для каждой задачи в meta-batch:
  Внутренний цикл: адаптируем веса на support set (1–5 шагов градиента) → θ'.
  Считаем loss на query set уже адаптированными весами θ'.
Внешний цикл: суммируем loss по задачам → обновляем исходные веса θ.

MAML оптимизирует именно стартовую точку θ: не «хорошие веса под задачу», а «веса, из которых легко дойти до хороших под любую задачу за пару шагов». Название model-agnostic означает, что метод не зависит от архитектуры — подойдёт любая дифференцируемая сеть.

Главный минус — вычислительная дороговизна. Чтобы обновить θ по loss на query, надо продифференцировать через сам процесс адаптации, а это градиенты второго порядка. На практике часто берут первопорядковое приближение (FOMAML), где второй член отбрасывается: качество почти то же, а считается заметно дешевле.

  • Плюсы: не зависит от архитектуры, применим к классификации, регрессии, RL.
  • Минусы: дорого считать (градиенты второго порядка), чувствителен к гиперпараметрам внутреннего цикла.

Prototypical networks

Prototypical Networks (Snell, 2017) — метрический подход, гораздо проще MAML. Вместо адаптации весов сеть учит пространство эмбеддингов, а классификация сводится к поиску ближайшего центра класса.

Для каждого класса в support set:
  prototype[class] = среднее эмбеддингов его примеров.
Для каждого объекта из query:
  предсказываем класс с ближайшим prototype (обычно евклидово расстояние).

Обучение тоже эпизодическое: на каждом шаге собирают N-way K-shot эпизод, считают прототипы, штрафуют за неверную классификацию query. Никаких внутренних циклов адаптации и градиентов второго порядка — метод дешевле MAML и хорошо работает на image few-shot бенчмарках (Omniglot, miniImageNet).

Ограничение: качество упирается в качество эмбеддинг-пространства. Если признаки классов сильно нелинейны и «среднее» плохо описывает класс, простой прототип проигрывает.

Reptile

Reptile (Nichol, 2018, OpenAI) — упрощение MAML первого порядка. Убирает градиенты второго порядка совсем.

Сэмплируем задачу.
Делаем k шагов обычного SGD на этой задаче → θ_adapted.
Двигаем стартовые веса в сторону адаптированных:
  θ ← θ + ε · (θ_adapted − θ).

Интуиция: если на многих задачах адаптированные веса тянут инициализацию в общую область, то θ сходится к точке, из которой близко до решения любой из задач. Второй порядок не нужен, поэтому Reptile сильно дешевле MAML, а по качеству на few-shot бенчмарках сопоставим.

Готовишься к собесу Data Scientist?
ML, Deep Learning, NLP, MLOps — вопросы с разборами в Telegram
Тренировать DS в Telegram

Применения

  • Few-shot classification. Классический сценарий: распознать новый класс по 1–5 примерам, не переобучая сеть с нуля.
  • Персонализация. Быстрая адаптация под конкретного пользователя в рекомендациях, когда истории мало.
  • Робототехника. Адаптация политики под новую задачу или окружение за считанные попытки.
  • Оптимизация гиперпараметров. Обучение хороших дефолтных настроек и стратегий оптимизации по опыту прошлых задач.
  • Drug discovery и биоинформатика. Предсказание свойств для нового класса молекул, где размеченных данных мало по определению.

Важный нюанс для собеса: в NLP few-shot-обучение во многом вытеснил in-context learning больших языковых моделей — модель адаптируется к задаче прямо из промпта, без дообучения весов. Но meta-learning не умер: он остаётся живым направлением там, где данных мало по природе задачи (медицина, редкие классы, робототехника), и концептуально помогает понимать, что делает in-context learning.

Как спрашивают на собесе

Meta-learning почти не спрашивают у джунов, но на middle+ DS и особенно в ML-командах с few-shot/персонализацией он всплывает. Типичные формулировки:

  • «В чём разница между meta-learning и обычным fine-tuning?» Fine-tuning берёт готовую модель и дообучает под одну задачу. Meta-learning специально готовит модель к быстрой адаптации под целое распределение задач — оптимизирует саму способность адаптироваться.
  • «Объясни MAML на пальцах.» Ждут: учим не веса под задачу, а стартовую точку, из которой пара шагов градиента даёт хорошее качество; внешний цикл дифференцирует через адаптацию.
  • «Чем prototypical networks отличаются от MAML?» Метрический подход против оптимизационного: прототипы и расстояния против адаптации весов градиентом. Prototypical проще и дешевле.
  • «Почему MAML дорого обучать?» Из-за градиентов второго порядка — приходится дифференцировать через процесс адаптации; отсюда FOMAML и Reptile как удешевления.
  • «Что такое support/query set и N-way K-shot?» Базовая проверка, что кандидат понимает саму постановку few-shot, а не только называет модели.

Частые ошибки

  • Путать meta-learning с transfer learning. Transfer/fine-tuning переиспользует признаки под одну новую задачу. Meta-learning оптимизирует способность быстро адаптироваться к любой задаче из распределения — это разные цели.
  • Говорить «MAML учит хорошие веса». MAML учит хорошую инициализацию, а не финальные веса под задачу. Финальные получаются уже после адаптации на support set.
  • Забывать про второй порядок в MAML. Именно градиенты второго порядка делают его дорогим; без упоминания FOMAML/Reptile ответ выглядит поверхностным.
  • Считать meta-learning заменой большим данным. Он помогает при малом числе примеров на задачу, но требует много разнообразных задач на этапе meta-обучения.
  • Игнорировать эпизодическую тренировку. Ключ few-shot-методов в том, что условия few-shot воспроизводят уже на обучении (эпизоды), а не только на тесте.

Связанные темы

FAQ

Чем meta-learning отличается от transfer learning?

Transfer learning берёт модель, обученную на одной большой задаче, и дообучает под новую. Meta-learning с самого начала тренируют на множестве задач так, чтобы адаптация к новой была быстрой и требовала мало примеров. Первое переиспользует признаки, второе оптимизирует саму скорость адаптации.

Когда MAML лучше prototypical networks?

MAML гибче: он работает не только для классификации, но и для регрессии и RL, потому что реально адаптирует веса. Prototypical networks проще, дешевле и часто сильнее на image-классификации, но ограничены задачами, где класс хорошо описывается средним эмбеддингом.

Почему MAML вычислительно дорогой?

Чтобы обновить исходные веса, нужно продифференцировать через сам шаг адаптации на support set — это градиенты второго порядка. Они требуют больше памяти и вычислений. Поэтому используют FOMAML (первопорядковое приближение) или Reptile, которые второго порядка не считают.

Заменили ли LLM meta-learning?

В NLP in-context learning больших моделей во многом закрыл few-shot-сценарии: модель адаптируется прямо из промпта без обновления весов. Но в доменах с малым числом данных по природе задачи (медицина, робототехника, редкие классы) meta-learning остаётся актуальным, и как исследовательское направление он живёт.

Что такое N-way K-shot?

Стандартная постановка few-shot-задачи: N классов и K примеров на класс в support set. Например, 5-way 1-shot — пять классов по одному примеру, из которых модель должна научиться различать их и правильно классифицировать query. Чем меньше K, тем сложнее задача.

Это официальная информация?

Нет. Статья основана на публичных работах: Finn et al. 2017 (MAML), Snell et al. 2017 (Prototypical Networks), Nichol et al. 2018 (Reptile). Конкретный набор вопросов зависит от компании, команды и уровня позиции.


Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.