Гоночний автопілот обігнав кращих гравців в автосимуляторі Gran Turismo Sport

Інженери з підрозділу штучного інтелекту компанії Sony розробили алгоритм автопілота GT Sophy для гоночного автосимулятора Gran Turismo Sport. Вони використовували метод навчання з підкріпленням і безліч заздалегідь сконфігурованих сценаріїв, в яких нейромережевий агент навчався проходити трасу за мінімально можливий час і використовував різні тактики для обгону суперників. GT Sophy навчилася, наприклад, користуватися помилками суперників і застосовувати сліпстрім, рухаючись у завихреному повітряному потоці за іншою машиною. Крім цього розробники навчили алгоритм дотримуватися спортивного етикету, уникати критичних зіткнень з іншими машинами і зрізати кути. У кіберспортивних змаганнях GT Sophy показала найкращий час в одиночних заїздах, а також змогла перемогти команду кращих гравців у спільних гонках, набравши вдвічі більше очок. Стаття з описом розробки опублікована в журналі.


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


Найбільш екстремально такого роду ефекти проявляються в автоспорті, в якому автопілоту, крім складної фізики управління на високих швидкостях, доводиться стикатися і з іншими проблемами. Для перемоги над суперниками на трасі необхідно не тільки успішно утримувати автомобіль на обраній траєкторії, не допускаючи втрати керування, а й використовувати тактичні прийоми: вичікувати потрібний момент для маневру і вибирати оптимальну траєкторію для обгону, або, наприклад, використовувати обурені повітряні потоки, що утворюються позаду автомобіля суперника, для отримання переваги у вигляді зменшення опору повітря і зниження витрати палива (сліпстрім). Крім того, як і в будь-яких змаганнях безпілотний гоночний автомобіль повинен дотримуватися спортивного етикету - певного набору правил, які забороняють неспортивну поведінку. Наприклад, не можна стикати автомобілі суперників з траси або зрізати кути.

Оскільки навчання і тестування автопілотів для гоночних автомобілів в реальних умовах ускладнюється високою ймовірністю зіткнень, то в багатьох дослідженнях і розробках, присвячених цій темі, переважно використовуються можливості симуляторів. Тим самим шляхом пішла і команда інженерів у галузі машинного навчання з підрозділу 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, який навчили грати в футбол, використовувати складні рухи, такі як дриблінг і допомагати партнерам по команді.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND