Gigaflow: Robust Autonomy Emerges from Self-Play

Сегодня разберём статью о self-play-симуляторе для reinforcement learning (RL).

Авторы показывают, что с помощью симуляции можно относительно дёшево обучить простую модель, достигающую SoTA-результатов на большинстве closed-loop-бенчмарков.

Ключевая идея — добиться необходимого поведения можно и без ground-truth-данных. То есть, вместо разметки и записанных траекторий можно просто дать агентам взаимодействовать друг с другом в большом количестве сцен. У Gigaflow достаточно быстрый симулятор, чтобы за время обучения модель успевала «проехать» миллиарды виртуальных километров — это огромное разнообразие ситуаций.

Среда представляет собой набор карт, на которых случайным образом размещаются агенты (автомобили, велосипедисты, пешеходы). Для каждого агента задаётся последовательность waypoint’ов, через которые он должен проехать — каждая симуляция уникальна.

Чтобы приблизить симуляцию к реальности, вводят частичную наблюдаемость (агенты не знают полного состояния других участников), шум в состояниях и динамике. В результате без явного сценарного программирования возникают сложные взаимодействия: пробки, слияния потоков и нерегулируемые перекрёстки.

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

Обучение проводят с помощью алгоритма PPO. Функция награды включает несколько компонентов: достижение цели, соблюдение ПДД, комфортность вождения, а также штрафы за столкновения и другие нарушения. Интересная особенность — advantage filtering. Обучение фокусируется на наиболее информативных состояниях, в которых действие существенно влияет на результат, а простые ситуации постепенно отфильтровываются.

У Gigaflow лучшие метрики на трёх популярных бенчмарках: CARLA, nuPlan и Waymax. Причём все результаты получены в режиме zero-shot — модель не обучалась ни на одном из этих датасетов.

Разбор подготовил ❣️ Тимур Петров
404 driver not found