Прогресс в игре «Месть Монтесумы» многими рассматривался как синоним достижений в области исследования незнакомой среды
Мы разработали метод случайной дистилляции сети (Random Network Distillation, RND) на основе прогнозирования, который поощряет агентов обучения с подкреплением исследовать окружение благодаря любопытству. Этот метод впервые превысил средние результаты человека в компьютерной игре «Месть Монтесумы» (если не считать анонимную заявку в ICLR, где результат хуже нашего). RND демонстрирует ультрасовременную производительность, периодически находит все 24 комнаты и проходит первый уровень без предварительной демонстрации и не имея доступ к базовому состоянию игры.
Метод RND стимулирует переход агента в незнакомые состояния, измеряя сложность предсказания результата наложения постоянной случайной нейросети на данные состояния. Если состояние незнакомо, то итоговый результат предсказать сложно, а значит и награда высока. Метод можно применить к любому алгоритму обучения с подкреплением, он прост в реализации и эффективен при масштабировании. Ниже приводим ссылку на реализацию RND, которая воспроизводит результаты из нашей статьи.
Результаты в игре «Месть Монтесумы»
Для достижения желаемой цели агент должен сначала изучить, какие действия возможны в данной среде и что представляет собой прогресс в достижении цели. Многие сигналы вознаграждения в играх предоставляют учебную программу, так что даже простых стратегий исследования достаточно для достижения цели. В изначальной работе с презентацией DQN «Месть Монтесумы» стала единственной игрой, где DQN показала результат 0% от среднего человеческого балла (4700). Простые стратегии разведки вряд ли соберут какие-то вознаграждения и найдут не больше, чем несколько комнат на уровне. С тех пор прогресс в игре «Месть Монтесумы» многими рассматривался как синоним достижений в области исследования незнакомой среды.
Значительного прогресса удалось достичь в 2016 году путём объединения DQN с бонусом по счётчику, в результате чего агенту удалось найти 15 комнат и получить самый высокий балл 6600 со средним около 3700. С тех пор значительные улучшения результата достигаются только с помощью демонстраций от экспертов-людей или путём доступа к базовым состояниям эмулятора.
Мы провели крупномасштабный эксперимент RND с 1024 воркерами, получив средний результат 10 000 по 9 запускам и лучший средний результат 14 500. В каждом случае агент обнаруживал 20−22 комнаты. Кроме того, в одном меньшем по масштабу, но более длительном запуске (из 10) показан максимальный результат 17 500, что соответствует прохождению первого уровня и нахождению всех 24 комнат. На графике внизу сравниваются эти два эксперимента, показывающие среднее значение в зависимости от обновления параметров.
На визуализации ниже показан ход эксперимента меньшего масштаба. Агент под влиянием любопытства открывает новые комнаты и находит способы набора очков, Во время обучения эта внешняя награда заставляет его позже вернуться в данные комнаты.
Обнаруженные агентом комнаты и средний результат во время обучения. Степень прозрачности комнаты соответствует тому, сколько раз из 10 проходов агента она была обнаружена. Видео
Масштабное исследование обучения на основе любопытства
До разработки RND мы вместе с сотрудниками из Калифорнийского университета в Беркли исследовали обучение без каких-либо вознаграждений, связанных с окружением. Любопытство даёт более простой способ научить агентов взаимодействовать с любым окружением, а не с помощью специально разработанной функции вознаграждения для конкретной задачи, которая ещё не факт, что соответствует решению задачи. В проектах вроде ALE, Universe, Malmo, Gym, Gym Retro, Unity, DeepMind Lab, CommAI для агента открывают большое количество смоделированных сред через стандартизированный интерфейс. Агент, использующий обобщённую функцию вознаграждения, не специфичную для конкретной среды, может приобрести базовый уровень компетентности в широком диапазоне окружений. Это позволяет ему определить полезное поведение даже в отсутствие тщательно проработанных вознаграждений.
В стандартных установках обучения с подкреплением на каждом дискретном временном шаге агент отправляет действие в окружение, а оно реагирует, выдавая агенту новое наблюдение, вознаграждение за переход и индикатор окончания эпизода. В нашей предыдущей статье мы настроили окружение выдавать только следующее наблюдение. Там агент изучает модель предиктора следующего состояния на основе своего опыта и использует ошибку прогнозирования в качестве внутренней награды. В результате его привлекает непредсказуемость. Например, изменение игрового счёта вознаграждается только в том случае, если счёт отображается на экране, а изменение трудно предсказать. Агент, как правило, находит полезными взаимодействия с новыми объектами, так как результаты таких взаимодействий обычно труднее предсказать, чем другие аспекты окружения.
Как и другие исследователи, мы старались избежать моделирования всех аспектов окружающей среды, независимо от того, актуальны они или нет, выбирая для моделирования особенности наблюдения. Удивительно, но мы обнаружили, что даже случайные функции работают хорошо.
Что делают любопытные агенты?
Мы протестировали нашего агента в более чем 50 различных окружениях и наблюдали диапазон компетенций от кажущихся случайными действий до сознательного взаимодействия с окружающей средой. К нашему удивлению, в некоторых случаях агент сумел пройти игру, хотя ему не сообщали цель через внешнее вознаграждение.
Внутреннее вознаграждение в начале обучения
Скачок внутреннего вознаграждения при первом прохождении уровня
Breakout — скачки внутренней награды, когда агент видит новую конфигурацию блоков на ранней стадии обучения и когда впервые проходит уровень после тренировки в течение нескольких часов.
Pong — мы обучили агента контролировать одновременно обе платформы, и он научился держать мяч в игре, что привело к затяжным поединкам. Даже при тренировке против внутриигрового ИИ агент старался максимально продлить игру, а не выиграть.
Боулинг — агент научился играть в игру лучше, чем другие агенты, которых обучали напрямую максимизировать внешнюю награду. Думаем, так происходит, потому что агента привлекает трудно предсказуемое мигание табло после бросков.
Mario — внутренняя награда особенно хорошо согласуется с целью игры: продвижение по уровням. Агент вознаграждается за поиск новых областей, так как детали вновь найденной области невозможно предсказать. В результате агент обнаружил 11 уровней, нашёл секретные комнаты и даже победил боссов.
Проблема шумного телевизора
Как азартный игрок на игровом автомате, привлечённый случайными результатами, агент иногда попадает в ловушку своего любопытства в результате «проблемы шумного телевизора». Агент находит источник случайности в окружающей среде и продолжает наблюдать его, всегда испытывая высокую внутреннюю награду за такие переходы. Примером такой ловушки является просмотр телевизора, воспроизводящего статический шум. Мы демонстрируем это буквально, помещая агента в лабиринт Unity с телевизором, который воспроизводит случайные каналы.
Агент в лабиринте с шумным телевизором
Агент в лабиринте без шумного телевизора
Теоретически, проблема шумного телевизора действительно серьёзная, но мы всё равно ожидали, что в значительно детерминированных средах, как «Месть Монтесумы», любопытство заставит агента находить комнаты и взаимодействовать с объектами. Мы попробовали несколько вариантов предсказания следующего состояния на основе любопытства, сочетающего бонус за исследование со счётом из игры.
В этих экспериментах агент управляет окружающей средой через шумовой контроллер, который с некоторой вероятностью повторяет последнее действие вместо текущего. Эта установка с повторяемыми «липкими» действиями была предложена в качестве наилучшей практики для обучения агентов в полностью детерминированных играх, таких как Atari, для предотвращения запоминания. «Липкие» действия делают непредсказуемым переход из комнаты в комнату.
Случайная дистилляция сети
Поскольку предсказание следующего состояния по своей природе восприимчиво к проблеме шумного телевизора, мы определили следующие релевантные источники ошибок предсказания:
- Фактор 1. Ошибка прогнозирования высока, если предиктору не удаётся обобщить из ранее рассмотренных примеров. Новый опыт соответствует высокой ошибке прогнозирования.
- Фактор 2. Ошибка прогнозирования высока из-за стохастической цели прогнозирования.
- Фактор 3. Ошибка прогнозирования высока из-за отсутствия информации, необходимой для прогнозирования, или потому что класс модели предикторов слишком ограничен, чтобы соответствовать сложности целевой функции.
Мы определили, что фактор 1 — полезный источник ошибок, поскольку он количественно определяет новизну опыта, в то время как факторы 2 и 3 приводят к проблеме шумного телевизора. Чтобы избежать факторов 2 и 3, мы разработали RND — новый бонус исследования, основанный на предсказании выдачи постоянной и случайно инициализированной нейросети в следующем состоянии, учитывая само следующее состояние.
Интуиция подсказывает, что у прогностических моделей низкая погрешность в предсказании состояний, на которых она обучалась. В частности, предсказания агента о выдаче случайно инициализированной нейросети будут менее точными в новых состояниях, чем в состояниях, которые часто встречались агенту раньше. Преимущество использования синтетической задачи прогнозирования состоит в том, что она может быть детерминированной (обход фактора 2), а внутри класса функций предиктор может выбирать предиктор той же архитектуры, что и целевая сеть (обход фактора 3). Это избавляет RND от проблемы шумного телевизора.
Мы объединили бонус за исследование с внешними вознаграждениями через разновидность оптимизации ближайшей политики — Proximal Policy Optimization (PPO), которая использует два значения ценности для двух потоков вознаграждений. Это позволяет использовать разные дисконты для разных вознаграждений и комбинировать эпизодические и неэпизодические вознаграждения. Благодаря такой дополнительной гибкости, наш лучший агент часто находит 22 из 24 комнат на первом уровне в «Мести Монтесумы», а иногда проходит первый уровень после нахождения оставшихся двух комнат. Тот же метод демонстрирует рекордную производительность в играх Venture и Gravitar.
Визуализация ниже показывает график внутреннего вознаграждения в эпизоде «Мести Монтесумы», где агент впервые находит факел.
Важна грамотная реализация
Для выбора хорошего алгоритма важно учитывать общие соображения, такие как восприимчивость к проблеме шумного телевизора. Однако мы обнаружили, что казалось бы совсем небольшие изменения в нашем простом алгоритме сильно влияют на его эффективность: от агента, который не может выйти из первой комнаты до агента, который проходит первый уровень. Чтобы добавить в обучение стабильности, мы избегали насыщения признаков и вывели внутренние вознаграждения в предсказуемый диапазон. Мы также заметили значительные улучшения в производительности RND каждый раз, когда мы находили и исправляли баг (наш любимый включает случайное обнуление массива, что приводило к тому, что внешние вознаграждения расценивались как неэпизодические; мы это поняли только после того, как задумались над внешней функцией ценности, которая выглядела подозрительно периодической). Исправление этих деталей стало важной частью достижения высокой производительности даже при использовании алгоритмов, концептуально похожих на предыдущие работы. Это одна из причин, почему лучше по возможности выбирать простые алгоритмы.
Будущая работа
Мы предлагаем следующие направления дальнейших исследований:
- Анализ преимуществ разных методов исследования и поиск новых способов их объединения.
- Обучение любопытного агента во многих различных окружениях без вознаграждения и изучение переноса в целевую среду с вознаграждениями.
- Глобальная разведка, включающая скоординированные решения на длительных временны́х горизонтах.
Автор: m1rko