研究人员构建了TerraZero,一个高速驾驶仿真器,通过完全自对弈训练自动驾驶策略——无需任何人类演示。通过从真实世界地图中程序化生成数百万个交通场景,它能够产生同时控制车辆、行人和骑行者的联合策略。该系统在面向对象的驾驶仿真器中实现了迄今最高的吞吐量之一,同时支持多种数据源。
目录
研究人员的构建内容
TerraZero是一个闭环驾驶仿真器,专为大规模强化学习与自对弈而设计。它结合了快速的C仿真引擎与程序化场景生成器,可将单个真实世界地图转化为数千个独特的训练片段。该仿真器支持Waymo、nuPlan和CARLA的地图数据,并将其转换为紧凑的二进制格式,供引擎直接读取。
系统对异构交通进行建模:汽车(急动度控制)、行人(单轮模型)、骑行者(紧凑自行车模型)和卡车(带轮胎力的自行车模型)。一个单一的共享神经网络通过按类型掩码操作来控制所有智能体类型。基于规则的NPC(非玩家角色)丰富了交通组合,并有助于打破自对弈中的对称性。
训练采用跨多个GPU和节点的分布式数据并行。梯度在所有rank间进行all-reduce,关键归一化统计量(优势、值重缩放、优先级采样)保持全局一致。整个堆栈运行在PufferLib(向量化与训练框架)之上。

关键成果
TerraZero的核心主张是实现了面向驾驶的零演示自对弈——策略仅使用地图几何和程序化生成的场景从零开始学习,无需任何人类驾驶日志。异构自对弈策略(称为仿真智能体)在32个A100 GPU上仅使用Waymo地图几何进行训练。
该系统实现了“面向对象级、支持自对弈的驾驶仿真器中迄今最高的吞吐量之一”。虽然论文未公布精确的数值吞吐量对比,但强调该架构解决了仿真速度与场景逼真度之间的典型矛盾。之前的仿真器要么运行快速但缺乏真实的交通交互,要么功能丰富但慢了几个数量级。
通过完全自对弈训练,策略暴露于自动课程中:随着策略提升,与之交互的交通也相应地变得更加熟练。这避免了手动场景设计,直接解决了自动驾驶中的长尾问题。
工作原理
TerraZero将工作划分给CPU和GPU。对象级动力学、观测构建、奖励计算和交通信号灯逻辑在C中运行(编译为CPython扩展)。策略推理和学习在GPU上的PyTorch中运行。环境在共享内存缓冲区上的并行工作进程中执行,训练器在单次设备传输中消费整个批次。
程序化场景生成从记录轨迹和地图几何开始。在每一片段中,随机机制扩展种子场景: - 智能体放置:数量和位置随机采样,通常超过原始记录的密度。 - 目标分配:导航目标通过车道拓扑图上的前向行走采样,可配置dropout以鼓励鲁棒行为。 - 参与者多样化:边界框尺寸从类型特定范围采样,使策略暴露于轿车、卡车、公交车等。 - 运动学参数随机化:每个智能体每片段采样四个系数(最大速度、最大加速度、最小速度、最小加速度),迫使策略在线适应。
分布式自对弈使用数据并行。每个rank运行自己的环境并计算本地梯度。归一化统计量(优势、PopArt值重缩放、联合优先级采样)跨rank全局同步,以保持单一一致的尺度。
基于规则的NPC(例如,在红灯时停车的车辆、在人行横道过马路的行人)提供结构化行为,无需学习模型,帮助自对弈策略遭遇多样化且真实的交互。

为何对机器人学重要
自动驾驶是具身AI中最困难的挑战之一。传统的RL方法依赖于昂贵且罕见事件覆盖有限的人类演示数据。TerraZero表明,自对弈——搭配足够丰富的程序化仿真器——可以在没有驾驶日志的情况下产生有能力的策略。这显著降低了组织开发自动驾驶软件的入门门槛。
该架构也是模块化的:支持新数据集仅需一个到通用表示的转换器。这使得TerraZero适用于不同的地理区域和传感器配置。
对于更广泛的机器人学社区,这些技术——CPU/GPU划分、程序化场景生成和带同步归一化的分布式自对弈——可直接迁移到其他使用仿真进行策略学习的领域,例如仓库机器人或工业机械臂。在人类遥操作不切实际的任务中,无需演示的训练能力尤为宝贵。
局限性与开放问题
TerraZero依赖于具有车道级拓扑、交通信号相位信息和交叉口几何的高清地图。没有此类地图的区域无法用于训练或评估,限制了地理可扩展性。
仿真器在对象级别运行——它提供真实的结构化特征,而非原始传感器数据。这意味着TerraZero无法直接训练端到端的感知到控制流水线。在此训练的策略仍需要感知堆栈来弥合从摄像头或激光雷达输入到策略期望的结构化特征之间的差距。
最后,虽然运动学参数随机化提高了鲁棒性,但物理车辆动力学(轮胎摩擦力、悬架、空气动力学)的仿真到现实差距仍然是一个开放挑战。仅凭随机化无法完全弥合这一差距。
常见问题解答
TerraZero训练需要人类驾驶数据吗? 不需要。仿真智能体完全通过自对弈仅使用地图几何和程序化生成的场景进行训练——未使用任何演示。
TerraZero可以仿真哪些类型的道路使用者? 它仿真车辆(轿车、卡车、公交车)、行人和骑行者,每个都有各自的动力学模型,并由共享策略控制。
TerraZero如何实现高仿真吞吐量? 通过精心划分工作:廉价、分支多的仿真逻辑在CPU上用C运行,而密集的张量数学在GPU上用PyTorch运行。并行工作者和批量传输使两者保持饱和。
我可以使用自己的地图数据吗? 可以。该系统目前支持Waymo、nuPlan和CARLA,添加新数据集仅需一个到通用二进制格式的转换器。
结论
TerraZero证明,当与快速、功能丰富的程序化仿真器搭配时,零演示自对弈可以产生有能力的驾驶策略。其架构解决了仿真速度与场景逼真度之间长期存在的矛盾,实现了有意义的规模化训练。模块化设计和异构交通支持使其成为自动驾驶研究与开发的实用工具。
自对弈能否独自取代人类演示,在真正新颖的环境中实现驾驶?
