CURL: обучение ИИ на «сырых» пикселях без учителя

Yannic Kilcher 11,9 тыс. 28 мин 2 мин 11.04.2020
Главное

CURL: Обучение представлений без учителя для RL 0:00

CURL (Contrastive Unsupervised Representations for Reinforcement Learning) — это универсальный фреймворк, предназначенный для обучения представлений в задачах обучения с подкреплением (Reinforcement Learning, RL) без использования меток или внешних сигналов вознаграждения. Метод, представленный Аравиндом Сринивасом, Мишелем Ласкиным и Петрой Биль, использует концепцию контрастивного обучения для извлечения полезных признаков из «сырых» пикселей изображения, что значительно ускоряет обучение RL-агентов.

Проблема «сырых» данных в RL 2:01

Фундаментальная проблема обучения с подкреплением заключается в поиске эффективного отображения (mapping) от наблюдения (например, кадра игры) к действию, максимизирующему вознаграждение. Обычно это реализуется через нейронную сеть, принимающую на вход «чистые» пиксели.

Однако, по словам Янника Килчера, обучение напрямую на пикселях является крайне сложной задачей для алгоритма, так как ему приходится одновременно решать две задачи:

  1. Извлечение информации: Понимание того, что на экране есть важные объекты (например, космический корабль, метеориты, выстрелы).
  2. Обучение стратегии: Выбор оптимального действия в текущей ситуации.

Килчер отмечает, что если бы исследователь создавал представление вручную (например, передавая координаты объектов), агент обучался бы гораздо быстрее. CURL призван автоматизировать этот процесс, снимая с RL-алгоритма «бремя» извлечения полезных данных.

Механика контрастивного обучения CURL 8:52

Секрет эффективности CURL заключается в контрастивном обучении, которое позволяет нейронной сети самостоятельно создавать задачи для обучения («самообучение» с использованием созданных меток).

Процесс строится на основе трёх ключевых элементов:

Цель сети — научиться определять, какой из предоставленных фрагментов относится к тому же исходному изображению, что и «якорь». Для этого используются две кодирующие нейронные сети:

  1. Query Encoder (FQ): Кодирует «якорь».
  2. Key Encoder (FK): Кодирует потенциальные положительные и отрицательные примеры.

Килчер подчеркивает, что использование идентичных сетей ведет к нестабильности, поэтому авторы применяют «импульсный энкодер» (momentum encoder). Параметры этого энкодера обновляются через экспоненциальное скользящее среднее параметров основного энкодера, что обеспечивает стабильность без необходимости обучать вторую полноценную сеть.

Результаты и эффективность 26:12

Авторы тестировали CURL на задачах DeepMind Control Suite и играх Atari, делая упор на эффективность использования данных (data efficiency) при ограничении в 100 тысяч временных шагов.

Ключевые выводы по итогам экспериментов:

Килчер резюмирует, что такой подход «саморазметки» данных позволяет создавать мощные представления, которые делают архитектуру RL-агентов более гибкой и применимой в широком спектре задач.

💬 Цитаты

«Мы хотим снять с RL-алгоритма бремя извлечения полезной информации из пространства наблюдений.»

Янник Килчер 08:10

«Контрастивное обучение — это тот самый «секретный соус», который создаст для нас качественные представления.»

Янник Килчер 08:37
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
RL (Reinforcement Learning)
Обучение с подкреплением, вид машинного обучения, где агент учится принимать решения, максимизируя награду.
Контрастивное обучение
Метод обучения, при котором модель учится сближать похожие объекты и отдалять непохожие.
Кроппинг (cropping)
Метод обработки изображений, при котором из исходного кадра вырезается фрагмент меньшего размера.
Бинарное произведение (bilinear product)
Математическая операция, позволяющая вычислять сходство между векторами в обучаемом пространстве.
Импульсный энкодер
Метод обновления весов, при котором параметры копируются медленно, через скользящее среднее, для повышения стабильности обучения.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект CURL Reinforcement Learning Yannic Kilcher Contrastive Learning