4. Transformer基础
在端到端驾驶时序建模中,Transformer 之所以成为主流骨干,核心在于它用自注意力替代了循环结构,使模型能够在一次前向计算中同时看到整段历史轨迹、传感器状态与导航指令,并动态决定“当前时刻应该关注哪些过去帧”。本节从自注意力、位置编码、编码器-解码器结构以及与 RNN 的对比四个角度,建立 Transformer 的工程直觉。
一、自注意力机制:用 Q/K/V 做全局加权
自注意力的本质是一次“可学习的软检索”。给定输入序列 X ∈ R^(N×d),通过三个线性投影得到查询 Q、键 K、值 V:
Q = X W_Q, K = X W_K, V = X W_V
Attention(Q,K,V) = softmax(Q Kᵀ / √d_k) V
其中 Q Kᵀ 计算任意两个时间步之间的相关性分数,√d_k 用于缩放,防止点积过大导致 softmax 梯度饱和。softmax 归一化后得到注意力权重,再对 V 加权求和,输出每个位置的新表示。对驾驶时序而言,这意味着第 t 帧的输出可以直接融合第 t-20 帧的刹车意图、第 t-5 帧的横向偏移以及当前帧的障碍物位置,而不必像 RNN 那样逐帧传递。
工程上通常使用多头注意力:将 d 维拆成 h 个子空间并行计算,再拼接投影。不同头可以分别学习“车道保持”“跟车距离”“变道意图”等不同关系模式,提升表达多样性。
二、位置编码:让无序注意力感知时间顺序
自注意力本身对序列顺序不敏感,若不加位置信息,模型无法区分“先刹车后转向”和“先转向后刹车”。因此需要注入位置编码。常见方案有两类:
- 正弦位置编码:用不同频率的 sin/cos 函数生成固定向量,公式为
PE(pos,2i)=sin(pos/10000^(2i/d)),PE(pos,2i+1)=cos(...)。优点是无需训练、可外推到更长序列。 - 可学习位置嵌入:为每个位置分配可训练向量,灵活但受最大长度限制。
在驾驶时序中,时间戳、帧间隔、速度变化率等物理量也可作为额外位置特征拼接,帮助模型理解“时间距离”而非仅“索引距离”。
三、编码器-解码器结构:从历史到未来轨迹
标准 Transformer 由编码器和解码器堆叠而成。编码器每层包含多头自注意力和前馈网络,并配合残差连接与层归一化;解码器额外插入掩码自注意力和交叉注意力,前者防止看到未来帧,后者让解码器查询编码器输出的历史上下文。
在端到端驾驶中,常见两种用法:
- 编码器-only:将历史轨迹、BEV 特征、导航指令拼接为序列,直接回归未来轨迹或控制量,适合实时性要求高的场景。
- 编码器-解码器:编码器压缩历史与场景,解码器以自回归方式逐步生成未来轨迹点,适合多模态、长时域预测。
四、与 RNN 的对比:并行、长程与工程代价
RNN/LSTM 通过隐藏状态逐帧递推,天然具备顺序性,但存在两个瓶颈:一是无法并行,训练长序列时耗时随长度线性增长;二是长程依赖衰减,远距离信息在多次传递后容易被稀释。Transformer 用全局注意力将任意两帧路径长度缩短为 O(1),训练可并行,长程建模更稳定。
代价是计算复杂度为 O(N²·d),对长序列显存和算力要求高。工程上常用滑动窗口、稀疏注意力、分块注意力或线性注意力来缓解。下表给出面向驾驶时序的选型参考:
| 维度 | RNN/LSTM | Transformer |
|---|---|---|
| 并行训练 | 不可并行,逐帧递推 | 可全序列并行 |
| 长程依赖 | 易衰减,需门控缓解 | 全局注意力,路径短 |
| 计算复杂度 | O(N·d²) | O(N²·d) |
| 位置感知 | 结构自带顺序 | 需显式位置编码 |
| 推理延迟 | 逐帧,延迟稳定 | 可并行,但长序列显存高 |
| 驾驶适用 | 短时、低算力 | 长时、多模态、全局规划 |
五、案例与误区复盘
假设一段 2 秒、20Hz 的城市跟车数据,共 40 帧。RNN 需要 40 次递推才能把第 1 帧的“前车急刹”传到第 40 帧;Transformer 在第 40 帧的注意力权重中可直接给第 1 帧高分,从而更快响应。但若不加位置编码,模型可能把“先加速后刹车”误判为“先刹车后加速”,导致轨迹抖动。
因此,在端到端驾驶时序建模中,推荐先用编码器-only + 正弦位置编码建立基线,再根据长时域与多模态需求引入解码器与交叉注意力,并通过滑动窗口控制 N,在精度与延迟之间取得平衡。