端到端驾驶的注意力学习(Attention Learning for End-to-End Driving)关键内容学习
3.1 问题设置(Problem Setup)
- 模仿学习(Imitation Learning, IL):介绍了模仿学习的概念,即通过观察专家(在这种情况下是经验丰富的驾驶员)的行为来训练模型。模型的目标是学习一个策略,能够将观察到的环境状态映射到相应的动作上。
3.2 架构(Architecture)
输入编码(Input Encoding):
- 多摄像头输入:模型使用来自多个摄像头的RGB图像作为输入,这些图像覆盖了车辆周围的环境。
- 特征提取:每个RGB图像通过共享权重的ResNet骨干网络进行特征提取,输出为最后一层卷积层的特征图。
- 令牌化:将特征图在空间维度上展平并连接,形成一系列令牌,这些令牌随后用于模型的进一步处理。
注意力引导学习(Attention Guidance Learning):
- Transformer编码器:使用Transformer模型中的自注意力机制来关联不同视图之间的特征。
- 自注意力层选择:在多个自注意力层中选择一层来应用注意力损失,以引导模型关注重要的视觉区域。
动作学习(Action Learning):
- 全局平均池化(GAP):将Transformer编码器的输出进行全局平均池化,以获得一个紧凑的特征表示。
- 多层感知机(MLP):使用包含ReLU激活函数的MLP来将池化后的特征映射到最终的驾驶动作上。
3.3 损失函数(Loss Function)
动作损失(Action Loss):
- L1距离:计算模型预测的动作和专家动作之间的L1距离,以量化模型在模仿驾驶行为上的准确性。
- 权重:为转向和加速度部分分配不同的权重,以平衡损失函数中这两部分的重要性。
注意力损失(Attention Loss):
- 显著图:使用显著图(语义图)来标识图像中对驾驶任务至关重要的区域,如其他车辆、行人、交通标志等。
- KL散度:利用Kullback-Leibler散度来比较模型的自注意力图和显著图,迫使模型的注意力分布与显著图相匹配。
- 正则化:在计算注意力损失时添加小量正则化项,以避免数值不稳定。
4 实验(Environments)
4.1 驾驶环境(Driving Environments)
CARLA模拟器:
- 使用CARLA模拟器0.9.13版本进行实验
- 选择不同的城镇和天气条件进行数据收集
数据收集:
- 使用基于强化学习的教师模型进行数据收集,该模型比CARLA默认教师更真实
- 在Town01中收集了14小时数据,在多个城镇中收集了55小时数据
- 数据收集帧率为10 FPS
摄像头设置:
- 使用3个前置摄像头,覆盖180度视野(每个摄像头60度)
- RGB图像分辨率为300x300像素
数据多样性:
- 在不同的天气条件下收集数据,如ClearNoon、ClearSunset、HardRainNoon、WetNoon
- 在不同的城镇中收集数据,如Town01-Town06,包含不同道路类型
4.2 验证(Validation)
在线验证:
- 在CARLA模拟器中实时验证模型,不受推理时间影响
- 使用动态代理车辆进行评估,随机生成其他车辆和行人
天气条件:
- 在训练期间未见过的新天气条件下进行验证,如SoftRainSunset、WetSunset
- 评估模型在不同天气条件下的泛化能力
评估场景:
- 对于14小时数据集,在未见过的Town02中进行验证
- 对于55小时数据集,在Town05中的10条路线上进行验证
4.3 训练超参数(Training Hyperparameters)
CIL++代码:
- 使用CIL++公开代码作为实验框架
- 保持动作损失权重不变:λact=1, λs=λacc=0.5
损失权重:
- 系统地探索注意力损失权重:λatt∈{0.1, 0.25, 0.5, 1.0, 2.5, 5.0, 10.0}
- 在Town01的不同天气条件下验证不同权重的性能
训练周期:
- 训练过程持续80个周期(epoch)
- 批量大小(batch size)为512
- 初始学习率(initial learning rate)为1e-4
- 选择在训练过程中表现最好的模型进行评估
4.4 定量结果(Quantitative Results)
数据量影响:
- 使用14小时数据集的不同子集进行训练,从2小时递增到8小时
- 比较基线模型和引入注意力损失的模型在不同数据量下的性能
天气条件变化:
- 在8小时数据集中逐渐增加天气条件类型
- 评估模型在不同天气条件下的泛化能力
性能比较:
- 将引入注意力损失的模型与基线模型进行比较
- 在成功率(SR)、驾驶分数(DS)、路线完成率(RC)、违规分数(IS)等指标上评估性能提升
4.5 定性结果(Qualitative Results)
注意力图可视化:
- 可视化Transformer编码器最后一层的平均注意力图
- 比较CIL++和引入注意力损失的模型在不同城镇中的注意力图
模型解释性:
- 通过可视化结果,说明引入注意力损失如何提高模型的可解释性
- 展示模型如何关注输入图像中的特定对象,如行人、车辆等
4.6 实验总结
性能提升:
- 实验结果表明,引入注意力损失可以在数据资源有限的情况下显著提高模型的驾驶性能
- 在低数据量和高数据量条件下,引入注意力损失的模型均优于基线模型
泛化能力:
- 模型在不同的城镇和天气条件下展示了良好的泛化能力
- 在未见过的Town02和Town05中,引入注意力损失的模型性能更优
未来工作:
- 计划将引入注意力损失的方法应用于更复杂的非纯视觉模型
- 探索使用真实数据进行测试,并在真实车辆中部署模型
这部分内容详细描述了实验的设置、验证方法、训练超参数、定量和定性结果,以及实验总结。通过在CARLA模拟器中进行精心设计的实验,作者全面评估了引入注意力损失对提高自动驾驶模型性能的影响。实验结果证明了该方法在不同数据量和环境条件下的有效性,并展示了其在提高模型可解释性方面的潜力。