Система для экспериментов с искусственным интеллектом в реальных играх и приложениях
6 декабря 2016 года
Проект OpenAI, учреждённый рядом известных инвесторов (Илон Маск (Tesla, PayPal, SpaceX), Джессика Ливингстон (YCombinator), Питер Тиль (Clarium Capital), Рид Хоффман (LinkedIn), компании Amazon и Infosys) с целью развития общедоступных проектов в области искусственного интеллекта, представил платформу Universe (Архивная копия от 1 января 2017 на Wayback Machine), предназначенную для оценки работы систем искусственного интеллекта и проведения тренировки систем машинного обучения в среде, построенной на основе реальных компьютерных игр и приложений. Код проекта написан на языке Python и распространяется под лицензией MIT.
По задумке разработчиков Universe упростит обкатку универсальных систем искусственного интеллекта, способных адаптироваться для разнообразных применений и не завязанных на решении каких-то узкоспециализированных задач. В отличие от вчера представленного проекта DeepMind Lab, платформа Universe не ограничивается игровыми приложениями и предлагает более высокий уровень абстракции, симулирующий работу за компьютером. Интеллектуальные агенты получают доступ к содержимому экрана через VNC на уровне пиксельного изображения и могут контролировать ввод через симуляцию нажатия клавиш на клавиатуре и движения мыши.
Помимо предоставления агентам возможности активных действий в различных приложениях система также может применяться как окружение для тренировки систем машинного обучения. В процессе работы агента человек может подключиться к сеансу для отслеживания активности интеллектуального агента и корректировки его действий. Подготовка окружения сводится к запуску приложения в специально подготовленном контейнере на базе системы Docker и подключения интеллектуального агента при помощи написания скрипта на языке Python. Контейнер с приложением и агент разделены и могут выполняться на отдельных машинах.
Кроме VNC для связи окружения и агента применяется протокол WebSocket, через который передаётся служебная информация о наградах/достижениях, диагностические данные и управляющие сообщения. Интересно, что необходимая для организации обратной связи информация о достижениях в играх может собираться путём привлечения OCR для разбора текста на экране. В случае работы агента с браузером работа пока сосредоточена на обучении взаимодействия с применением типовых кнопок, списков и форм ввода. В качестве одной из целей на будущее упоминается желание научить агента отыскивать в сети неизвестные ему сведения, управлять электронной перепиской и работой с календарём.
Взаимодействие агента с окружением организуется с использованием штатного программного интерфейса Gym, ранее подготовленного проектом OpenAI для создания и сравнения алгоритмов обучения с подкреплением. Если в прошлом алгоритмы на Gem требовали разработки специальных окружений, то Universe даёт возможность организовать работу Gem-скриптов с любыми приложениями без их индивидуальной адаптации. Для взаимодействия с программами на уровне трансляции вывода экрана и симуляции устройств ввода Universe предоставляет универсальный пошаговый интерфейс, позволяющий принимать решения через заданные промежутки времени. В простейшем случае интерфейсный скрипт для создания окружения и запуска агента сводится к следующему коду:
import gym import universe # регистрируем окружения Universe в Gym env = gym.make('flashgames.DuskDrive-v0') # идентификатор окружения Universe (в нашем примере Flash-игра DuskDrive) env.configure(remotes=1) # автоматически создаём локальный контейнер Docker observation_n = env.reset() while True: # простейший агент, нажимающий клавишу вверх 60 раз в секунду action_n = [[('KeyEvent', 'ArrowUp', True)] for _ in observation_n] observation_n, reward_n, done_n, info = env.step(action_n) env.render()
Для запуска контейнера можно использовать команду
$ docker run --privileged --cap-add=SYS_ADMIN --ipc=host \ -p 5900:5900 -p 15900:15900 quay.io/openai/universe.flashgames
Первый выпуск Universe предоставляет около тысячи (Архивная копия от 1 января 2017 на Wayback Machine) готовых окружений, среди которых разнообразные Flash-игры (Архивная копия от 10 июня 2017 на Wayback Machine), браузерные задачи (Архивная копия от 10 июня 2017 на Wayback Machine) и игры, подобные slither.io и GTA V. Сотни из окружений пригодны для проведения обучения с подкреплением и почти все могут использоваться для оценки работы таких алгоритмов. Окружения снабжены стартовыми сценариями, автоматизирующими начальный этап настройки (например, открытие сайта или выбор режима в меню) для приведения состояния программы к готовности для запуска агента. Об участии в подготовке окружений на базе платформы Universe уже объявили компании EA, Valve, Microsoft, NVIDIA и несколько десятков производителей компьютерных игр.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.