Робот, самостоятельно поворачивающий вентиль — зрелище впечатляющее, особенно когда на все обучение потребовалось лишь 10 подсказок человека. Янник Кильхер (Yannic Kilcher) разбирает статью «Dynamical Distance Learning for Semi-Supervised and Unsupervised Skill Discovery», которая обещает решить одну из самых болезненных проблем обучения с подкреплением (RL) — необходимость ручной настройки функций вознаграждения. Ключ к успеху кроется в том, чтобы научить ИИ понимать «расстояние» между состояниями и стремиться к неизведанным границам.
🧱 Проблема «бутылочного горлышка» и функции вознаграждения 0:00
В классическом обучении с подкреплением (Reinforcement Learning) агенту нужна функция вознаграждения, чтобы понять, что он делает правильно. В теории достаточно просто дать награду «1» за достижение цели и «0» за всё остальное. Однако на практике, как объясняет Янник Кильхер, это приводит к возникновению «бутылочного горлышка» в исследовании (exploration bottleneck).
Представьте робота с множеством суставов и степеней свободы. Вероятность того, что он случайно совершит нужную последовательность движений и дотронется до цели, крайне мала. Чтобы ИИ обучился быстрее, инженеры обычно создают «сглаженный градиент» вознаграждения: чем ближе робот к цели, тем больше промежуточных наград он получает.
Янник Кильхер выделяет главную проблему этого подхода:
- Чтобы создать хорошую функцию вознаграждения, вы уже должны знать, как решить задачу.
- Если вы знаете, как решить задачу, то обучение с подкреплением превращается в «академическое упражнение», а не в поиск нового решения.
- Ручная настройка наград отнимает огромное количество времени и часто бывает невыполнима для сложных сред.
📏 Динамическое обучение расстоянию: суть метода 5:50
Вместо того чтобы полагаться на внешние награды, авторы статьи (среди которых известный исследователь Сергей Левин) предлагают обучать агента функции расстояния $D$ между состояниями.
Представьте лабиринт. Агент перемещается в нём, используя свою текущую стратегию (policy). Даже если он не достигает цели и получает «0» вознаграждения, он всё равно посещает цепочку состояний. Мы можем измерить расстояние между любыми двумя состояниями в этой цепочке просто по количеству шагов, которые потребовались агенту, чтобы перейти из точки А в точку Б.
Ключевые особенности функции расстояния:
- Плотный сигнал: В отличие от редких наград за достижение цели, данные о расстояниях доступны на каждом шагу обучения.
- Универсальность: Функция расстояния $D$ принимает два состояния — текущее и целевое. Это отличает её от обычной «функции ценности» (value function), где цель часто подразумевается неявно.
- Простота обучения: Модель просто учится предсказывать, сколько шагов займет путь между двумя кадрами из истории перемещений.
🧭 Исследование фронтира: как ИИ находит путь в лабиринте 11:43
Если у нас есть рабочая функция расстояния, обучение становится тривиальным: агент просто выбирает те действия, которые минимизируют расстояние до цели. Но что если цель еще не найдена?
Янник Кильхер объясняет алгоритм «неконтролируемого открытия навыков» (unsupervised skill discovery):
- Агент сохраняет все свои попытки в «буфер воспроизведения» (replay buffer).
- ИИ анализирует этот буфер и ищет состояние, которое находится дальше всего от стартовой точки.
- Это состояние объявляется временной целью. Агент пытается достичь его снова и, оказавшись там, начинает случайные исследования уже из этой новой точки.
- Таким образом, ИИ постоянно расширяет «фронтир» (границу) своих знаний об окружении, пока случайно не наткнётся на истинную цель.
Этот подход Янник сравнивает с известным алгоритмом Go Explore, который также фокусируется на возвращении в далекие состояния для дальнейшего поиска.
👥 Полуавтоматический режим: роль человека 14:15
Метод Dynamical Distance Learning (DDL) особенно эффективен в полуавтоматическом режиме (semi-supervised). Именно так робот из начала видео научился крутить вентиль.
Процесс выглядит так:
- Робот совершает серию случайных движений (unsupervised exploration).
- Человеку показывают несколько результатов и просят выбрать тот, который «ближе всего» к желаемому результату.
- Выбранное состояние становится новой целью. Робот использует функцию расстояния, чтобы стабильно достигать этой точки и исследовать пространство дальше.
- Для обучения сложным навыкам (как в примере с роботом-манипулятором) потребовалось всего 10 таких вмешательств со стороны человека.
⚙️ Технические детали и обучение модели 15:20
Технически реализация DDL выглядит на удивление просто. Авторы используют стандартную регрессию.
Параметры обучения:
- Функция потерь: Среднеквадратичная ошибка (MSE) между предсказанным и реальным количеством шагов.
- Стоимость перехода: В простейшем случае цена каждого шага принимается за единицу.
- Входные данные: Пары состояний из эпизодов, сохраненных в памяти.
В экспериментах метод показал отличные результаты на модели Hopper (прыгающий робот). В режиме без учителя робот сам открыл навыки движения вправо и влево, просто потому что эти действия уводили его максимально далеко от начальной точки.
⚠️ Критика: где метод может дать сбой 20:07
Несмотря на элегантность подхода, Янник Кильхер высказывает ряд сомнений относительно его универсальности. По его мнению, у DDL есть «слабые места»:
- Высокий фактор ветвления: Если в среде слишком много направлений движения, понятие «самого далекого состояния» может стать бессмысленным. Вы можете уйти очень далеко по одному пути, но так и не исследовать тысячи других веток.
- Ловушки и циклы: Янник предполагает, что агент может попасть в циклическое движение или выбрать сложный кружной путь, пропустив очевидный короткий маршрут, потому что он зациклен на максимизации расстояния.
- Специфичность сред: Метод может отлично работать в лабиринтах или с манипуляторами, но буксовать в комбинаторно сложных задачах.
В завершение обзора Янник отмечает, что идеи обучения через расстояния и универсальные функции ценности уже встречались в литературе, но данная работа предлагает интересную и рабочую комбинацию этих методов для практических задач робототехники.