Проект OpenAI, учреждённый рядом известных инвесторов (Илон Маск (Tesla, PayPal, SpaceX), Джессика Ливингстон (YCombinator), Питер Тиль (Clarium Capital), Рид Хоффман (LinkedIn), компании Amazon и Infosys) с целью развития общедоступных проектов в области искусственного интеллекта, представил платформу Universe, предназначенную для оценки работы систем искусственного интеллекта и проведения тренировки систем машинного обучения в среде, построенной на основе реальных компьютерных игр и приложений. Код проекта написан на языке Python и распространяется под лицензией MIT.
По задумке разработчиков Universe упростит обкатку универсальных систем искусственного интеллекта, способных адаптироваться для разнообразных применений и не завязанных на решении каких-то узкоспециализированных задач. В отличие от вчера представленного проекта DeepMind Lab, платформа Universe не ограничивается игровыми приложениями и предлагает более высокий уровень абстракции, симулирующий работу за компьютером. Интеллектуальные агенты получают доступ к содержимому экрана через VNC на уровне пиксельного изображения и могут контролировать ввод через симуляцию нажатия клавиш на клавиатуре и движения мыши.
Помимо предоставления агентам возможности активных действий в различных приложениях система также может применяться как окружение для тренировки систем машинного обучения. В процессе работы агента человек может подключиться к сеансу для отслеживания активности интеллектуального агента и корректировки его действий. Подготовка окружения сводится к запуску приложения в специально подготовленном контейнере на базе системы Docker и подключения интеллектуального агента при помощи написания скрипта на языке Python.
Взаимодействие агента с окружением организуется с использованием программного интерфейса Gym, ранее подготовленного проектом OpenAI для упрощения создания и сравнения алгоритмов обучения с подкреплением. Если в прошлом Gem требовал разработки специальных окружений, то
Universe даёт возможность организовать работу алгоритма с любыми приложениями без их индивидуальной адаптации. Для взаимодействия с программами на уровне трансляции вывода экрана и симуляции устройств ввода Universe предоставляет универсальный пошаговый интерфейс, позволяющий принимать решения через заданные промежутки времени. В простейшем случае интерфейсный скрипт для создания окружения и запуска агента сводится к следующему коду:
import gym import universe # регистрируем окружения Universe в Gym env = gym.make('flashgames.DuskDrive-v0') # идентификатор окружения Universe (в нашем примере Flash-игра DuskDrive) 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()
Первый выпуск Universe предоставляет около тысячи готовых окружений, среди которых разнообразные Flash-игры, браузерные задачи и игры, подобные slither.io и GTA V. Сотни из окружений пригодны для проведения обучения с подкреплением и почти все могут использоваться для оценки работы таких алгоритмов. Об участии в подготовке окружений на базе платформы Universe уже объявили компании EA, Valve, Microsoft, NVIDIA и несколько десятков производителей компьютерных игр.