/导读/
最近的科技圈,大家都被微软推出的ChatGPT刷屏,作为工智能公司OpenAI于2022年11月推出的聊天机器人,其能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务,并且智能性远超当下所有的人机交互模型。而ChatGPT的轰动也让谷歌、百度等以搜索为主要业务的大厂感受到了前所未有的压力,也随即推出了自研的类ChatGPT模型,然而实际的使用效果还得打个问号。
那么,如果对于文本的学习已经能够达到如此智能的地步,对于自动驾驶行业,ChatGPT能够为其带来什么呢?是否能够对困扰从业者多年的决策难题做出突破呢?
自动驾驶中的决策难题
在自动驾驶行业中,决策规划作为整体系统的大脑,处于算法中的核心模块,对于自动驾驶功能的实现以及安全性的保障起着重要的作用。目前包括辅助驾驶及自动驾驶功能的决策实现上,大多数企业都采用了基于规则的方式,这种方式能够极大程度地保障在应对不同场景时的决策的安全性。不同于强化学习,强化学习具有致命的弱点,那就是出了问题很难去追溯到原因,只能不停的迭代更新模型,以针对当前场景获得期望的输出结果。
另一方面,强化学习需要进行大规模的训练,这样对其执行结果的评价也是难点之一,如果不能合理地评价模型给出的结果,那么决策的智能性则无法进步,甚至在极端场景下给出错误的决定,让车辆处于危险之中。以上种种原因,使得在自动驾驶行业中,基于强化学习的决策规划系统还远远未达到成熟,而基于规则的系统也难以应对极端的Corner case,这也使得从业者们普遍认为L4甚至L5级别的成熟自动驾驶难以实现的根本原因。
ChatGPT能给自动驾驶带来什么?
那么就以上的决策难题,ChatGPT能够为自动驾驶带来什么样的突破呢?首先,我们先回答 ChatGPT 到底是什么?它是个基于上千亿超大语料参数组成的 GPT3.0 架构训练出来的一个自然语言处理聊天工具。ChatGPT 的算法采用了 Transformer 神经网络架构,具有很好的时序数据处理能力。
Transformer 对于自动驾驶行业的人员来说并不陌生,它是一种结构简单的编解码器,几乎可以无限堆叠,从而形成一种大规模的预训练语言模型。基于 Transformer 模型构成的 GPT 架构可以很好地完成多种语言处理任务,填空、造句、分段、翻译等等。另外,ChatGPT 还需要使用监督学习和强化学习来实现。具体来说,ChatGPT 使用了一种叫「人类反馈强化学习(RLHF)」的训练方法,在训练中可以根据人类反馈,保证对无益、失真或偏见信息的最小化输出。
从对ChatGPT的分析我们可以看出,其是利用人类反馈进行强化学习的产物,并且其强大的识错能力能够对错误的信息进行判别与纠正。那么回想自动驾驶的决策难题,其核心技术将可以为自动驾驶带来前所未有的突破。那么具体怎么实施呢?
首先,自动驾驶决策算法中有一类叫做模仿学习,利用人类驾驶员针对不同场景的执行策略让机器进行学习,遇到类似的场景便可以采用模仿人类的驾驶策略。
其次,要想获得一个经验老道的老司机的决策能力,必须看得多,学得多。因此需要引入大量的人类驾驶数据,并灌输到机器学习的模型之中。在这一步,由于牵涉到大量的数据训练,采取人工标注显然是不现实的。而ChatGPT的成功证明了,机器对于数据判别的好坏是能够学习成功到如此地步的,那么采用人类反馈强化学习的思想,可以训练出模型来验证、评价机器模型的输出,使其不断进步,最终达到人类的驾驶水平。
最后,便是引入人类驾驶的真实接管数据,在其中尝试使用「人类反馈强化学习(RLHF)」。一般来说,人类司机的每一次接管,都是对自动驾驶策略的一次人为反馈;这个接管数据可以被简单当成一个负样本来使用,就是自动驾驶决策被纠正的一次记录。同时也可以被当作改进认知决策的正样本来学习。
除此之外,ChatGPT也可以用来分析大量的驾驶日志数据,以找出驾驶员在特定情境下的行为规律,并用这些信息来训练自动驾驶控制系统,从而提高它们在复杂情境下的决策能力。总的来说,ChatGPT的分析能力可以为改善自动驾驶技术的情景判断能力提供有力的支持。
ChatGPT带来的困难与挑战
尽管ChatGPT十分具有颠覆性,但亚马逊却对其充满了警惕,甚至警告员工不要与ChatGPT分享机密信息。微软高级工程师也表示“请不要将敏感数据发送给OpenAI终端,因为他们可能会将其用于训练未来的模型。”
原因就是我们老生常谈的话题:数据隐私。
以ChatGPT的数据体量,人类在ChatGPT面前没有秘密可言,任何人类留存在网络的信息,ChatGPT应该都搜索得到,包括我们的隐私。从ChatGPT的表现来看,小到人类个人都可能成为其受害者,个人或企业肖像、名誉等人格和财产权益可能受到损害,大到ChatGPT会给社会秩序、国家政治稳定和安全造成巨大威胁。自动驾驶领域也不例外,并且直接关系到人类的出行安全,其使用更应该得到谨慎处理及关注。
所幸的是,ChatGPT现在还属于人类管控,而且应该是被冻结了找出隐私的功能。因此,不管是汽车行业还是其他行业,在使用ChatGPT上,并不是只管用就行,还存在着技术上的挑战。除了数据安全外,还需要大量的专业知识和高质量的训练数据,以及专业的技术支持,以解决技术上的问题和难题。
======================================================================
自动驾驶汽车有望彻底改变多个行业,包括人员和货物运输。而实际上面向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来说几乎是不一样的。因为自动驾驶领域讲求的是功能安全、信息安全高要求,因为学习错误的一次就可能造成不可预估的后果。 |
感知引导篇
整体上chatGPT的感知算法从“认知驾驶决策算法”进化可分为三阶段:“拟合人驾行为的模仿学习策略+海量人驾数据接管策略+人工真实接管反馈策略”。那么从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的研发思维应用于自动驾驶系统,并采用强化学习的方法对其开发性能进行有效提升,就可以提供一个可解释的显式解决方案来模拟人类驾驶员控车的动态交互。目前包括辅助驾驶及自动驾驶功能的决策实现上,大多数企业都采用了基于规则的方式,这种方式能够极大程度地保障在应对不同场景时的决策的安全性。
信迈提供chatgpt+自动驾驶demo方案。