自动驾驶汽车有望彻底改变多个行业,包括人员和货物运输。而实际上面向L4+ 自动驾驶汽车系统的开发则是一项重大挑战。如今,主要瓶颈则是车辆安全处理驾驶事件“长尾效应”的能力(即道路上遇到的许多罕见情况下可能会出现的不安全行为),实际上这在世界级自动驾驶研发进程上也未能真正完全的实现。而在2022年11月30日发布的ChatGPT的研发思路却为我们带来了进阶开发的整体思路。
ChatGPT的核心技术是2017年出现的新生成式AI技术Transformer和随后基于Transformer产生的大规模预训练技术,并引入了一些新的强化学习算法。具有很好的时序数据处理能力(能很好处理上下文的语法关系)。chatGPT可以被描述为“优化对话的语言模型”,它是以对话方式进行交互。ChatGPT作为现阶段全球所发布的功能最全面的生成式AI对话机器人。其基本逻辑是实现符合基本逻辑的对话生成,并在较短时间里生成大量高质量的文本内容,并给予相对准确的答案和自我修正,特点是可以根据对话进行有效优化,并且具有较好记忆能力,可以完成连续性对话。
ChatGPT 的技术思路和自动驾驶认知决策的思路是一致的:即从人类反馈中强化学习,提高算法稳定输出最优解的效率。终极目标是让自动驾驶系统能够学到老司机的优秀开车方法,这就需要从认知大模型中不间断输入人类的反馈信息,并且自动驾驶系统需要学会选择和辨别,并稳定的输出最优解。
因此,本文将以chatGPT的思路说明智能驾驶将如何更加高效的进行方法和策略演进。
chatGPT与智驾系统开发的策略差异
以上信息放在自动驾驶系统开发过程中可以总结成关于“自动驾驶汽车行为预测能力”的生成过程。因为自动驾驶的整体理解过程就是为了能够满足汽车在复杂交通场景中的安全能够做到高效的对周围对象不确定性行为进行准确预测。
简单来说,ChatGPT=Transformer模型+大规模预训练技术+人类反馈的强化学习(RLHF)。这里需要注意的是,由于chatGPT只是一个学习机器人,他所学习的问题答案可以是千奇百怪的,有些答案也有可能包含错误的信息,此时学习更新过程中就有可能得出并不那么理想的答案。而在自动驾驶系统开发过程中,这类学习反馈和输出则需要有非常准确的“答案”输出,因为错误的控制策略可能会导致整个控车的极大错误,最终引起驾驶安全问题。也就是说自动驾驶系统对于学习答案几乎是追求的零出错率的,容忍度也是很低的。
这里我们首先列举在chatGPT的实现原理与自动驾驶学习方案的差异对比,然后再分别从感知到规控的角度分别说明相应的实现差异项。
chatGPT基础算法-RLHF |
自动驾驶机器学习算法—ML强化学习 |
|
框 架 图
|
可以迭代式的更新奖励模型(RM)和策略模型(policy),让奖励模型对模型输出质量的刻画愈加精确,策略模型的输出则愈能与初始模型拉开差距,使得输出文本变得越来越符合人的认知。
|
所提出的 ML 规划模型的神经网络架构受到 VectorNet 的启发。每个代理和地图元素的矢量化信息由 PointNet 网络编码。该局部信息由 Transformer 组合成全局嵌入。嵌入随后通过运动学解码器转化为动作。 |
训练 监督 模型 |
大量标注:人类训练工程师采样随机请求并撰写预期回答; 监督训练:微调预训练模型(如GPT-3.5),请求(Prompt)—>回答(人工); 主要目标:具备一定对话能力; |
Model architecture. 训练模型的建立是基于分层图网络的架构上,它由一个基于点网络PointNet子图组成,用于处理来自矢量化输入的本地信息。同时使用一个Transformer编码器作为全局图,用于推理代理和映射特征上的交互。 |
训练 偏好 模型 |
大量标注:采样随机请求,人类训练师给生成的多个候选答案进行质量排序; 偏序训练:微调预训练模型(如GPT-3.5),请求(Prompt)+回答—>评分(浮点数); 蒸馏偏好:人类反馈; |
Training framework. 智驾系统通过使用模仿学习来训练一种驾驶策略。这种驾驶策略通过最小化模型生成的姿势和地面真实姿势之间的损失函数来模仿专业驾驶行为。随后,通过加入任意扰动,可以扩展训练期间所能看到的状态分布,从而减少协变量偏移的影响。通过使用预求解器在应用扰动后平滑目标轨迹,使用运动学解码器,我们可以跳过它。相反,我们可以简单地惩罚大值的颠簸和曲率,以减少颠簸并提高驾驶舒适性。 |
训练 强化 模型 |
采用强化学习PPO算法,以监督模型初始化,最大化偏好模型的反馈奖励。 |
Fallback Layer 生成机器学习轨迹后,智驾系统会从多个维度评估其动态可行性、合法性和碰撞概率,并确定轨迹标识。他们主要包括:动态灵活性、合法性、产生反馈轨迹。这类选择过程实际是根据驾驶员的驾驶反馈做偏好设置。 |
对 比 总 结 |
相同/类似点: 1、数据处理模式: 在chatGPT的基础训练算法中引入人类反馈的强化学习(RLHF)算法,即在强化学习阶段,通过拟合大量的人工标注偏好数据,来对齐大规模语言模型和人类偏好,从而给出令人满意的、可靠的、无害的答案。这一点上与自动驾驶系统的数据闭环如出一辙。即在开发阶段通过试验车采集大量的人类驾驶数据,并灌输到机器学习的模型之中。 2、学习模式: 对于chatGPT和自动驾驶系统(无论感知还是规控)来说都需要进行监督学习和强化学习两个阶段,且该两个阶段都涉及训练监督模型、偏好模型和强化模型,只是在训练的方式和要求上存在一定差异,下文可以针对自动驾驶系统的训练方式做详细说明。 3、标注模式: 当前自动驾驶系统的常规做法是通过人工标注来实现数据训练。在这一步,由于牵涉到大量的数据训练,采取人工标注显然是较为繁琐,且效率低下的。当前的RLHF在chatGPT中仍然存在较多数据标注这类常规的数据处理模式。都涉及较大的工作量,唯一不同的是RLHF后续可以做演进提升,采用RLAIF的算法去掉大量人工标注,使用“宪法”+AI自动生成标签。 不同点: 自动驾驶领域对于模型训练的容错容忍度相对于chatGPT来说几乎是不一样的。因为自动驾驶领域讲求的是功能安全、信息安全高要求,因为学习错误的一次就可能造成不可预估的后果。 |
基于Transformer模型在ChatGPT的应用,意味着需要自动驾驶感知的机器视觉能够完整的理解上下文联系的算法模型,并通过用大规模无标注数据训练的通用语言模式进行有效训练,这个过程对于采集样本的种类、数量和分类结果就有很高的要求。通常只有样本数据十分全面、多样才能够将原始数据训练模型练得更加符合预期。最后,再通过人工标注(达到一定水平的也可以用机器标注的方式)筛选出模型最优解。
如上这一过程在自动驾驶系统中可以解释成是在车端或云端进行数据闭环处理的必要手段。因为在智驾领域的环境感知能力更多的是面向更多更大的数据处理模式,这样的方式应用自动驾驶(autonomous driving)以及车联网(Internet of Vehicles,IoV)等技术,使得传统上完全人为控制的机动车辆具备智能处理的能力,包括但不限于智能数据采集、智能分析、智能决策等。chatGPT的高效多数据处理模式(包括监督学习、强化学习以及模型训练等)所带来的学习机制可以使智能化大数据处理技术实现了针对车辆本身、外界环境、交互控制等多维度海量数据的高效处理与分析。
由chatGPT具体训练过程可以得到如下启发。自动驾驶领域实际也有机器学习规划。最近,由于深度学习的成功,基于机器视觉的强化学习规划受到了关注。这种方法的优点是避免了手工制定的规则,并且可以很好地扩展数据,因此随着更多数据被采集来用于训练,性能会越来越好。
因此,这种方法具有处理各种驾驶情况的巨大潜力。如下描述的方案均可作为自动驾驶比较经典的学习方式。
1、模仿学习(IL)
IL 是一种监督学习方法,其中训练模型以模仿专家行为为主。IL在自动驾驶中的首次应用是1989年开创性的ALVINN,它将传感器数据映射到转向并执行乡村道路跟踪。最近,有些自动驾驶研发机构也有单独使用多摄像头输入的端到端驾驶,但真实世界的驾驶结果仅限于简单的任务,例如车道跟随或交通畅通的城市驾驶。行业内也有一些研究提出将IL应用于场景的鸟瞰图,并使用合成扰动来缓解协变量偏移问题,但它尚未在现实世界的城市环境中进行测试。
2、增强学习RL
强化学习 (RL)非常适合自动驾驶的顺序决策过程,因为它处理代理与环境之间的交互,且结合了学习和基于规则的组件,实现有效模拟真实驾驶员动作。已经一些学术机构已提出了几种方法并将强化学习RL应用于自动驾驶。另一方面,逆向强化学习 (IRL)是另一种流行的应用于自动驾驶的机器学习范式,它根据专家演示和环境模型推断出潜在的奖励函数。对于自动驾驶开发前端研究而言,这些源自于chatGPT的研究思路都是很好的将自动驾驶用于现实世界的有效手段。
当然,如果想要如上提到的机器学习很好的应用于现实世界并大规模部署,则需要提出一定的安全网络来减轻上面介绍的机器学习规划方法虽然很有前途,但不提供安全保证,这阻碍了它们在现实世界中的大规模部署。我们受到这种范式的启发,但旨在通过本文提出的 SafetyNet 来减轻这种限制。
3、混合方法
机器学习和传统运动规划技术的结合主要分为两类:基于机器视觉的启发式方法,可用于改进传统的规划算法,例如在加速方面的能力。模块化方法,主要是利用专家计划者来生成候选轨迹。又如,通过根据基于机器学习设置成本量来评估轨迹,同时通过提供基于对导致潜在碰撞的轨迹施加非常高的成本来对驾驶安全进行保证。然而,这些安全保证并未在现实世界中得到验证。
另一种强化学习领域研究是对一个特定研究领域构建安全框架。但我们的目标又不是提出一个全面的安全框架,而是一种简单而有效的方法,允许部署一个强大的神经网络规划器,该规划器可以在确保某些安全性和合法性约束的同时学习和改进数据。
规控引导篇
在自动驾驶栈中,除开基础感知能力外,其规划模块对其应用瓶颈也负有最大责任,它决定了智能汽车在任何给定情况下应该做什么。传统的基于规则的规划方法会选择最小化手工设计的损失函数的轨迹。为了提高其性能,工程师必须为每种驾驶场景设计损失函数中的新项或重新调整各自的权重。这个过程很昂贵,而且很难适应新的地域。与感知不同,传统的智驾规控方法几乎没有从现代机器学习技术中获益,现代机器学习技术利用大量数据以避免手工设计规则。
作为自动驾驶的关键技术,近年来不断有新的轨迹预测思路和算法被提出,尤其是针对复杂交通场景中的对象轨迹预测。通过将复杂交通场景中的预测对象分为:车辆轨迹预测和行人轨迹预测2类。在chatGPT中,通过引入人类驾驶的真实接管数据,在其中尝试使用「人类反馈强化学习(RLHF)」。机器对于数据判别的好坏是能够通过学习实现分类优化的。那么采用人类反馈强化学习的思想,可以训练出模型来验证、评价机器模型的输出,使其不断进步,最终达到人类的驾驶水平。
本文在此基础上对不同预测对象采用近年来的主流预测算法进行分类总结。
基于chatGPT的新思维,我们可以直接从驾驶员实际操控中学习的自动驾驶的机器学习策略。且激发的自动化思维(如自主学习反馈、自主标注等)比手工工程方法的扩展性好得多,其最终的目的是建立在自学习过程中建立安全网络SafetyNet。安全网络SafetyNet 则是利用专家系统的优势来保证特定场景的某些确定性、合法性和安全规则,同时依靠机器学习的运动规划器生成标称轨迹。
如下图表示了一种典型的增强型学习规划方案。其输入是通过以地图(或代理引擎)给到安全控制网络。该网络中首先是通过机器学习预测器,根据前期的控制状态做出合理的轨迹预测,并根据反馈控制层反馈对应的执行轨迹,并输入到输出层中形成安全的控制规划。
这里我们所提出的机器学习规划模型的神经网络架构受到矢量网的启发。每个代理和地图元素的矢量化信息会由点云PointNet网络编码。与chatGPT类似,该局部信息编码会参照Transformer 组合成全局嵌入。嵌入随后通过运动学解码器转化为具体的行动项。
首先,结合机器学习规划器的优势,建立基于规则系统的可解释安全性相结合的自动驾驶系统,该系统可以提供在生产中安全部署这些系统的必要条件。
其次,机器学习的组件是一种从专家演示中训练出来的高容量规划策略,其性能随训练数据量的增加而增加。为了提高系统安全性,机器学习规划器的决策可以通过一个轻量级回退层:一个简单的、基于规则的系统,制定一小组检查来测试决策,并且可以在需要时对它们进行最低限度的修改以提高安全性。这允许 SafetyNet 透明地执行安全和合法约束,例如避免碰撞、违反道路规则、最大化舒适度指标。
基于如上分析,我们总结出规划轨迹的强化学习应该参考的如下模式规则:
1、动态灵活性:
灵活性要求通过评估输入轨迹是否保持在以智驾车辆的动态极限范围内。具体来说,我们评估的每个轨迹状态都需要进行参数检查,包括纵向颠簸、纵向加速度、曲率、曲率、横向加速度和转向抖动(曲率×速度)是否在合理范围内。
2、驾驶合法性:
这些参数的边界是从真实世界的车辆测试中获得的。在实践中,我们通常对颠簸、纵向加速度和横向加速度使用更保守的极限,以保持在舒适的范围内。对于先定的轨迹,也需要评估它是否违反了交通规则。如果发生以下任何违规行为,轨迹将被标记为不可用。
3、碰撞可能性:
通过检查给定轨迹中的每个状态是否与内部预测模块中其他代理的预测姿势发生碰撞。碰撞检测是通过栅格化未来的代理预测并检查与计划的姿势是否重叠来执行的。此外,还需要通过检查沿轨迹的纵向距离、碰撞时间和时间前进偏差修正。如果任何碰撞可能性检查失败,则轨迹将标记为不可行。
4、反馈轨迹生成:
假设通过机器视觉生成的轨迹被标记为可行时,则智驾系统就将直接执行该轨迹。如果轨迹标记为“不可行”,智驾系统就将选择尽可能接近机器学习轨迹的可行性选择性的回退轨迹。
为此,如果考虑强化学习为目的则可以使用基于的轨迹生成方法,生成许多车道对齐的轨迹候选者τi。这些候选者包括速度保持、保持距离和紧急停止操作。就可以很容易地适应感兴趣的特定场景。
检查每个生成的轨迹的可行性,并选择与 ML 轨迹最相似的候选轨迹进行执行:
总结
本文通过引入chatGPT的强化学习思维,不停的迭代更新模型,以针对当前场景获得期望的输出结果。当然,我们的智能化系统是有适应性的,通过不断地自我学习安全交互能力,并采用奖励-强化机制学习的驾驶模型。
实际上在自动驾驶系统不间断的学习过程中,还有一些方法(如博弈法)是可以完全描述这种提升过程。如果将chatGPT的研发思维应用于自动驾驶系统,并采用强化学习的方法对其开发性能进行有效提升,就可以提供一个可解释的显式解决方案来模拟人类驾驶员控车的动态交互。目前包括辅助驾驶及自动驾驶功能的决策实现上,大多数企业都采用了基于规则的方式,这种方式能够极大程度地保障在应对不同场景时的决策的安全性。