24年4月来自悉尼科技大学和香港科技大学广州分校的论文“Prompting Multi-Modal Tokens to Enhance End-to-End Autonomous Driving Imitation Learning with LLMs”。
大语言模型 (LLM) 在强化学习领域的应用,尤其是作为规划器,在最近的学术文献中引起了广泛关注。然而,现有研究中的很大一部分主要集中在机器人的规划模型上,这些模型将感知模型的输出转化为语言形式,从而采用了“纯语言”策略。在这项研究中,提出一种用于自动驾驶的混合端到端学习框架,将基本的驾驶模仿学习与基于LLM的多模态提示tokens相结合。不是简单地将分离训练模型的感知结果转换为纯语言输入,而是做以下改进:1) 将视觉和激光雷达传感器数据的端到端集成,输入到可学习的多模态tokens中,从而从本质上缓解了分离预训练感知模型的描述偏差。2) 不直接让 LLM 驾驶,而是探索一种混合设置,让 LLM 帮助驾驶模型纠正错误和复杂场景。实验结果表明,在 CARLA 离线评估中,可实现 49.21% 的驾驶得分,同时路线完成率高达 91.34%。这些性能指标可与最先进的驾驶模型相媲美。
自动驾驶人工智能系统的最新进展可分为两大类:流水线形式和端到端 (E2E) 。流水线[1]、[2]、[3]、[4]、[5]、[6]、[7]、[8] 涉及手动将驾驶分解为连续模块。这些模块包括根据某些规则执行定位 [9]、[10]、场景重建 [11]、[12]、规划 [13]、[14] 和控制 [15]、[16] 等任务。然而,这些单独学习的规则难以涵盖驾驶情况下至关重要的长尾场景。因此,研究人员的目标是通过强化或模仿学习让系统使用端到端形成进行学习,以更好地模仿人类的决策,并使其更接近有效处理这些重要场景。
E2E 驾驶方法 [17]、[18]、[19]、[20]、[21] 在中间特征表示状态下采用状态到动作模仿或强化学习策略。这使之体能够在各种驾驶环境中表现得当。多模态感知融合技术 [22]、[23]、[24]、[25] 的引入显著改善了感知状态表示。这些技术利用视觉和激光雷达数据 [26]、[27]、[28]、[24]、[25]、[29],以 BEV 格式呈现它或作为解码过程的平面张量。ST-P3 [17] 方法和 Transfuser [22] 通过多模态模仿学习达到了 SOTA 性能。然而,这些方法强调状态表示,而较少关注解码器。一般来说,学习系统根据编码特征预测接下来 n 个时间步的航点,并用附加控制器将航点转换为实际控制。然而,仅仅预测航点不足以应对自动驾驶的复杂需求。这种限制阻碍了端到端驾驶系统的实际应用。
Interfuser [30] 和 TCP [31] 分别通过在控制器上引入安全约束和直接添加分支来预测安全控制信号来改进解码器。UniAD [32] 尝试将流水线与端到端训练框架统一起来,并通过引入更直接的监督(如占有态和车道)来达到 SOTA 性能。特别是,Think-Twice [33] 提出以拟人化的方式让解码器参与进来,使编码器和解码器能够在“三思而后行”之后进行交互。
然而,很难手动全面列出所有可能的驾驶规则或组件。在这种情况下,让自动驾驶系统进行语义学习可以使端到端驾驶任务受益。 ADAPT [34] 首次尝试将驾驶任务建模为图像字幕模型,该模型使用视觉Transformer同时预测驾驶动作和将驾驶解释作为字幕。最近的工作则研究了将大语言模型 (LLM) 用于更广泛的自主/机器人系统。PaLM-E [35] 利用预训练 LLM 完成多个具体任务,包括顺序机器人操作规划、视觉问答和字幕制作。Mini-GPT4 [36] 和 LLaVA [37] 为 LLM 引入视觉上下文调优的实用方法。然而,端到端自动驾驶尚未得到充分探索。此外,这些方法集中在自回归的语言模型上。如何在自动驾驶场景中结合模仿学习和强化学习仍未得到研究。
为了给基于 GPT 的模型提供更合适的驾驶环境,将 Visual-LiDAR 感知输入融合到联合 token 表示中。该架构如图 所示,包含两个阶段:早期融合和后期融合。
在第一阶段,使用两个不同的 CNN 分支分别从图像和激光雷达输入中提取浅层特征。图像分支将三个前视摄像头输入(每个输入的视野为 60 度)连接成一个单视图,随后将其重塑为 3 × 160 × 704 的形状。另一方面,激光雷达分支使用 PointPillar [55] 处理原始 LiDAR 输入,创建形状为 33 × 256 × 256 的 BEV 特征。由于这些低级特征保留了很强的几何关系,独立编码器可以提取紧密的局部特征表示,干扰更少。在此阶段,用跨模态自注意来增强几何特征融合。
在使用注意机制进行低级特征提取之后,将两种模态的特征对齐到统一的语义token空间中,其中将每个 16×16×C 特征段视为一个语义词。为了维护这些tokens之间的空间关系,采用交叉注意机制。使用位置嵌入 PE + SE 添加段嵌入来指示位置信息来自距离视图或 BEV 特征空间。
如图所示联合token表示的说明,感知tokens与分段嵌入和位置嵌入对齐,以区别于普通单词tokens。
在将大语言模型 (LLM) 集成到自动驾驶领域的过程中,一个突出的挑战在于有效设计语言提示以及将监控信号转换为语言结构。此过程中的一个关键因素是创建巧妙地结合多模态tokens的提示,同时还要考虑车辆的瞬时状态、周围环境以及短期和长期目标。基本设计逻辑不是让 LLM 直接驾驶,而是让 LLM 帮助基本驾驶模型纠正驾驶行为。这种设置减轻了 LLM 生成实际场景中不存在的动作或目标的负担。
驾驶过程中给出的信息首先按顺序获取,1)多模态tokens 2)汽车的自身状态 3)驾驶任务命令。这里,汽车的自身状态表示当前速度、油门、刹车和当前位置,驾驶任务命令表示指令(执行驾驶/解决驾驶冲突)。之后,如图所示,按顺序添加监督作为语言指导,考虑两个方面:1)感知描述和 2)驾驶动作。
任务提示设计为三种模式。1)给定多模态tokens直接生成感知观察输出和驾驶动作。考虑到驾驶成本,驾驶语言输出通常不用于驾驶,但与驾驶模型并行的正常学习对于建立驾驶逻辑至关重要。2)如果驾驶模型的语言输出与安全控制器相矛盾,则重新查询 LLM。3)给定多模态tokens和驾驶输出,通过 LLM 纠正驾驶错误。
自回归模型的一个显著问题是语言预测的不确定性,这会影响模型的性能。由于按顺序一起预测综合驾驶行为和路点,因此在实验中观察到路点预测可能与控制行为相冲突,就需要启动重新查询机制,如图所示。
此外添加强化引导的回归损失来提高模型的预测准确率。与需要人工反馈来应用强化微调的 InstructGPT [52] 不同,本文场景具有自动生成的指导。由于目标是模仿任务设置中可访问的专家驾驶轨迹,可以将专家轨迹的描述假设为 yw。由于基于 GPT 的模型只能以 token 的方式进行监督,而整个序列对于回归来说都是有意义的,因此引入了带有掩码的近端策略优化算法 [64] (PPO) 来执行监督。
实验中,多模态混合融合网络使用摄像机和激光雷达作为传感输入,其中图像输入单色,FOV 120 度,重塑形状为 (160,704),激光雷达点云转换为 BEV 表示 [55] 并重塑为 (256, 256)。对训练数据应用角度视点增强 [22],通过随机旋转激光雷达输入±20◦并相应地调整真值标签。在前两个卷积块之后的特征图之间应用自注意模块,其中分辨率分别为 (C1, 40, 176) 和 (C2, 20, 88),其中 C1, C2 表示设置下的通道维数 72, 216。对于注意模块,两个隐维度为 512 的 Transformer 层和 4 个注意头分别按顺序作为编码器和解码器应用。对于极射线网格采样细节,遵循前人研究的设置 [66]。在两次下采样后,联合tokens编码应用于分辨率为 (20,88) 和 (32, 32) 的特征图。InterFuser [30] 和 TCP [31]。对于控制器和安全损失,我们直接遵循 InterFuser [30] 的结构。
关于LLM 的训练,驾驶数据由 [30] 中详述的自主智体收集,确保全面记录所有安全指标。然后,这些指标通过一组预定义的提示转换为“驾驶语言”,这些提示使用任务tokens进行表示。随后,使用 InterFuser [30] 中描述的损失函数训练驾驶模型。通过评估训练集来编译错误数据,捕获来自驾驶模型和 GT 的所有输出。值得注意的是,这些驾驶语言分别 20% 和 80% 的采样率包含任务 tokens 2 和 3。不确定性预测层通过将这些数据组合归类为二进制标签进行训练,然后利用交叉熵损失进行优化。至于语言模型,用 Vicuna 33B 作为预训练检查点,并进行微调。