Учебный план помог автопилоту научиться обгонять соперников в гоночном симуляторе

Y. Song et al. / arxiv.org, 2021

Швейцарские исследователи в области машинного обучения разработали гоночный автопилот для игры Gran Turismo Sport. Они использовали метод обучения с подкреплением, состоящий из последовательных этапов, которые формируют учебный план для тренировки нейросетевого агента. После тренировок в автосимуляторе автопилот научился обгонять машины соперников на высокой скорости, демонстрируя уровень мастерства, сравнимый с опытным игроком. Системы управления, которые достигают в экстремальных дорожных ситуациях уровня контроля над управлением сравнимого с уровнем опытных пилотов гоночных автомобилей, позволят в будущем повысить безопасность автономного транспорта, считают авторы работы, опубликованной на сайте arxiv.org

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

Швейцарские разработчики под руководством Юньлун Суня (Yunlong Song) из Цюрихского университета совместно с инженерами из подразделения Sony AI Zurich решили подойти к решению задачи автоматического управления автомобилем при больших скоростях и высоких динамических нагрузках, используя методы машинного обучения. Их конечной целью было научить автопилот управлять автомобилем на высокой скорости и обгонять машины соперников, избегая столкновений. 


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

В качестве тестового полигона исследователи выбрали гоночный автосимулятор Gran Turismo Sport, разработанный для консолей Sony PlayStation 4. Игра способна симулировать поведение до 20 автомобилей одновременно, а игровой программный интерфейс (API) позволяет отправлять им команды и извлекать данные об их скорости, ускорении, угле поворота корпуса автомобиля по отношению к центральной линии трассы и измерять дистанцию до окружающих объектов: автомобилей соперников и границ трассы. Все связанные с обучением вычисления осуществляются на компьютере с процессором Intel Core i7-8700 и видеокартой NVIDIA GTX 1080 Ti, а обмен данными с симулятором происходит через ethernet соединение.


Для того чтобы упростить задачу обучения, исследователи разбили ее на несколько последовательных этапов. Такой подход называется обучением по расписанию (curriculum learning) и иногда он позволяет решать исходную задачу эффективнее, чем при попытке научиться решать ее сразу целиком. Это аналогично процессу обучения у людей, когда преподаваемый предмет разбивается на отдельные темы с возрастающей сложностью, которые вместе составляют учебный план. В процессе обучения более простые базовые знания, усвоенные вначале, помогают понять последующие более сложные темы изучаемого предмета.

Для обучения нейросетевого агента разработчики использовали алгоритм мягкого актера-критика (SAC). На первом шаге агент учится проходить трассу за как можно меньшее время без участия соперников. Этот этап фактически основан на результатах предыдущей работы авторов, в которой им с помощью обучения с подкреплением удалось успешно обучить нейросетевого агента управлять автомобилем в симуляторе Gran Turismo Sport и быть быстрее лучших игроков согласно доступной игровой статистике. Во время следующего этапа агент с предобученной на первом шаге политикой тренируется обгонять другие машины на трассе. Для этого симуляцию реконфигурируют, добавляя машины соперников под управлением встроенного игрового интеллекта. На третьем, заключительном шаге обучения, агента тренируют избегать столкновений, увеличивая влияние соответствующих штрафов на функцию вознаграждения.

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

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


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

Командные виды спорта тоже представляют немалый интерес для исследователей в области машинного обучения. Например, недавно разработчики из DeepMind обучили алгоритм играть в футбол. Их нейросетевые человекоподобные агенты освоили сложные движения, такие, например, как дриблинг, и научились командному взаимодействию.

Андрей Фокин

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.