深入探讨特斯拉 FSD:马斯克为什么它真正意义上的「端到端」?
作者 | Jessie
出品 | 焉知
特斯拉在美国推出 FSD v12.3 广受好评,对一般车主来说这是一次「有感升級」,但对整体汽车产业来说,却是一件不可忽视的事件。
特斯拉日前在美国广泛推送免费一个月试用期「受监督」自动驾驶系统 FSD v12.3 之后广受好评,光跟 v12.2.1 相比,许多人认识到汽车中央控制单元比之前更灵活、更顺畅,也更接近人类,甚至能行车礼仪、礼让行人的部分都做得唯妙唯肖。
对一般车主来说这是一次「有感升级」,但对整体汽车产业,却是一件不可忽视的事件;这是因为 FSD v12 终于实现了马斯克(Elon Musk)口中的端到端自动驾驶。观望整个自动驾驶产业,目前技术力上能让系统稳定到大规模上路的相关厂商,也只有特斯拉、comma.ai,以及品质没有那么好但正在努力追赶的中国厂商。
同时,大家可以看到马斯克本人在今年特斯拉股价雪崩后,试图想要透过发表FSD v12、大规模免费试用、愿意对外授权FSD,以及预告8/8 号推出无人驾驶计程车Robotaxi 等一系列操作,引导市场想像「特斯拉是一间科技公司,而不是汽车厂」,来稍稍掩盖制造量被比亚迪超过、面临中国车市巨大内卷,以及次世代车款明年上市间巨大空白期等事实。
当然,这里也不得不提到将于下周推出的Tesla FSD v12.4 ,这是一次重大变革。2024 年 5 月——虽然特斯拉长期以来一直在销售并承诺提供允许在城市街道上转弯和导航的全自动驾驶套件,但它仍然被认为处于测试或测试版形式,尽管它现在被称为 FSD Supervised,以前称为 FSDBeta。驾驶员在使用该软件时仍然必须保持注意力集中。
为什么特斯拉是真正意义的端到端
要完整的了解 FSD 首先就得先了解马斯克口中的端到端,也就是 End-to-End Deep Learning(端到端深度学习),简言之,它的目标是建立一个完整的学习系统,但可以直接从原始数据中不断学习,并生成所需的输出,不需要认为的将任务分解成多个中间步骤。
之前,特斯拉的自动驾驶主要依赖事先定义好的规则判断。系统先透过镜辨车道、行人、车辆、标志等关键资讯,再由工程师编写数十万行C++ 程式码,应对红灯停、绿灯行等各种场景,任何一个行为都有相对应的规则、条件判断的程式,但这种做法终究难以涵盖复杂多变的真实路况。
这也是马斯克日前说出那句经典名言「傻子才用激光和毫米波」的主因,马斯克一部分认为光达会增加车辆硬体成本,另一方面,他认为应该用收集纯视觉数据,直接使用端到端深度学习模型来训练出自动驾驶系统。(虽然最近特斯拉也开始重新拥抱Lidar和Radar了)
如果还要细分 FSD 的神经网路,可分为三大部分:感知、决策和输出控制。感知部分接收摄影机的影像,并从中辨识和理解周遭环境,建立出一个语义模型。这个语义并非人类语言,而是神经网路自行发展出的对世界的理解方式。决策部分则依据感知得到的世界模型,判断下一步该采取什么行动。这包含短期的碰撞避免,以及长期的导航规划。最后,输出控制部分负责将决策转换成实际的驾驶动作,例如转动方向盘、踩油门或煞车等。过去这部分也是用人工编写的启发式(heuristic)程式码,现在则改用神经网路,让系统学习如何平顺地控制车辆。
要练,也没你想的那么简单
就算目前网路上大多都持好评,但不少人发现 FSD v12.3 还是有许多瑕疵,其中最受使用者诟病的是导航品质不稳定。目前 FSD 在美国的导航资讯源主要来自 Google 地图,再额外输入神经网路模型中。有专家就推测,FSD v12.3 这套端到端模型在前文提到的「决策过程」,在跟Google 地图连结这一段可能还没强化好(因为这些纯视觉资料「没有导航」,所训练出来的模型理论上不知道Google 地图在干嘛),导致决策过程资讯不连贯,才会出现导航品质不稳定的情形。
另一个常见问题是系统在某些场合表现得过于谨慎,例如在没有其他车辆的路口,仍会做出完全停车再起步的动作,这可能源于训练数据中罕见此类场景,或是偏好保守策略所致。但上述问题「理论上」并不算特别难解决。
除了以上问题外,如何克服自动驾驶中的数据慌也是后续必须解决的问题。
当然收集数据是特斯拉的「天然优势」,特斯拉全球 200 万台车每天约可收集 1600 亿帧的驾驶影片用于模型训练。听起来不难,对把?就连原本特斯拉工程师预估,大概需要 100 万部驾驶影片就能训练出初步可用的模型了。
不过在《马斯克传》中马斯克亲口解释,管理如此庞大的数据并非易事,因为绝大多数影片都是无用的,他强调真正宝贵的是那些车流量异常大、或是有众多行人做出各式各样的行为,路况极其复杂的画面,这占比甚至连1% 都不到。但不要小看这「1% 都不到」,为了处理这每天 1600 亿帧中 1% 的画面,背后代表有足以应付 1600 亿帧的庞大人力、算力、储存甚至是电力等巨额成本。
要采用端到端模型还有一个技术难题,那就是它实际上是个黑盒子。就拿ChatGPT 背后的GPT 模型简单举例,大家应该还记得,ChatGPT 刚推出的时候能力很强但也非常会「胡说八道」,这是因为端到端模型若没有经过微调,很容易会受异想不到的资料影响。
语言模型还能马上纠正,但在自动驾驶领域,哪怕是万中之一的错误,一有决策规划出错了就有可能是严重到危及生命的事故,但就算出错,「黑盒子」本身也不像C++ 语言一样工程师可以马上debug,研究人员得在根本不知道差错原理的前提下,不断微调、修正、再训练来提高准确率。
对于特斯拉这种并不限定智能汽车运行场景范围(甚至可以运行在乡村路、山路等)的情况而言,其自动驾驶车辆要完成各种复杂任务,离不开基础模型的强大泛化能力。但训练这样的模型,需要大量的数据支撑,而数据稀缺成为了制约其发展的主要瓶颈,该如何破解呢?
自动驾驶中稀缺的数据源
尽管自动驾驶技术已经取得了很大的进步,但数据稀缺仍然是一个存在的问题。虽然越来越多的车辆配备了传感器和数据采集设备,但要获得足够丰富和多样化的数据仍然面临挑战。
1、数据获取成本高昂:收集自动驾驶所需的大量数据需要大量的时间、人力和金钱投入。这涉及到在真实道路上部署传感器和设备、采集数据、整理和标记数据等一系列繁琐的工作。
2、数据隐私和安全问题:自动驾驶涉及大量的个人隐私数据,例如车辆行驶轨迹、乘客的行为等。因此,保护这些数据的隐私和安全成为一个挑战,可能会导致数据采集受限。
3、数据标注和清洗困难:自动驾驶数据往往需要进行大量的标注和清洗工作,以使其适用于机器学习算法的训练。这需要专业的人力资源和时间成本。
4、道路情况多变:道路情况的多样性和复杂性使得需要大量的数据来覆盖各种情况,这也增加了数据获取的难度和成本。
5、法律和监管限制: 在某些地区,自动驾驶技术的测试和数据采集受到法律和监管的限制,这也限制了数据的获取。
此外,自动驾驶数据稀缺的根源还可以归结为以下几个方面:
1、物理环境中的真实交互数据
智能汽车需要在各种复杂的物理环境中高速路、快速路、乡村道路进行自动驾驶等。这些环境充满了不确定性,需要智能汽车具备高度的适应性和学习能力。因此,智能汽车所需的数据必须包括在这些真实环境中的交互数据。这些数据能够反映智能汽车与环境的互动情况,帮助机器人学习和适应各种复杂场景。
然而,收集这些真实交互数据并不容易。首先,这些数据需要在智能汽车在实际运行过程中进行大量收集,这需要大量的时间和资源投入。其次,由于智能汽车在一些特殊的道路场景中(如乡村路甚至是小路)可能面临各种复杂的物理环境和任务,因此收集到的数据往往具有高度的多样性和复杂性,这使得数据的处理和分析变得更加困难。
2、数据对齐的难题
除了数据收集的挑战外,数据对齐也是智能汽车技术中面临的一大难题。在智能汽车领域,面临着海量未标注的异构行为大数据。这些数据来自于不同的传感器、设备和环境,具有不同的格式和特征。要将这些数据用于智能汽车的训练和应用,就需要进行准确的数据对齐。
数据对齐的难点在于如何确保不同来源的数据在语义上保持一致。在智能汽车领域,由于存在大量的异构数据,因此数据对齐往往涉及到复杂的语义理解和转换过程。这不仅需要先进的算法和技术支持,还需要对智能汽车技术和应用领域有深入的理解。
3、语义歧义与安全
在智能汽车技术中,语义歧义和安全问题也是不容忽视的挑战。由于智能汽车需要与环境汽车以及人类进行交互,因此必须能够准确理解人类的动作、语言和意图,也要充分理解环境车辆的驾驶意图。然而,人类语言往往存在多义词、语义模糊以及上下文相关性等问题,这就造成了很多时候,智能汽车在驾驶员意图识别中存在响应识别误差。同时,智能汽车在复杂的道路环境识别以及环境车辆驾驶意图识别这一块的难度也是非常大的。
自动驾驶问题的破局之路
新的完全自动驾驶重写的核心是神经网络计算机能够利用汽车周围的所有八个摄像头,使其能够创建虚拟 3D(随时间变化的 4D)环境,从而完全自动驾驶重写创建4D环境,以实现更好的态势感知。
如下图表示了完整的特斯拉全自动驾驶重写打造4D环境模型。
图a 真实路口下智驾车辆所见的岔路口模型
图b 神经网络所理解的岔路口模型
为了实现城市街道上的全自动驾驶,创建此 3D 模型(随时间变化的 4D)对于在城市街道上行驶尤其重要,因为该环境比高速公路驾驶复杂得多。正如特斯拉在 Beta 版本说明中提到的那样,它将允许车辆进行复杂的操作:
“启用全自动驾驶后,您的车辆将在非高速公路上进行变道,选择岔路口以遵循您的导航路线,绕过其他车辆和物体,以及左转和右转。”
此外,面对智能汽车数据稀缺的困境,当前存在四种可能的解决途径:
1、利用非结构化数据和人类未标记视频
这些数据易于收集且内容丰富,可以为智能汽车提供大量的学习样本。例如,通过远程操作无人驾驶数据或数据闭环记录的方式直接采集后上传至云端,可以训练出目标条件轨迹生成模型,从而让智能汽车针对一些特殊且未曾碰见的场景学会更多新的应对和处理技能。
2、使用图像修复进行数据增强
针对智能汽车数据收集过程中的成本和安全问题,使用生成式AI进行数据增强的方法。其中,图像修复技术是一种有效的方式。通过修复和修改已有的智能汽车操作图像,可以生成各种未见过的物体、背景和干扰物,从而增强数据的多样性和丰富性。当然,这也需要确保生成的数据在物理上是可行和准确的。
3、合成数据
合成数据在智能汽车技术中发挥着越来越重要的作用。通过模拟真实环境和任务场景,生成大量的合成数据来训练智能汽车。这些合成数据不仅数量庞大,而且种类丰富,可以帮助智能汽车学习到更多的技能和知识。
4、影子模式
在自动驾驶的“影子模式”中,车辆在有人类驾驶员驾驶的情况下运行,但车内的自动驾驶系统(包括传感器)也保持活跃状态。此时,系统并不直接控制车辆,而是模拟自动驾驶的决策过程。当自动驾驶AI的决策与驾驶员的实际操作不一致时,或者满足预先设定的触发条件时,该场景即被标记为“极端工况”,相关数据会被回传到中心数据引擎。
利用这些收集到的数据,可以构造特定问题的数据集,并训练神经网络,从而不断优化自动驾驶系统的性能。一旦模型经过验证和改进,就可以通过OTA更新,部署到车辆上,等待下一次问题的出现,形成数据闭环。
展望与思考
未来智能汽车数据的形态尚未完全定论。但可以预见的是,真实数据、仿真数据和合成数据将在机器人训练中扮演越来越重要的角色。为了充分发挥这些数据的潜力,需要关注以下几个方面:
1、数据的多样性:不仅要追求数据的数量,还要注重数据的多样性。包括不同场景、不同任务、不同对象的数据,以及视觉、雷达波、超声波等多样化的传感器数据。
2、传感器硬件的进步:随着传感器技术的不断进步,将能够收集到更加丰富、准确的数据,这将为智能汽车的学习和优化提供有力的支持。
3、跨模态数据的融合:将视觉、超声波、雷达波等多种模态的数据进行融合,可以为机器人提供更加全面、深入的环境感知和任务理解能力。
4、通用自动驾驶数据集:构建类似ImageNet的通用自动驾驶数据集,这个数据集包含各种任务、机器人和环境的信息,以及对应的传感器数据、执行器数据等。通过这个数据集,可以训练和评价更强的智能汽车通用基础模型。
热门文章
更多精华美文扫码阅读
焉知汽车
希骥电池与储能
请先 登录 后再发表评论~