如何解决自动驾驶
ME的目标是完全自动驾驶,如果Mobileye只是做ADAS的话,完全可以每年节约6亿美元的运营费用;
自动驾驶是一场马拉松,核心挑战是如何维持一个可持续有收入业务的同时持续向完全自动驾驶前进,不能仅靠外部投资;
Shashua教授将市面上解决完全自动驾驶的技术路径分为三类,分别以Waymo、Tesla和Mobileye为代表:
端到端存在的问题
没有胶水代码,仅靠神经网络+输入摄像头数据+输出汽车需要行驶的轨迹,整个过程更像一个数据通道,你可以增加越来越多的数据让模型通过观察人类司机驾驶习惯来持续学习,随机时间推移数据越来越多,模型在某一时刻达到奇点,模型可以达到甚至超过人类的驾驶能力 无监督数据,不需要任何人工标注便可以达到很高的MBTF。
胶水代码从线上转移到线下,Transformer架构通过预测下一个Token的概率来实现对未来轨迹的预测,并不是在预测正确性水平,因此需要区分“正确但不常见”和“错误但常见”这两种情况的差异,但是模型并不知道如何区分它们,这就是为什么语言模型中需要做RLHF,所以你需要从海量的驾驶行为数据中找到什么是正确的,什么是错误的,这就需要你写大量的离线处理代码 无监督学习而言,存在三方面问题:(1)计算器问题:以现在领先的大语言模型为例,依然无法很好地估计两个数字的乘法,它使用计算器这一工具来实现,从神经元或统计的角度出发,它们无法抽象出乘法的概念,因此OpenAI引入了一个计算器 ,一个python代码实现的计算器;(2)捷径学习问题;(3)长尾问题。
没有胶水代码
这就是为什么大语言模型例如ChatGPT引入了RLHF模块,因为在大量训练语料中,存在着很多不正确的语言片段,如果仅是通过统计的话,模型很容易学到这些不正确的数据,而通过引入RLHF的话,人类告诉模型什么是正确的,什么是错误的,对同一个问题排序反馈的阶段。
无监督学习
前面介绍道,无监督学习容易遇到计算器、捷径学习以及长尾问题:
计算器问题:从大量数据中的端到端学习经常会丢失重要的概念,因此在实际场景中并不能泛化得很好。例如学习两个数相乘,即使当前最为领先的语言模型依然很艰难。假设你有两个数字,每个数字有1~20位,以下是GPT-4o和o1-mini的评测结果,红色表示正确率为0,绿色表示正确率大于0直至100%,可以看出o1的结果要优于4o,但当数字的位数比较多的时候,表现依旧不理想。
捷径学习的问题
我们对比以下两种方式:
低层级端到端融合(在传感器数据输入阶段进行融合,并且训练一个模型)
复合AI系统:分开基于每个模态训练一个模型,然后在高层级(结果)上融合
长尾问题
从上图可以看出,对于长尾问题,分为两种场景:乐观场景(Optimistic Scenario)和悲观场景(Pessimistic Scenario):
乐观场景(Optimistic Scenario):
在这种情境下,一些稀有事件可以大幅度地减少总体概率质量(probability mass)。这意味着少数关键的稀有事件可以显著提升系统性能,导致更高的MTBF。
图中蓝色的“Optimal Scenario”曲线表示,在少数几个稀有事件的影响下,事件的概率迅速下降。
悲观场景(Pessimistic Scenario):
在这种情境下,每个稀有事件对概率质量的影响非常小。这意味着即使处理了很多稀有事件,系统的故障率仍然没有显著改善。
红色虚线“Pessimistic Scenario”曲线表明,太多的稀有事件没有带来显著的概率减少,这种情况下很难提升系统性能和MTBF。
图表展示了不同版本FSD系统中车辆在城市和高速环境下的“关键脱离里程”(Miles to Critical Disengagement)变化情况。
图表和解释说明了尽管FSD系统通过在端到端版本V12更新后有了一定的进步,但仍然存在“长尾问题”,即罕见但重要的情况处理得不够好。依靠数据管道仅减少系统的方差,虽然有一定改善,但进展非常缓慢。这意味着要提升FSD的性能,可能需要其他方式(例如有监督学习或更复杂的模型),而不仅仅依靠无监督的数据优化。
Mobileye的解法
偏差(Bias,也称为近似误差):描述了学习系统无法完全反映现实世界的丰富性。高偏差通常意味着模型过于简单,无法捕捉数据中的复杂关系,导致欠拟合(underfitting)。
方差(Variance,也称为泛化误差):描述了学习系统过度拟合观察到的数据,无法很好地泛化到未见过的例子。高方差通常意味着模型过于复杂,过度拟合训练数据,导致在新数据上的表现不佳。
这里x轴表示的是注入抽象的数量,抽象上面也介绍过,自动驾驶中指的比如给定图像输入,输出感知状态,如行人、自行车、车辆等。其实指的就是先验知识,因此你事先知道在驾驶场景中什么是重要的。如果你注入的抽象太多,会引入近似误差,这意味着模型的丰富性并不能反映现实的丰富度,所以是你限制太多了,限制了模型所能表征世界的容量。如果你不注入抽象概念,就会得到较高的泛化误差。因此,这里需要引入合适的抽象以使得整体系统误差最小。
冗余设计: 通过多个传感器和算法实现冗余,确保在单一传感器或算法失效时,系统仍能正常运行。 责任敏感安全模型 (RSS): 通过RSS模型分离正确和错误的行为,确保系统在复杂环境中的安全性。 多数投票原则 (2 out of 3, 2oo3):在传感器之间存在矛盾时,采用多数原则来决定最终行为,降低错误决策的概率。 Primary-Guardian-Fallback (PGF) 融合: 通过构建Primary、Guardian和Fallback三个系统,确保在Primary系统失效时,Guardian系统能够检测并切换到Fallback系统,从而保证系统的连续性和安全性。
Takeaways
公号👇发消息“我来了”,可直接领取“10G+自动驾驶相关资料”
进交流群
知识星球