Feedback-Guided Autonomous Driving
idea
问题设定:基于 CARLA 的目标驱动导航任务,通过知识蒸馏,利用特权智能体的丰富监督信息训练学生传感器运动策略函数
基于 LLM 的端到端驱动模型:采用 LLaVA 架构并添加航点预测头,通过视觉编码器、语言编码器处理信息,直接从输出嵌入计算航点,提高推理效率。
反馈引导微调:定义五类失败案例,生成相应反馈提示,通过交叉熵损失和
L 1 L_1 L1损失优化模型,使智能体从错误中学习。
训练过程:分两阶段训练,先基于特征蒸馏训练,再用反馈推理微调,使用 AdamW 优化器和余弦退火调度器。
思路
大体框架
将编码为语言标记的前视摄像头图像(橙色)和自车状态信息(蓝色)进行映射,并预测一组未来的航点。这是通过引入新的航点标记(绿色)作为输入提示的一部分来实现的
引入一个特权智能体,该智能体额外获取真实的环境信息(紫色),并通过特征蒸馏为训练感觉运动智能体提供丰富的监督(是指将Privileged Agent的绿色输出与Sensorimotor Agent的输出做对比,之后损失函数部分会讲)
航点预测头:基于高效多层感知器(MLP)的航点预测头,将来自多模态大语言模型最后一个隐藏层的特征作为输入,并输出航点ys
感觉智能体的prompt
对于感觉运动智能体,我们用表示文本跨度开始和结束的标记包裹自车速度 v 和短期目标 g。
将分类导航命令以自然语言形式提供,即左转、右转、直走、沿车道行驶、向左变道、向右变道。
引入 K 个航点标记,即 “< w1 > … < wk >”,其从大语言模型最后一个隐藏层输出的对应特征将用于最终的航点预测。
引入 512 个图像补丁标记 “<im_patch>” 作为占位符,在将其输入大语言模型之前,这些占位符的嵌入特征将被视觉嵌入 U 替换
特权智能体的prompt设计
对于特权智能体,我们额外提供参数化的环境信息。具体来说,自车前方 30 米范围内的所有周围物体,即车辆和行人,都可以通过其在鸟瞰图(BEV)中的位置来表示
此处的BEV离散化为一个96 * 96的网格,鸟瞰图中的每个连续位置都可以由其所在单元格的位置标记来表示。交通信号灯由一个位置标记和一个状态标记表示
反馈机制
利用关于航点预测错误的细粒度文本反馈来进行反馈微调
使得感觉运动智能体能够有效地从经验中学习,包括从失败中学习,而失败能提供极有价值的监督信号
根据周围物体的真实状态和原始的航点预测,我们对五种失败情况进行了详细分类,并为每种失败情况生成相应的反馈提示
五种情况分别是:车俩碰撞,行人碰撞,交通信号灯违规,与专家示范的偏差(对比路点),与规划路线的偏差
损失函数
分为两阶段训练:
第一阶段
不带有反馈机制
- Sen Agent的输出路点和标准做L1损失
- Pri和Sen的绿色输出(特征)做L2损失
总的损失函数: L = L w p t s + L f e a t L=L_{wpts}+L_{feat} L=Lwpts+Lfeat
第二阶段
基于反馈的模型微调
公式13是常用的大模型损失函数,根据前n-1个词来预测第n个词是什么