不过,求解最优轨迹面临着非凸性和高维性两大难点。非凸性,是函数极值求解中的概念,指函数存在多个局部最大值 / 最小值,致使难以找出全局最大值 / 最小值(即最优解)。在现实世界中自由度极高,意味着存在众多可能的解,这就容易使决策陷入局部最小值。

高维性则是指决策过程涉及过多变量。以车辆为例,其需对未来 10 秒的行为做出判断,这一过程涉及环境中不同目标的位置、速度、加速度,以及目标间的交互可能性等大量参数,处理难度极大。


为了解决这两个问题,特斯拉采用蒙特卡洛树搜索,一种基于统计模拟的启发式搜索算法。它的结构类似大树,由根节点与叶子节点构成。每个节点代表一种选择后的状态,路径选择从根节点起始。算法通过模拟不同驾驶决策(如加速、转弯等)在未来一段时间内可能产生的结果,并依据一定策略(如综合考虑节点的平均奖励值和访问次数等因素),来选择并优化自身的最优路径。


以下图为例,当车辆需要左转进入路口时有行人和直行车辆经过,汽车在根节点(路口)时需要先选择礼让行人或是赶在行人前通过。由于汽车选择了礼让行人,因此进入下一层后遇到直行车辆,汽车再次需要选择是否等待后车通过。

蒙特卡洛树搜索的核心在于快速尝试所有可能的路径后选择最好的一条,不过计算出的每个轨迹都需要一个成本函数,这部分需要基于人为规定的规则。特斯拉将这个规则定义为关于碰撞概率、舒适度、干预可能性和人类操作相似性这四个因素的函数。

以上我们提到的感知和决策都是2022年时的事情,也就是FSD V12版本出现之前。虽然蒙特卡洛树搜索改善了传统完全基于规则的决策,但它还是80%机器学习+20%的规则


2022年11月ChatGPT的成功给了特斯拉工程师灵感,既然GPT可以通过学习大量文本后理解含义,那汽车也可以通过学习大量人类驾驶片段学习人类的决策方式,也使用强大的Transformer,成为真正的端到端。


2023年4月,特斯拉工程师Dhaval Shroff 指出完全端到端的决策模块运行速度比过去快出10倍,并且可以直接删掉30万行代码,也就是那些人为定义的规则。自此,端到端的训练范式一发不可收拾。


训练端到端的决策模块主要运用模仿学习和强化学习两种方法。模仿学习是让模型模仿人类专家的驾驶行为,从而学会在相似场景中做出最优决策;强化学习则是让模型通过试错进行学习,借助奖励函数对正确行为予以奖励、对错误行为进行惩罚,以此优化模型的输出效果。

从结果来看,特斯拉于2023年底开始推送基于端到端训练出来的FSD V12版本,收获广泛好评和较高评分,其中最为受到称赞的一点是自动驾驶的决策方式更加人性化了


比如,过去规则规定时的算法表现的非常迟钝、“守规矩”,而端到端训练后会表现的和人一样,用逻辑关系打破一些规则。评分来看,加入了端到端后的V12版本明显比V11进步不少。


3. 自动驾驶算法的未来

如果用一个词描述当前自动驾驶技术,那非“端到端”莫属。端到端的概念很简单,就是通过一张神经网络实现信号的输入和输出。端到端的优势也很明显,打破人为定义的规则,让模型直接从海量数据中自己学习所有的逻辑关系,就像人类学习一样,端到端可训练也意味着数据的无损转换和传输。


从范式上看,端到端标志着从规则驱动转向数据驱动,规则时代的算法壁垒也转变为数据时代的数据积累和算力处理能力成为壁垒。无论是以ChatGPT、DeepSeek为代表的大语言模型还是以FSD为代表的自动驾驶模型,基于Transformer的端到端模型的表现都成功验证了它的强大,也使其成为统一共识。

在前文中已经看到感知侧从传感器输入原始数据到BEV空间的感知结果输出是如何通过一张神经网络的不同层实现效果大幅改进的,以及决策模块从接收到感知信号到输出决策信号又是如何通过端到端实现性能提升的。


然而,这就是自动驾驶的最终章了吗?非也!


如果把自动驾驶系统看做一个整体,以上我们提到的还属于模块化端到端,也就是感知和决策模块的工作各自有各自的端到端模型完成。模块化的设计是传统基于规则打造自动驾驶系统的延伸,它把复杂的自动驾驶任务拆解成相对简单的子任务,简化研发的难度。

然而,数据或者信号在不同模块间传递时依然需要人为定义接口,信息也会产生损耗和损失。解决这个问题的方向便是全局端到端,也就是集感知、规划和决策为一体的一张超大神经网络,传感器数据从这张网的一端输入后可以直接输出控制方向盘、油门和刹车的信号(如下图所示)。

2023年由上海人工智能实验室、武汉大学和商汤科技联合提出的UniAD模型获得CVPR最佳论文奖,UniAD开创性的首次展示了将感知、预测、规划等任务整合到一个统一的端到端网络框架下的全局端到端模型。