0. 简介
从作者的眼光来看自动驾驶和具身智能已经是越来越接近了。无论是技术栈以及实现的最终目的。其实都是希望人在环内。这个是古月直播的文字相关的大致梳理。主要会展开聊一聊自动驾驶的变迁以及作为自动驾驶的从业人员要着重关注的一些技术点
1. 自动驾驶的变迁
在自动驾驶技术不断演进的过程中,模块化设计的端到端架构逐渐显现出其独特的优势与挑战。在第二阶段的决策规划模块化设计中,相较于传统的Rule-based方案,系统在处理复杂场景的能力上得到了显著增强。这种基于模型的方法不仅充分利用了大量的数据,还简化了模型的升级过程,使得系统能够更快地适应新的环境和需求。
1.1 传统自动驾驶架构
传统的自动驾驶架构多衍生于机器人架构,因此,在机器人领域的感知-定位-规划三大模块及其功能衍生,在很长时间内一直是自动驾驶架构发展的基调。典型的自动驾驶系统通常包含以下几个核心模块:
-
感知模块(Perception)
感知模块负责收集和解释车辆周围环境的信息。这包括使用各种传感器,如摄像头、激光雷达(LiDAR)、雷达和超声波传感器来检测和识别周围的物体,例如其他车辆、行人、交通信号和道路标志。感知模块需要处理来自这些传感器的数据,并将其转化为车辆可以理解的环境模型。传统的感知模块的输出更多是基于人类的定义,例如对于周边障碍物的检测,对于边界以及区域的分割等。传统的感知系统要保证其输出能够为人所理解,代表了人类对于环境的一种抽象。
-
定位模块(Localization)
定位模块的任务是确定车辆在环境中的精确位置。这通常涉及到使用全球定位系统(GPS)、惯性测量单元(IMU)和传感器数据来估计车辆的全局位置。此外,还可以使用基于地图的定位技术,如将车辆的传感器数据与预先制作的详细地图进行匹配。
-
预测模块(Prediction)
预测模块用于预测其他道路使用者的行为和意图,例如预测其他车辆的行驶轨迹和行人的移动。这有助于自动驾驶系统提前做出决策,以避免潜在的碰撞和冲突。
-
决策与规划模块(Decision and Planning)
决策模块负责根据感知和预测的信息来制定车辆的行驶策略。这包括选择最佳的行驶路径、决定何时变道或超车,以及如何应对复杂的交通情况。规划模块则负责生成详细的行驶轨迹,确保车辆能够安全、高效地从当前位置行驶到目的地。
-
控制模块(Control)
控制模块是执行决策规划模块输出的实际车辆控制命令的系统。它负责精确控制车辆的油门、刹车和转向,以实现平滑和安全的驾驶。
传统方案在模块上的划分使得每个模块的独立开发更加容易,在进行问题追溯时也更加简单快速。然而,这种方案的代价是限制了模块及整个系统所能达到的灵活性和泛化性的上限。
1.2 端到端自动驾驶架构的演变
目前,自动驾驶架构的演进可以分为四个主要阶段:
1.2.1 第一阶段:感知“端到端”
这一阶段,整个自动驾驶架构被拆分成了感知和预测决策规划两个主要模块,其中,感知模块已经通过基于多传感器融合的BEV(Bird Eye View,鸟瞰图视角融合)技术实现了模块级别的“端到端”。通过引入transformer以及跨传感器的cross attention方案,感知输出检测结果的精度及稳定性相对之前的感知方案都有比较大的提升,不过,规划决策模块仍然以Rule-based为主。
1.2.2 第二阶段:决策规划模型化
这个阶段,整个自动驾驶架构仍然分为感知和预测决策规划两个主要模块,其中,感知端仍保持上一代的解决方案,但预测决策规划模块的变动比较大——从预测到决策到规划的功能模块已经被集成到同一个神经网络当中。值得注意的是,虽然感知和预测规划决策都是通过深度学习实现,但是这两个主要模块之间的接口仍然基于人类的理解定义(如障碍物位置,道路边界等);另外,在这一阶段,各模块仍然会进行独立训练。
1.2.3 第三阶段:模块化端到端
从结构上来讲,这一阶段的结构和上一阶段比较类似,但是在网络结构的细节及训练方案上有很大不同。首先,感知模块不再输出基于人类理解定义的结果,而更多给出的是特征向量。相应地,预测决策规划模块的综合模型基于特征向量输出运动规划的结果。除了两个模块之间的输出从基于人类可理解的抽象输出变为特征向量,在训练方式上,这个阶段的模型必须支持跨模块的梯度传导——两个模块均无法独立进行训练,训练必须通过梯度传导的方式同时进行。
1.2.4 第四阶段:One Model/单一模型端到端
在这一阶段,就不再有感知、决策规划等功能的确划分。从原始信号输入到最终规划轨迹的输出直接采用同一个深度学习模型。基于实现方案的不同,这一阶段的 One Model 可以是基于强化学习(Reinforcement Learning, RL)或模仿学习(Imitation Learning, IL)的端到端模型,也可以通过世界模型这类生成式模型衍生而来。目前来看其实更多的工作其实还是集中在感知测。而类似FSD的WM+RL的思路其实还是要依赖大量的数据去执行并去执行自监督学习
1.3 规则驱动→数据驱动→数据+知识驱动
随着自动驾驶任务从单一的感知任务演变为感知和决策综合的多任务,自动驾驶数据模态的多样性和丰富性变得至关重要。仅仅依靠大量收集的数据训练的模型只能是第三人称智能,即从旁观者的角度观察、分析和评估人的行为和表现的人工智能系统,(也就是我们所说的如何让机器人/自动驾驶车辆具有自我思考的能力)。自动动驾驶的最终形态将是实现驾驶领域的广义人工智能,这使得从数据驱动范式向知识驱动范式的转变成为自动驾驶进化的必然要求。
知识驱动范式并非完全脱离原有的数据驱动方法,而是在数据驱动方法的基础上增加了知识或常识的设计,如常识判断、经验归纳、逻辑推理等。知识驱动方法需要不断从数据中进行总结,并依靠人工智能体探索环境、获取一般知识,并不是执行预先定义的⼈类规则或从收集的数据中描绘抽象特征。
1.3.1 基于规则驱动
基于规则场景理解:在规则驱动的范式中,自动驾驶系统依赖于专家定义的规则来理解驾驶场景。这些规则通常基于对交通规则、道路条件、车辆行为等的深入理解。
通过规则指导驾驶:系统使用这些规则来做出决策,如路径规划、速度控制和障碍物避让。例如,遇到红灯时停车,或者在特定路段限速行驶。
在自动驾驶刚刚开发的时候,由于这种方法强调逻辑性和确定性,仅仅适用于那些可以明确定义规则的场景。但随着自动驾驶场景增多、道路越来越复杂,基于规则的范式以及不能满足自动驾驶相关技术的需求。
1.3.2 基于数据驱动
驾驶场景建模:数据驱动范式侧重于通过大量数据来学习和模拟驾驶场景。这些数据可能包括传感器数据、驾驶员操作、交通流量、环境条件等。----即模仿学习
现实世界推断:通过机器学习算法,系统能够从数据中学习模式,并将其应用于现实世界的驾驶任务。例如,通过分析不同路况下的数据来优化行驶策略。----即强化学习
在这个阶段,尽管数据驱动范式能够处理复杂的和不断变化的环境,但需要大量的训练数据。随着收集的数据量的增长,新极端情况的覆盖可能性降低,能力增强的边际效应会越来越弱。
数据驱动的方法正逐渐接近其发展瓶颈。在预期的L1至L2的迭代过程中,通过增加传感器数量从L1升级至L2,再通过增加数据量实现L3,并使其适应更多场景,以达到L4甚至L5的级别。然而,实际情况是,尽管在L2阶段通过增加数据量,却似乎遇到了一道难以逾越的障碍,始终只能达到接近L3的L2.999水平,感觉始终存在一个瓶颈。
1.3.3 基于数据+知识驱动
知识增强表示空间:知识驱动范式结合了自动驾驶领域的知识和数据。它通过将驾驶场景的信息引入一个知识增强的表示空间,来丰富模型对场景的理解。
泛化知识推导:系统不仅学习场景特定的模式,还试图推导出更泛化的知识,这些知识可以跨不同场景和条件进行应用。
知识反思引导:通过反思和优化其决策过程,以更智能和适应性更强的方式引导驾驶。例如系统可能会使用交通规则的知识来解释和预测其他车辆的行为。
在此阶段知识驱动的方法可以通过对多领域数据的经验进行求和来构建具有通用理解能力的基础模型,从而将驾驶能力空间压缩到低维流形空间。这个空间对应的驾驶场景不仅包括训练时收集的数据,还涵盖了大量未见过的数据,包括大量的极端情况。
这其实就引入了具身智能这个概念:具身智能在感知到场景后,尝试理解该场景并制定计划。执行计划后,可能产生两种结果:成功或失败。成功则作为经验保存;失败则需要模型进行反思,并重新生成成功方案,以避免类似事故。这些信息均存储于记忆库中。遇到类似场景时,系统首先查询记忆库,判断是否曾处理过类似情况,并结合当前场景特性和以往经验,做出决策。整个过程要求具身智能具备推理和决策能力。
另外除了理解当前场景,还可以根据Transformer固有的特性,将知识和数据结合起来构建世界模型(WM),有助于对驾驶环境有一个真实的理解。这种方法强调了不仅仅是数据收集,还包括对数据的深入理解和知识的运用,通过从多个来源收集数据来渲染模拟环境。世界模型的预测能力包括根据当前和过去的场景信息推断其他车辆的相对位置和运动趋势,从而能够对各种行动的潜在影响进行建模,并做出明智的决策。
2. 具身智能在机器人领域带来的工作应用
上面了解下来,我们其实可以看到自动驾驶已经趋近于具身智能了,也可以认为自动驾驶属于具身智能的一种。当前业界主要提到的具身智能主要还是集中在机器人和机械臂上。虽然技术栈大致类似,但是里面还是涉及到一些区别的,比如说机器人的执行面很多情况下有复杂的机械臂运动控制。比如说去年年底,李飞飞团队发表了一篇名为 Voxposer 的论文,介绍了一种基于 LLM(Language to Layout Module,语言到布局模块)和 VLM(Vision to Layout Module,视觉到布局模块)的开放指令和开放物体轨迹规划器。这一进步将机器人建图和任务规划的边界推向了新的阶段。例如,对于“打开抽屉,但要小心花瓶”的指令,LLM 会分析该指令,并理解抽屉是轨迹的吸引区域(affordance_map),而花瓶是约束区域(constraint_map)。然后,利用 VLM 获得花瓶和抽屉的具体位置。LLM 生成代码以构建 3D Value Map,运动规划器可以零样本方式合成机器人执行任务的轨迹。
感知测区别其实大差不差。通过调整一些代码数据其实是可以做到通用的。而比较难的其实是机器人学习控制这块,因为其自由度更高,且更加复杂,所以大多数工作集中在如何将机器人通过与环境互动和学习来获得新技能并适应环境。它将机器学习与机器人技术相结合,目标是让机器人像人类一样学习和成长。其实机器人学习也经历了以下几个研究方向的发展:
第一阶段,传统控制算法与强化学习相结合用于机器人控制。
第二阶段,深度强化学习(DRL)被引入,DeepMind 的 AlphaGo 取得了显著成功。DRL 可以处理高维数据并学习复杂的行为模式,特别适合决策和控制问题,因此......
点击从自动驾驶到具身智能漫谈查看全文。