GTA V подключили к платформе OpenAI Universe для обучения ИИ автопилота
Прошло чуть больше месяца с тех пор, как некоммерческая организация OpenAI Илона Маска представила связующее программное обеспечение Universe для тренировки и обучения сильного ИИ. Теоретически, обучение может происходить на всей информации человечества, доступной через интернет. С помощью программной платформы Universe интеллектуальный агент использует компьютер в точности так же, как это делает человек: он будет смотреть на пиксели компьютерного экрана и взаимодействовать при помощи виртуальных клавиатуры и мыши.
Сейчас к десяткам игр, доступных для тренировки ИИ, добавилась игра Grand Theft Auto V, которая отличается исключительным реализмом.
Вы можете создать агента ИИ беспилотного автомобиля на любом фреймворке для машинного обучения и относительно легко подключить к игре на компьютере с установленной GTA V.
Агент ИИ стоит на перекрёстке. В консольной диагностике слева отображается статус нажатия педали тормоза (true) и другие текущие параметры автопилота
Игра GTA V, пусть даже с отключенным насилием, предоставляет богатые возможности для обучения ИИ для беспилотного автомобиля. Это один из самых больших и насыщенных открытых миров. Игровое действие происходит на территории острова Сан-Андреас площадью почти в 20% настоящего Лос-Анджелеса. Тут можно запускать самые разные сценарии для тестирования ИИ. Агентам доступны 257 различных типов автомобилей, 7 типов велосипедов, 14 типов погоды, а окружающая среда поддаётся изменению прямо во время симуляции.
Остров Сан-Андреас
Благодаря многочисленным модам, в игру GTA V можно загружать настоящие города, настоящие автомобили, настоящие дорожные знаки и другие объекты. Соответственно, ваш агент ИИ будет обучаться управлению автомобилем в настоящих дорожных условиях.
Открытие всеобщей универсальной платформы Universe — продолжение планомерных действий OpenAI по созданию всемирного открытого универсального ИИ. В апреле текущего года организация выпустила публичную бета-версию инструментария OpenAI Gym для разработки и сравнения алгоритмов обучения с подкреплением. «Спортзал» OpenAI Gym состоит из большого количества окружений (от симулятора гуманоидного робота до игр Atari). Есть сайт для сравнения и воспроизведения результатов.
OpenAI считает, что обучение с подкреплением — важный способ машинного обучения, который позволит в значительной степени усовершенствовать ИИ. В процессе обучения таким методом испытуемая система (агент) обучается, взаимодействуя с некоторой средой. В отличие от традиционного обучения с учителем, откликом на принятые решения ИИ являются сигналы подкрепления, при этом некоторые правила подкрепления формируются динамически и труднодоступны пониманию человека, то есть базируются на одновременной активности формальных нейронов.
Интеграция Universe с Grand Theft Auto V создана и поддерживается в рамках проекта DeepDrive, который сейчас перешёл на open source. Проект предусматривает возможность запуска агента Universe на своём собственном компьютере с установленной копией игры.
Посредством Universe агент искусственного интеллекта получает доступ к реалистичному трёхмерному игровому миру GTA V. На следующем видеоролике показаны кадры из игры, которые переданы для обработки агенту ИИ (искусственно замедлены до 8 FPS, слева вверху), диагностическая информация от агента и окружения (слева внизу), а также удобный для просмотра человеком вид с камеры (справа).
Интеграция ИИ в игру запрещает любые насильственные действия в GTA V.
Для начала работы агента на своём компьютере требуется запустить серверный процесс GTA V. Предварительно следует установить питоновскую библиотеку universe, а затем подключить агента с помощью следующего кода.
import gym
import universe # register Universe environments into Gym
from universe.spaces import joystick_event
env = gym.make('gtav.SaneDriving-v0')
env.configure(remotes='vnc://$host:$port') # point to the GTA V Universe server
observation_n = env.reset()
while True:
steer = joystick_event.JoystickAxisXEvent(-1) # turn right
throttle = joystick_event.JoystickAxisZEvent(-1) # go in reverse
# Alternatively, use WASD to steer: ('KeyEvent', 'w', True)
action_n = [[steer, throttle] for _ in observation_n]
observation_n, reward_n, done_n, info = env.step(action_n)
env.render()
Как обычно для агентов Universe, ИИ использует виртуальную клавиатуру, но в этом случае ему доступен и виртуальный джойстик. Лучшие результаты ИИ демонстрирует именно с джойстиком.
DeepDrive — это специализированная платформа для разработки ИИ для беспилотных автомобилей с открытым исходным кодом. В ней используются моддерские фреймворки и специальные техники, чтобы превратить GTA V в нормальный автомобильный симулятор. Доступны предварительно обученные агенты со способностями к управлению транспортом и наборы данных, на которых происходило их обучение.
Хотя платформа DeepDrive появилась раньше, чем Universe, но теперь её разработчик принял решение, что будет разумно перевести свою работу на эту универсальную открытую платформу. Это был правильный шаг. Раньше для запуска агента требовался компьютер под Windows и много часов настройки окружения (там использовался перехват DirectX для захвата экрана, а для написания агентов нужно было использовать интерфейс C++ к Caffe под Windows). Теперь DeepDrive устанавливается за 20 минут, работает под Linux и OS X, а писать агентов можно на любом фреймворке для машинного обучения.
В открытом доступе опубликованы исходный код и AMI для GTA V, предварительно обученный агент-водитель. Его обучение продолжалось 21 час (600 тыс. изображений). Агент обладает базовыми навыками вождения и представляет собой хорошее начало для собственных экспериментов.
Совместными усилиями тысяч агентов ИИ можно создать по-настоящему изысканного водителя — программу, которая может управлять настоящим беспилотным автомобилем в реальном мире.