Прогресс в игре «Месть Монтесумы» многими рассматривался как синоним достижений в области исследования незнакомой среды

Мы разработали метод случайной дистилляции сети (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 каждый раз, когда мы находили и исправляли баг (наш любимый включает случайное обнуление массива, что приводило к тому, что внешние вознаграждения расценивались как неэпизодические; мы это поняли только после того, как задумались над внешней функцией ценности, которая выглядела подозрительно периодической). Исправление этих деталей стало важной частью достижения высокой эффективности даже при использовании алгоритмов, концептуально похожих на предыдущие работы. Это одна из причин, почему лучше по возможности выбирать простые алгоритмы.

Будущая работа


Мы предлагаем следующие направления дальнейших исследований:

  • Анализ преимуществ разных методов исследования и поиск новых способов их объединения.
  • Обучение любопытного агента во многих различных окружениях без вознаграждения и изучение переноса в целевую среду с вознаграждениями.
  • Глобальная разведка, включающая скоординированные решения на длительных временны?х горизонтах.

Комментарии (16)


  1. denis-19
    05.11.2018 14:58
    +1

    ИИ скоро будет сам в инете находить карту с уровнями игрового задания, правила игры анализировать поиском там же, ну и только со спидраннерами будет сражение.


  1. AngReload
    05.11.2018 18:28

    Статья интересная, но какие же тормознутые видосы.


  1. ivan2kh
    05.11.2018 18:34

    «Проблема шумного телевизора» для человеков тоже актульна.


    1. fzn7
      05.11.2018 19:23
      +1

      Пока мамка борщем кормит


  1. napa3um
    06.11.2018 00:32

    «Любопытство» неплохая эвристика, но всё ещё недостаточно обобщена. Если немножко подумать, то любопытство — это генерация внутреннего сигнала нкйросети, соответствующего некоемогу конкретному состоянию самого вычислителя (например, состоянию «счётчик переборов вариантов слишком большой»). Теперь эту эвристику можно дообобщить до «сенсор внутренних состояний», и отдать управление ей тому же алгоритму подбора, которым обучается и остальная нейросеть (основной критерий — сенсор должен увеличивать точность предсказаний нейросети на модельных задачах). А теперь ещё вынесите эти параметры в рантайм-модель, чтобы прямо во время предсказаний сеть могла бы управлять своим поведением посредством этих сенсоров. И вот вы реализовали в своей системе внимание, фокус, рефлексию, проактивность («активный взгляд») и кучу других феноменов человеческой когнитивной деятельности. Сама идея не самая оригинальная (я бы даже сказал очевидная), я её ещё в студенчестве ковырял, а так же видел кучу статей на аналогичные темы, хоть и, порою, совершенно в другой терминологии описанных (https://arxiv.org/abs/1410.5401, например, а в общем это просто различные гибриды тьюринговых исполнителей с состояниями и перцептронов, обучающихся на обучающей выборке переключать своё состояние наиболее эффективно для решения модельной задачи).

    При должной симуляции условий существования кибернетического агента с этими «нейросенсорами собственного состояния» у вас получится аналог биологического существа с гормональной системой, управляющей его «режимами поведения».


  1. Kant8
    06.11.2018 01:05

    Любопытство наконец добавили.
    Осталось добавить лень и надоедание от повторений, и кожаные мешки будут больше не нужны.


    1. onum
      06.11.2018 11:07

      А они же как раз и стали в качестве метрики «любопытства» использовать «надоедание от повторения».
      До этого они считали «любобытными» те действия, результат которых отличался от ожиданий предсказателя. Но шумный телевизор ставит такую метрику в тупик.
      В этом же подходе, «любобытными» считаются те действия, которые приводят в «редкое» состояние. Для этого генерируется неизвестная для предсказателя функция от состояния. Чем лучше он ее предсказывает, тем чаще он был в этом состоянии, тем менее интересно. В качестве неизвестной функции используется такая же сетка, как и предсказатель, но с рандомными весами.


    1. Theron
      06.11.2018 12:36

      Мне тоже кажется, что люди развивающие ИИ не учли один момент — самые эффективные когнитивные процессы являются одновременно и источником человеческих недостатков.

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

      Если ИИ наделить всеми качествами человека, то он не будет ходить за вас выносить мусор. Он скажет «Вынеси сам/сама» (попытка оптимизации — достигнуть результата не потратив своих ресурсов).
      А нафига мне робот, который будет за меня смотреть футбол и пить пиво?

      «Так вы и есть за меня будете? — Ага.» ©


      1. michael_vostrikov
        06.11.2018 18:46

        Но вы ведь ходите выносить мусор, почему ИИ, обладающий такими же качествами, не будет?


        1. Theron
          06.11.2018 19:28

          В том то и дело, что не такими же. Может с точки зрения КПД я ещё долго буду эффективней, но в части масштабируемости я уже позади (ну не могу я прикрутить ещё одну голову, чтобы увеличить память и скорость мышления).
          Он будет умнее меня и сможет придумать больше отмазок аргументов, чтобы не выносить мусор.

          А если серьёзно, то попробуйте представить, что ваша девушка, жена ну или просто близкий человек с которым вы живёте вдруг станет намного умнее (поиск информации, память, логика и т.п.).
          В моём случае мне представляется следующий вариант:

          1. Сначала я буду рад, т.к. можно переложить часть проблем на партнёра.
            «Но чем же он думает, ведь у него же нет мозгов? — Раз своих нет, то пользуется чужими.» (Волшебник изумрудного города)
          2. Потом начнёт страдать моё самолюбие. С её же стороны я буду казаться обузой.
          3. Далее как с неудобным сапогом: сначала неудобно, потом трёт, потом прихрамываешь, потом начинаешь искать какое-то решение. Применительно к нашей ситуации, это скорее всего будет обиды, ссоры и разрыв отношений.
          4. Результат — мусор выносить мне, т.к. больше некому.

          Можно наверно попробовать запрограммировать ИИ на самопожертвование, но что-то это какая-то ненадёжная грань, ибо «От жизни собачей собака бывает кусачей».


          1. michael_vostrikov
            06.11.2018 20:04

            Люди тоже могут придумать кучу отмазок, но ведь мусор выносят, и понимают почему надо выносить. Почему вдруг ИИ должен не понимать?


            Сначала я буду рад, т.к. можно переложить часть проблем на партнёра.

            Это как? Ты самый умный значит иди мусор выноси?)


            1. Theron
              06.11.2018 20:56

              Не сомневаюсь, что ИИ поймёт необходимость выноса мусора. Я хотел сказать, что ИИ будет достаточно умён (или, если хотите, хитёр), чтобы для достижения цели не тратить свои ресурсы (электроэнергию например), а переложить эту задачу на человека как результат оптимизации. Типа я (ИИ) буду тут думать, т.к. я лучше думаю, а ты (человек) иди выноси мусор, т.к. КПД мышечной массы больше чем у сервоприводов робота.

              В человеческом обществе точно также: умные(точнее хитрые, но я считаю хитрость тоже мерилом интеллекта) руководят, а самые глупые (кто не смог отмазаться) машут лопатами. И поскольку ИИ теоретически может превзойти естественный интеллект, то угадайте кто будет махать лопатами? Отсюда у меня и возник вопрос: а стоит ли делать ИИ по образу и подобию человека?

              Это как? Ты самый умный значит иди мусор выноси?)

              С точностью наоборот — я работаю мозгами, а ты работай ногами). А вообще я здесь имел ввиду переложить решение проблем, требующих применение интеллекта (как работать меньше, а получать больше; как и что выгодней купить/продать; когда и где лучше взять кредит; и т.п.)


  1. Space__Elf
    06.11.2018 04:02

    Наконец-то! Это именно то чего не хватало!


    1. warranty_voider
      06.11.2018 10:33

      Скайнет, ты?


  1. dim2r
    07.11.2018 09:35

    Интересно, а анализ лабиринта на проходимость решается нейронкой? Может нейронка взглянуть на лабиринт и сразу определить — проходим он или нет?


    1. napa3um
      08.11.2018 00:33

      Если не накладывать ограничений на размер нейросети (или, например, на способы её обучения), то, конечно, в такой постановке задачи — может.