2024年,端到端的自动驾驶解决方案怎么样
:::
附赠自动驾驶学习资料和量产经验:链接
:::
1 什么是端到端的自动驾驶解决方案
“端到端”是深度学习中的概念,英文为“End-to-End(E2E)”,指的是一个AI模型,只要输入原始数据就可以输出最终结果。
比如最近很火的ChatGPT,就是一个典型的端到端模型,输入文字语句,直接就能得到回答。
那对于智能驾驶来说,“最终结果”指的是什么?智能驾驶其实就是让车辆自动从A点到B点。这需要车做些什么呢?跟人开车是一样的:踩油门刹车、打方向盘。踩油门还是踩刹车?方向盘向左打还是向右打?这就是智能驾驶AI模型应该输出的“最终结果”。
2023年马斯克在描述FSD Beta v12 时,就提到了它可以实现输入图像,输出转向、刹车、加速等车辆控制信号的能力,因此说它是“端到端”的。
像特斯拉FSD Beta v12 这种“端到端”,其实还有一种说法,叫做“感知决策一体化”,也就是将“感知”和“决策”融合到一个模型中。
2 端对端有优势吗
目前已量产的智能驾驶,绝大多数采用的是模块化架构,就是把智能驾驶拆分成一个个典型任务,然后将这些任务交由专门的AI模型或模块来处理,比如说感知、预测、规划等等。
感知模型的任务就是输入摄像头等传感器信息,然后在里面找到车辆周围的障碍物、车辆、车道线、红绿灯等一切与驾驶相关的元素,然后把感知信息汇总给规划模型,规划模型就会根据得到的信息规划出车辆的最佳行驶路线,再交给控制模块(控制模块一般并非AI模型),实现车辆最终的控制。
在这种架构中,每个大的模块下,又可能是以多种模型组合而来的,例如感知,其中可能包含了分类、追踪、定位等AI模型,各司其职。
也就是说,一个智能驾驶系统里,可能包含了很多很多个模型。
这种架构的弱势在于,
1)每个模型都要专门进行训练、优化、迭代,随着模型的不断进化,参数量提高,所需的研发人员也水涨船高,研发投入极高。
2)模块化架构可以看做是一种流水线,很多模型的输入参数,其实是前级模型的输出结果。如果前级模型输出的结果有误差,就会影响下一级模型的输出,导致级联误差的出现,最终影响整套系统的性能。
而端到端架构,则是通过一个模型实现了以上多种模型的功能。在自动驾驶的端到端方法中,一个深度神经网络模型通常被用来学习输入和输出之间的复杂映射关系。该模型可以接收传感器数据(如图像、激光雷达数据等)作为输入,并输出车辆的控制指令(如方向盘角度、刹车和加速等)。通过大规模的数据集和适当的训练算法,模型能够学习从感知到控制的完整驾驶策略。
1)研发人员只需要针对这一个模型进行整体训练、调整优化,即可实现性能上的提升,因此可以更好地集中资源,实现功能聚焦。
2)输入传感器信号后可以直接输出车控信号,大大降低了级联误差的概率,也因此大大提升了系统性能的上限。
3 端对端解决方案的实现有什么难点
进行端到端智能驾驶技术的研发的除了特斯拉外,还有英伟达、comma.ai等厂商。2016年的时候,英伟达就提出了利用CNN(卷积神经网络)直接将车载摄像头的图像映射到方向盘转角的方法,这种自动驾驶行为其实是一种模仿学习(或者叫行为克隆),需要事先收集人类开车时的图像以及这幅图所对应的方向盘转角,然后通过监督学习学习的方法让CNN去拟合一个从图像到方向盘转角的映射。
在量产车上看,模块化架构依然是目前智能驾驶的绝对主流,可见端到端架构依然存在一些关键的问题未能解决。
1)可解释性低
一个模型,如果可解释性好,说明人们对这个模型的运作逻辑是能理解的,也就能更细致且有目的地来对模型进行调整。
端到端智能驾驶是个黑盒子,即便出了差错,研究人员也不知道它为什么会出差错,到底是哪一部分出了问题,又该如何去避免。只能通过不断的训练、调参、增加参数量,来尽可能地提高模型的准确率,但最终能否达到100%的安全,还是要打一个问号。
2)训练难
传统的感知模型训练时,需要的是经过标注的图片,这是一种比较容易获得的素材。
而端到端智能驾驶,它需要学习的是驾驶行为,因此需要大量标注有驾驶行为的视频才能进行进行训练。素材采集和标注都很困难。
2023年7月的特斯拉Q2财报电话会议上,马斯克曾经介绍过端到端FSD的训练规模:
「特斯拉花了大约一个季度的时间完成了1000万个视频片段的训练。训练了100万个视频case,勉强可以工作;200万个,稍好一些;300万个,就会感到Wow;到了1000万个,它的表现就变得难以置信了。”