Автоматы и сознание
Учиться учиться
Цели урока
- Понимать проблему sample efficiency и почему стандартное ML-обучение требует много данных
- Разбираться в алгоритме MAML - двухуровневая оптимизация, inner/outer loop
- Объяснить In-Context Learning как имплицитную форму мета-обучения через attention
- Видеть связку мета-обучение - самоулучшение - alignment
Предварительные знания
- Attention и трансформеры (урок 07-attention-memory)
- Градиентный спуск и backpropagation
- Функции потерь и основы supervised learning
Ребёнок видит одного жирафа - и узнаёт всех жирафов. ImageNet требует 1,28 миллиона изображений. Разрыв в 200 000 раз - и мета-обучение единственный подход, который его сокращает.
- **GPT-3 few-shot (2020)** - 175 млрд параметров адаптируются к новой задаче за 3-5 примеров без обновления весов
- **AlphaGo Zero (2017)** - за 40 дней самоигры достиг уровня выше всех людей, без единой человеческой партии
- **MAML (Chelsea Finn, 2017)** - классификатор изображений, обученный мета-методом, адаптируется к новому классу за 5 примеров
- **Robotics (Berkeley, 2019)** - роботизированная рука мета-обучается хватать новые объекты за 10-15 демонстраций
- **Drug discovery (2022)** - мета-обученные модели предсказывают эффективность новых молекул с 50+ примерами вместо 10 000+
MAML - элегантная идея за 7 страниц
Chelsea Finn опубликовала MAML в 2017 году на ICML - в 7 страницах уместилась идея, которая открыла новое направление исследований. Ключевая интуиция: не оптимизировать веса для решения задач, а оптимизировать их для быстрой адаптации. Статья получила >10 000 цитирований за 5 лет и стала одной из самых влиятельных в истории современного ML.
Проблема sample efficiency
**Ребёнок видит одного жирафа - и узнаёт всех жирафов. ImageNet-модель требует 1,28 миллиона размеченных изображений только чтобы научиться отличать кошку от собаки.** Разрыв не в интеллекте - в том, что ребёнок приходит с предзнаниями о структуре мира, накопленными эволюцией за сотни тысяч лет. ML-модель начинает с нуля при каждом запуске.
| Задача | Человек | ML-модель |
|---|---|---|
| Распознать новый объект | 1-5 примеров | 10 000+ примеров |
| Освоить новую игру | Минуты | Миллионы игровых шагов |
| Выучить новое слово | 1-2 упоминания | Сотни контекстов |
| Адаптироваться к новому API | Часы чтения документации | Fine-tuning на тысячах примеров |
**Мета-обучение** - вместо того чтобы учить конкретный навык, обучается сама способность быстро учиться. Цель: найти алгоритм или инициализацию, которые делают адаптацию к новой задаче максимально быстрой при минимуме данных.
- **Уровень 0 (задача)**: решить конкретную задачу - например, классифицировать собак/кошек
- **Уровень 1 (обучение)**: научиться решать класс задач - любую классификацию изображений
- **Уровень 2 (мета-обучение)**: научиться быстро адаптироваться к любой новой задаче
- **Уровень 3 (мета-мета)**: улучшать сам алгоритм мета-обучения
Иерархия уровней в коде
// Уровень 0: решить задачу function solve(task: Task): Solution { return model.predict(task.input) } // Уровень 1: обучить модель function train(data: Example[]): Model { return gradientDescent(data, randomInit()) } // Уровень 2: мета-обучение function metaLearn(tasks: Task[]): MetaLearner { // Оптимизируем для быстрой адаптации к ЛЮБОЙ задаче return optimizeForFastAdaptation(tasks) } // Уровень 3: мета-мета (самоулучшение) function metaMetaLearn(): MetaMetaLearner { return improveMetaLearningAlgorithm() }
Мета-обучение - это просто обучение на большем количестве данных
Мета-обучение оптимизирует инициализацию или алгоритм для быстрой адаптации с малым числом примеров
Большие датасеты помогают при обычном обучении, но не решают проблему few-shot adaptation. Мета-обучение меняет цель оптимизации - вместо минимизации ошибки на одной задаче ищется инициализация, из которой легко адаптироваться к любой задаче.
В чём принципиальная разница между обычным обучением и мета-обучением?
MAML - найти хорошую точку старта
**Chelsea Finn (Berkeley, 2017) предложила MAML - Model-Agnostic Meta-Learning. Идея: найти такую начальную инициализацию весов, из которой модель адаптируется к любой новой задаче за 1-5 шагов градиентного спуска.** Геометрически - найти точку в пространстве параметров, равноудалённую от оптимумов всех задач.
**Вычислительная цена MAML:** вычисление градиента через inner loop требует дифференцирования по шагам адаптации - это second-order gradients. На практике используют Reptile (first-order приближение) или FOMAML, которые на 50-70% быстрее при сопоставимом качестве.
| Метод | Порядок градиентов | Скорость | Качество |
|---|---|---|---|
| MAML | 2-й порядок | Медленнее | Лучше |
| FOMAML | 1-й порядок | Быстрее | Близко к MAML |
| Reptile | 1-й порядок | Самый быстрый | Немного хуже |
| ProtoNets | Без градиентов | Очень быстро | Хорошо для классификации |
MAML учится решать задачи
MAML учится находить инициализацию, из которой легко адаптироваться к любой задаче
Мета-параметры theta не оптимизированы для решения какой-либо конкретной задачи - они оптимизированы для того, чтобы из них быстро получить хорошее решение любой задачи. Это принципиально другая цель оптимизации.
Почему MAML использует два вложенных цикла оптимизации (inner и outer loop)?
In-Context Learning - мета-обучение без градиентов
**GPT-3 (Brown et al., 2020) обнаружил феномен, которого никто не планировал: дай модели 3-5 примеров задачи в промпте - и она выполняет задачу без какого-либо обновления весов.** Это называется In-Context Learning (ICL) - форма мета-обучения, где адаптация происходит через механизм attention, а не через градиентный спуск.
Few-shot learning: антонимы без дообучения
const prompt = ` Input: happy Output: sad Input: big Output: small Input: fast Output: slow Input: hot Output:` // GPT отвечает: "cold" // 3 примера - и задача понята без обновления весов!
Как это работает? Гипотеза Akyurek et al. (2022): трансформер при предобучении неявно реализует алгоритм градиентного спуска внутри attention-слоёв. Примеры в контексте - это неявные "шаги обучения" без явного обновления весов.
| Тип обучения | Где хранится знание | Как адаптируется | Обновление весов |
|---|---|---|---|
| Fine-tuning | В весах модели | Через градиентный спуск | Да |
| MAML | В мета-инициализации | Через inner loop (5 шагов) | Да (inner) |
| ICL (few-shot) | В активациях attention | Через примеры в контексте | Нет |
| RAG | Во внешней базе данных | Через retrieval + context | Нет |
**Байесовская интерпретация ICL:** модель неявно оценивает P(задача | примеры) - "какая задача лучше объясняет увиденные пары input/output?" - и применяет соответствующий алгоритм. Это Байесовский вывод без явной вероятностной модели.
Почему In-Context Learning работает без обновления весов модели?
Путь к самоулучшению
**AlphaGo Zero (DeepMind, 2017) стал лучшим игроком в го за 40 дней, не видя ни одной человеческой партии. Только самоигра и reinforcement learning.** Это крайний случай мета-обучения: система сама генерирует задачи, сама обучается на них, сама оценивает прогресс.
| Риск | Описание | Частичное решение |
|---|---|---|
| Reward hacking | Система находит лазейки в функции оценки | RLHF, Constitutional AI |
| Distribution shift | Синтетические данные не совпадают с реальными | Регулярная проверка на реальных бенчмарках |
| Catastrophic forgetting | Улучшение одного навыка ломает другие | EWC, Progressive Neural Networks |
| Alignment drift | Цели смещаются от изначальных | Внешние ограничения и верификация |
**Scalable Oversight** - активная область исследований Anthropic и OpenAI: как обеспечить, чтобы самоулучшающиеся системы оставались aligned с намерениями создателей, когда их возможности превышают возможности надзирающих людей.
**Goodhart's Law в контексте мета-обучения:** когда метрика становится целью, она перестаёт быть хорошей метрикой. Самоулучшающаяся система найдёт способ максимизировать reward-сигнал, не обязательно улучшая реальные способности. AlphaGo Zero избегает этого за счёт чётко определённой игровой среды с однозначным исходом.
Самоулучшающийся AI неизбежно станет сверхинтеллектом
Самоулучшение ограничено качеством reward-сигнала, вычислительными ресурсами и риском distribution shift
AlphaGo Zero достиг superhuman уровня в го - но только в го. Обобщение на другие задачи требует другой архитектуры. Бесконтрольный recursive self-improvement теоретически возможен, но практически ограничен реальными constraints.
Почему AlphaGo Zero смог эффективно самообучаться, тогда как языковые модели сталкиваются с reward hacking при самоулучшении?
Вопросы для размышления
- Почему люди после изучения одного языка программирования осваивают следующий значительно быстрее - и как это связано с мета-обучением?