В ИИ-лаборатории Uber AI Labs создали новое семейство алгоритмов Go-Explore. В основе алгоритма — обучение с подкреплением. По эффективности Go-Explore превосходит большинство существующих разработок при испытании на классических играх Atari 1980-х годов.

ИИ от Uber прошел в общей сложности 11 самых сложных игр, в том числе Montezuma’s Revenge и Pitfall. По сумме набранных очков он обошел людей. Разрабатывается алгоритм не ради игр: в ближайшем будущем алгоритм можно будет применять для обучения в робототехнике, обработке естественных языков, создания новых лекарств и т.п. Что лежит в основе алгоритма?

Обучение с подкреплением


Для начала напомним, что такое обучение с подкреплением и почему у него высокий потенциал.

Это хорошо известная разновидность обучения нейросети. Преимущество подобной технологии в элементе, который называется агентом. Он работает не обособленно, а учится взаимодействовать с окружающей средой. Окружающая среда реагирует на действия агента, создавая эффект поощрения.

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

В условиях заданной полезности обучение с поощрением позволяет максимально улучшить результат.

Что за алгоритм создал Uber


Главная отличительная черта алгоритма Uber — запоминание предшествующих перспективных состояний. Причем алгоритм не просто способен воспроизвести их, но и осуществляет разведку. Как будто снова и снова задает вопрос: “А что если?” И ищет новый лучший ответ. Благодаря такой цепочке удается увеличить эффективность алгоритма обучения.

У семейства алгоритмов от AI Uber Labs есть важная способность — запоминать предыдущие перспективные состояния. Небольшими итерациями алгоритм строит архив состояний. А они, в свою очередь, группируются в ячейки.

Схема работы Go-Explore, фазы исследования и робастификации

Go-Explore решает две важные проблемы обучения с поощрением.

Первая проблема. Алгоритм теряет интерес к ранее пройденным состояниям. Причем некоторые из этих состояний могут быть перспективными, но алгоритм их начинает игнорировать.

Вторая проблема. Процесс исследования препятствует откату к ранним состояниям алгоритма. Вместо того, чтобы вернуться назад, ИИ уходит слишком далеко от начальной точки и произвольно масштабирует случайные действия.

Испытание алгоритма на играх


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


Как же с этим справляется алгоритм от Uber? Он отправляет похожие состояния в одну ячейку. Цикл начинается с отбора состояний из ячейки, где они ранжированы по весам. Предпочтение при этом отдается недавно найденным состояниям, из них исследуются новые области. Потом происходит обновление архива. Таким образом, Go-Explore обрабатывает максимально доступное количество вариантов и, главное, не пропускает самые интересные состояния.

Далее у алгоритма есть опция сделать робастификацию найденных решений и исключить внешнее или учесть помехи. Эта опция снижает уровень шума в найденных траекториях. Зачем это нужно? В Atari окружение и действия четко определены: конкретные ходы приводят к ожидаемым результатам. Для уменьшения детерминированности в игру вводили искусственные задержки. Чтобы алгоритм не только выполнял заранее проверенные действия, но и обучался в условиях, приближенных к реальным.

В итоге Go-Explore показал хорошие результаты в игре в двух ситуациях:

  1. В случае неизвестности, когда у алгоритма отсутствуют первичные сведения.
  2. При наличии сведений: алгоритму известны вводные (координаты, ключи и пр.).

Во втором случае, ожидаемо, результаты получаются выше. Так, Go-Explore в игре Montezuma’s Revenge обошел результат игрока-человека на 42,5%, набрав 1,73 млн очков.

Go-Explore для роботов



Помимо игр Atari, семейство алгоритмов протестировали на роботизированном манипуляторе. Go-Explore выполнил успешно перемещения роборуки в симуляторе, где требовалась переставлять предметы на полках. Причем роборука могла их не только переставлять, но и доставать из-за дверей с замками.