3、深度学习基础:卷积神经网络、循环神经网络、Transformer、注意力机制、损失函数与优化器在自动驾驶中的应用
端到端自动驾驶算法将感知、预测、规划与控制整合为单一可微网络,其底层支撑正是深度学习核心组件。本章聚焦卷积神经网络(CNN)、循环神经网络(RNN)、Transformer、注意力机制、损失函数与优化器在自动驾驶场景中的具体落地方式。理解这些组件如何从原始传感器数据中提取语义、建模时序、融合多模态信息并驱动梯度更新,是设计可靠E2E系统的前提。下图概括了各组件在典型E2E架构中的位置与数据流向。
上图展示了E2E系统中各组件的协作关系:CNN负责空间特征提取,RNN/Transformer处理时序信息,注意力机制实现多模态融合与关键区域聚焦,最终由决策头输出轨迹或控制量,损失函数与优化器驱动整个网络学习。下面逐一深入剖析。
3.1 卷积神经网络(CNN)在感知与特征提取中的核心作用
核心原理
CNN通过卷积核在输入图像或特征图上滑动,利用局部连接与权值共享提取空间层次特征。浅层卷积捕捉边缘、纹理,深层卷积组合出物体部件乃至完整语义。在自动驾驶中,CNN通常作为骨干网络(Backbone)处理前视摄像头图像、环视图像或鸟瞰图(BEV)特征。常用结构包括ResNet(残差连接解决深层退化)、EfficientNet(复合缩放平衡深度/宽度/分辨率)以及轻量级MobileNet(用于车载算力受限平台)。
判断方法与操作流程
- 输入归一化:图像像素除以255并做均值方差标准化,点云投影到BEV后需统一分辨率与坐标范围。
- 骨干网络选择:根据算力与精度需求选择。例如,Orin平台可用ResNet-50,低算力平台选MobileNetV3。
- 特征金字塔(FPN):多尺度特征融合,提升小目标(行人、锥桶)检测能力。
- 输出头设计:分类头输出目标类别,回归头输出边界框或轨迹点。
案例拆解:BEV语义分割中的CNN应用
某L2+系统使用6路环视摄像头生成BEV语义分割图。初始方案直接对每路图像独立做语义分割再投影拼接,结果在车辆近旁出现重影与空洞。分析发现,单路CNN缺乏跨视角一致性约束。改进方案:先使用CNN提取各视角特征,再通过可变形注意力将特征投影到统一BEV网格,最后用轻量CNN解码器输出语义分割。关键参数:输入分辨率1280×720,BEV网格200×200,CNN骨干为ResNet-18,训练时使用交叉熵损失+边缘平滑正则。结果:IoU从0.62提升至0.78,重影问题基本消除。代价是推理延迟增加8ms,但换来了更稳定的感知输出。
3.2 循环神经网络(RNN)与序列建模:从LSTM到GRU
核心原理
RNN通过隐藏状态传递历史信息,适合处理时间序列。但标准RNN存在梯度消失/爆炸问题,LSTM引入输入门、遗忘门、输出门和细胞状态,GRU简化合并为更新门与重置门。在自动驾驶中,RNN用于建模车辆历史轨迹、预测未来运动,或处理连续帧特征以捕捉动态障碍物行为。
判断方法与操作流程
- 输入构造:将过去T帧的检测结果或特征序列按时间排序,每帧特征维度为D,输入形状为(T, D)。
- 网络选择:序列长度<20且算力紧张时选GRU;需要精细长程记忆时选LSTM;若序列极长(>50),考虑Transformer替代。
- 双向处理:离线训练可用双向RNN,在线推理只能用单向(因果)结构。
案例拆解:车辆轨迹预测
某E2E系统需要预测自车周围车辆未来3秒轨迹。初始使用单帧CNN输出轨迹,在高速场景下预测误差大。改为输入过去2秒(10Hz,共20帧)的目标历史位置与速度,使用两层LSTM(隐藏单元128),输出未来30个时间步的轨迹点。训练损失为负对数似然(假设高斯分布)。关键指标:预测误差ADE从2.1m降至1.3m,FDE从4.5m降至2.8m。但LSTM推理延迟较高,后续将LSTM替换为GRU,精度几乎不变,延迟降低30%。
3.3 Transformer与注意力机制:多模态融合与全局上下文建模
核心原理
Transformer基于自注意力(Self-Attention)机制,计算序列内任意两个位置的相关性,突破CNN局部感受野限制。多头注意力(Multi-Head Attention)让模型从不同子空间学习关联。在自动驾驶中,Transformer用于:1)处理BEV特征序列,建模全局空间关系;2)融合多模态数据(图像、点云、地图);3)作为决策规划头,直接输出轨迹。注意力机制的核心公式为:Attention(Q,K,V)=softmax(QK^T/√d)V,其中Q为查询,K为键,V为值。
判断方法与操作流程
- 位置编码:自动驾驶中需加入空间位置编码(如BEV坐标)和时间步编码。
- 计算复杂度:标准自注意力为O(N²),BEV网格200×200时N=40000,计算量过大。常用窗口注意力或稀疏注意力降低复杂度。
- 交叉注意力:用于多模态融合,例如以图像特征为Q,点云BEV特征为K/V,实现跨模态对齐。
案例拆解:多模态融合的BEV感知
某Robotaxi平台融合6路相机与1个激光雷达。初始方案将点云投影到图像平面后与图像特征拼接,在远距离小目标上漏检严重。分析发现,投影法丢失了点云的深度精度,且图像特征与点云特征未对齐。改进方案:使用BEVFormer架构,图像特征通过可变形注意力采样到BEV网格,点云经VoxelNet编码后也映射到BEV,两者在BEV空间用自注意力融合。关键参数:BEV分辨率0.5m×0.5m,范围[-50m,50m]×[-25m,25m],Transformer编码器6层,每层8头注意力。结果:远距离(>50m)行人召回率从0.55提升至0.81,整体NDS指标提升12%。训练使用AdamW优化器,初始学习率2e-4,余弦退火调度。
3.4 损失函数与优化器:驱动E2E网络学习的引擎
核心原理
损失函数量化预测与真值之间的差异,优化器根据梯度更新网络参数。E2E自动驾驶的损失函数通常为多任务加权组合:轨迹回归用L1或Smooth-L1损失,分类任务用交叉熵,多模态预测用负对数似然,行为克隆用最大似然估计。优化器选择影响收敛速度与最终精度,Adam自适应调整学习率,AdamW增加权重衰减解耦,SGD配合动量在精细调优时更稳定。
判断方法与操作流程
| 组件 | 常用选择 | 适用场景 | 注意事项 |
|---|---|---|---|
| 轨迹回归损失 | Smooth-L1 / L1 | 横纵向位置、速度 | 对异常值鲁棒,梯度平滑 |
| 分类损失 | 交叉熵 / Focal Loss | 驾驶意图、目标类别 | 类别不平衡时用Focal Loss |
| 多模态损失 | 负对数似然 | 多轨迹预测 | 需配合混合密度网络 |
| 优化器 | AdamW / Adam | 预训练与常规训练 | AdamW泛化性更好 |
| 学习率调度 | 余弦退火 / 线性warmup | 大模型训练 | warmup稳定初期训练 |
案例拆解:损失函数权重调优
某E2E系统同时输出轨迹与驾驶意图。初始损失权重为轨迹L1:意图交叉熵=1:1,训练后轨迹平滑但意图准确率仅78%。分析发现,轨迹损失数值远大于分类损失,梯度被轨迹项主导。调整权重为1:0.3,并引入不确定性加权(根据任务噪声自动学习权重),意图准确率提升至91%,轨迹误差基本不变。优化器从Adam切换为AdamW(权重衰减1e-4),过拟合减少,验证集损失下降8%。
3.5 综合对比与工程实践建议
| 维度 | CNN | RNN | Transformer | 注意力机制 |
|---|---|---|---|---|
| 核心优势 | 空间特征提取高效 | 时序建模自然 | 全局上下文建模 | 动态特征加权 |
| 主要局限 | 感受野有限 | 长序列梯度问题 | 计算复杂度高 | 需大量数据训练 |
| 自动驾驶用途 | 图像/BEV特征 | 轨迹预测 | 多模态融合/决策 | 关键区域聚焦 |
| 典型延迟 | 5-15ms | 3-10ms | 15-40ms | 随序列长度变化 |
| 推荐场景 | 实时感知 | 短时预测 | 离线训练/高算力平台 | 融合与决策 |
在实际E2E系统中,这些组件并非孤立使用。主流方案采用CNN提取视觉特征,Transformer在BEV空间融合多模态信息并建模全局关系,RNN或轻量GRU处理时序预测,最终由MLP或Transformer解码器输出轨迹。损失函数需根据任务特点设计多任务权重,优化器推荐AdamW配合余弦退火。工程上需关注推理延迟、显存占用与数值稳定性,必要时使用TensorRT或量化加速。