Инженеры из подразделения искусственного интеллекта компании Sony разработали алгоритм автопилота GT Sophy для гоночного автосимулятора Gran Turismo Sport. Они использовали метод обучения с подкреплением и множество заранее сконфигурированных сценариев, в которых нейросетевой агент обучался проходить трассу за минимально возможное время и использовал различные тактики для обгона соперников. GT Sophy научилась, например, пользоваться ошибками соперников и применять слипстрим, двигаясь в завихренном воздушном потоке за другой машиной. Кроме этого разработчики научили алгоритм соблюдать спортивный этикет, избегать критических столкновений с другими машинами и срезать углы. В киберспортивных соревнованиях GT Sophy показала наилучшее время в одиночных заездах, а также смогла победить команду лучших игроков в совместных гонках, набрав вдвое больше очков. Статья с описанием разработки опубликована в журнале Nature.
Прогресс в создании автомобильных автопилотов достиг уровня, когда некоторые компании уже готовы к запуску сервисов такси, в которых будут использоваться только полностью беспилотные автомобили. Считается, что существующие алгоритмы уже достаточно совершенны, чтобы справиться с большинством типичных ситуаций, возникающих на дорогах. Однако, многое меняется с увеличением скорости движения, когда динамика взаимодействия автомобиля с дорожным покрытием и воздушным потоком приобретает сложный нелинейный характер.
Наиболее экстремально такого рода эффекты проявляются в автоспорте, в котором автопилоту, помимо сложной физики управления на высоких скоростях, приходится сталкиваться и с другими проблемами. Для победы над соперниками на трассе необходимо не только успешно удерживать автомобиль на выбранной траектории, не допуская потери управления, но и использовать тактические приемы: выжидать нужный момент для маневра и выбирать оптимальную траекторию для обгона, или, к примеру, использовать возмущенные воздушные потоки, образующиеся позади автомобиля соперника, для получения преимущества в виде уменьшения сопротивления воздуха и снижения расхода топлива (слипстрим). Кроме того, как и в любых соревнованиях беспилотный гоночный автомобиль должен соблюдать спортивный этикет — определенный набор правил, которые запрещают неспортивное поведение. К примеру, нельзя сталкивать автомобили соперников с трассы или срезать углы.
Так как обучение и тестирование автопилотов для гоночных автомобилей в реальных условиях осложняется высокой вероятностью столкновений, то во многих исследованиях и разработках, посвященных этой теме, преимущественно используются возможности симуляторов. По тому же пути пошла и команда инженеров в области машинного обучения из подразделения Sony AI под руководством Питера Вурмана (Peter Wurman). В качестве тестового полигона для своей новой разработки — гоночного автопилота GT Sophy — они выбрали автосимулятор Gran Turismo Sport для Sony PlayStation 4.
Частично новый проект основан на предыдущей версии автопилота, о которой мы писали ранее. За основу нового алгоритма GT Sophy, как и раньше, взят нейросетевой агент, который получает на вход сырые данные с сенсоров виртуального автомобиля и превращает их в сигналы управления — угол поворота руля и положения газа и тормоза. Это позволяет отказаться от модельного подхода, в котором бы потребовалось описывать взаимодействие автомобиля с окружающим миром. Вместо этого нейросеть обучается взаимодействию с окружением непосредственно из опыта.
Программный интерфейс (API) Gran Turismo позволяет получать информацию о линейной и угловой скорости, ускорении, нагрузках на шины, угле поворота корпуса автомобиля по отношению к центральной линии трассы, а также вычислять дистанцию до окружающих объектов: других автомобилей и границ трассы. Тренировка агента происходила методом обучения с подкреплением. В этом варианте машинного обучения агент учится взаимодействовать с окружением методом проб и ошибок. Каждое действие агента вызывает отклик среды, который называется вознаграждением и служит мерой правильности выполняемых агентом действий. Некоторые из них приводят к возрастанию величины вознаграждения, тогда как другие — неправильные — штрафуются и снижают награду. Алгоритм запрограммирован стремиться к максимальной величине вознаграждения, поэтому в процессе обучения он начинает избегать неправильных действий. Зачастую успешность метода обучения с подкреплением зависит именно от выбора функции, задающей величину вознаграждения.
У GT Sophy основные компоненты функции вознаграждения стимулируют агента проходить трассу за как можно меньшее время (то есть поддерживать максимально возможную скорость), сокращать дистанцию до машин соперников, двигающихся впереди, обгонять их, а затем пытаться оторваться от них, увеличивая дистанцию. При этом в функцию входят и штрафные параметры. Величина вознаграждения будет уменьшена, например, за отклонение от траектории, что должно препятствовать срезанию углов. Предусмотрены также штрафы за пробуксовку колес, за контакт с другими машинами и границами трассы. Этих событий алгоритм старается избежать. Отдельно учитывается контакт с задней частью впереди идущего автомобиля, в результате которого оппонент может легко потерять контроль над машиной, что может быть расценено как неспортивное поведение.
Для обучения нейросети GT Sophy разработчики используют разновидность алгоритма мягкого актора-критика (quantile regression soft actor-critic). В этом подходе одна часть алгоритма (актор) генерирует политику, то есть выбирает какие действия (угол поворота руля, положения педалей газа и тормоза) нужно совершить на основе наблюдений агента, а другая часть (критик) оценивает, насколько хороши эти действия. Обучение выполняется асинхронно, несколько копий агентов действуют на трассе, используя последнюю сгенерированную политику и одновременно пополняют буфер опыта новыми данными, которые используются для обучения и генерирования обновленной версии политики.
Для тренировки нейросетей алгоритма в датацентре PlayStation Now использовались мощности видеокарты Nvidia V100 или A100, восемь CPU и 55 гибибайтов ОЗУ. Генерация опыта для алгоритма происходила с помощью агентов в автосимуляторах, работающих на нескольких (от 10 до 20) консолях PlayStation 4. При этом игра поддерживает управление до 20 автомобилями на одной трассе одновременно. Обучение GT Sophy прохождению трасс на скорость с использованием 10 консолей PS4 занимало в среднем около 8 дней, а тренировка алгоритма в заездах с другими автомобилями на трассе от 7 до 12 дней на 20 приставках. Обычно на то, чтобы просто освоиться с трассой у Sophy уходило несколько часов, а все остальное время требовалось, чтобы достичь результатов, превосходящих результат 95 процентов игроков, согласно доступной игровой статистике.
Для того чтобы GT Sophy могла не только выигрывать заезды на скорость, но и участвовать в полноценных гонках одновременно с реальными соперниками на трассе, разработчики включили в тренировку множество сценариев, которые помогли алгоритму обучиться полезным тактическим приемам. В них варьировались число одновременно присутствующих на трассе автомобилей их стартовые позиции, скорости и расстояния между ними. Так же менялось их поведение и степень агрессивности вождения. Среди сценариев были, например, такие, которые помогали алгоритму научиться проезжать сложные места на трассе, например шикану, и использовать слипстрим. Для сокращения времени обучения на одной трассе могло присутствовать больше одного агента и групп соперников.
Летом и осенью 2021 года GT Sophy приняла участие в двух киберспортивных соревнованиях, в которых ее эффективность сравнили с результатами лучших игроков в Gran Turismo Sport. Соревнования проходили на трех трассах в формате заездов на время, когда на трассе находился только один автомобиль, и в гонках с реальным игроками, в которых на трассе одновременно находилось четыре автомобиля под управлением GT Sophy и четыре автомобиля, управляемых людьми. Общий результат команды в совместных заездах складывался из очков, которые получал каждый из участников в зависимости от места, на котором он финишировал.
Во всех заездах на время Sophy показала лучшее время, но в групповом заезде 4 на 4 в первом соревновании летом 2021 года алгоритм уступил команде людей с суммарным счетом 86 очков против 70. После внесенных разработчиками изменений в настройки и сценарии обучения, а также увеличения размера используемой нейросети, GT Sophy приняла участие в следующем турнире осенью 2021 года. В нем алгоритм победил команду лучших игроков со счетом 104 очка против 52.
Спортивные игры часто используют для экспериментов с машинным обучением. Недавно мы рассказывали о новом алгоритме от компании DeepMind, который обучили играть в футбол, использовать сложные движения, такие как дриблинг и помогать партнерам по команде.
Андрей Фокин