arXiv论文《Wayformer:MotionForecastingviaSimple&EfficientAttentionNetworks》,2022年7月上传,是GoogleWaymo的作品。自动驾驶的运动预测是一项具有挑战性的任务,因为复杂的驾驶场景会导致静态和动态输入的各种混合。如何最好地表示和融合有关道路几何形状、车道连通性、时变交通灯状态和动态代理集及其交互的历史信息,并将其融合到有效的编码中是一个尚未解决的问题。为了对这组不同的输入特征进行建模,有许多方法可以使用不同的特定模态模块集来设计同样复杂的系统。这导致系统难以以严格的方式扩展、缩放或在质量和效率之间进行权衡。本文中的Wayformer是一系列简单且同质的基于注意力的运动预测架构。Wayformer提供了一个紧凑的模型描述,包括一个基于注意力的场景编码器和解码器。在场景编码器中,研究了输入模态的融合前、融合后和分层融合的选择。对于每种融合类型,探索了通过分解注意力或潜在查询注意力权衡效率和质量的策略。预融合结构简单,不仅与模态无关,而且在WaymoOpenMotionDataset(WOMD)和Argoverse排行榜上都取得了最先进的结果。驾驶场景由多模式数据组成,例如道路信息、交通灯状态、代理历史记录和交互。对于模态,有一个上下文第四维,表示每个建模代理的“一组上下文目标”(即其他道路使用者的表示)。代理历史记录包含过去代理状态的列表以及当前状态。对于每个时间步,考虑定义代理状态的特征,例如x、y、速度、加速度、边界框等,以及上下文维度。交互张量表示代理之间的关系。对于每个建模代理,考虑建模代理周围固定数量的最近邻居上下文。这些上下文代理代表影响建模代理行为的代理。路线图包含代理周围的道路特征。道路地图段表示为多段线,这是一组由端点指定并用类型信息注释的线段,近似于道路的形状。采用最接近建模代理的路线图段。请注意,道路特征没有时间维度,可以添加时间维度1。对于每个代理,交通灯信息包含离该代理最近的交通信号灯的状态。每个交通信号点都有描述信号位置和置信度的特征。Wayformer模型系列,由两个主要组件组成:场景编码器和解码器。场景编码器主要由一个或多个注意力编码器组成,用于总结驾驶场景。解码器是一个或多个标准的Transformer交叉注意力模块,它们输入学习到的初始查询,然后与场景编码交叉注意力以生成轨迹。如图所示,Wayformer模型处理多模态输入生成场景编码:场景编码作为解码器的上下文生成覆盖输出空间多模态的k个可能轨迹。场景编码器输入的多样性使得这种集成成为一项不平凡的任务。模态可能不会以相同的抽象级别或比例表示:{像素与目标对象}。因此,某些模态可能需要比其他模态更多的计算。计算模式之间的分解取决于应用程序,对工程师来说非常重要。这里提出了三个融合层次来简化这个过程:{post,front,hierarchical},如图:post-fusion是运动预测模型最常用的方法,其中每个模态都有自己专用的编码器。将这些编码器的宽度设置为相等可避免在输出中引入额外的投影层。此外,在所有编码器中共享相同的深度,探索空间缩小到可管理的范围。信息只允许在轨迹解码器的交叉注意层中跨模态传输。预融合不是将自注意力编码器专用于每个模态,而是将特定于模态的参数减少到投影层。图中的场景编码器由单个自注意编码器(“跨模态编码器”)组成,网络在跨模态分配重要性方面具有最大的灵活性,同时具有最小的归纳偏差。HierarchicalFusion作为前两个极端之间的折衷,体积以分层方式在模态特定的自注意力编码器和跨模态编码器之间分解。宽度和深度在注意力编码器和跨模态编码器之间共享,就像在融合后所做的那样。这有效地分摊了模态特定编码器和跨模态编码器之间的场景编码器的深度。由于以下两个因素,Transformer网络不能很好地扩展到大型多维序列:(a)自注意力是输入序列长度的二次方。(b)位置前馈网络是昂贵的子网络。下面讨论加速方法,(S为空间维度,T为时域维度),其框架如图所示:在空间和时间维度上应用自注意力预计是计算量最大的。多轴注意力的前、后、层次融合的计算复杂度为O(Sm2×T2)。Factorizedattention:self-attention的计算复杂度是输入序列长度的二次方。这在多维序列中变得更加明显,因为每个额外的维度都会通过乘法因子增加输入的大小。例如,一些输入模态具有时间和空间维度,因此计算成本扩展到O(Sm2×T2)。为了缓解这种情况,我们考虑沿两个维度分解注意力。该方法利用输入序列的多维结构,通过在每个序列中应用自注意力,将自注意力子网络的成本从O(S2×T2)降低到O(S2)+O(T2)单独维度。虽然与多轴注意力相比,分解注意力有可能减少计算量,但它在将自我注意力应用于每个维度的顺序时引入了复杂性。这里比较了两个因式分解注意范例:顺序注意:一个N层编码器由N/2个时间编码器块和另一个N/2个空间编码器块组成。Interleavedattention:N层编码器由N/2次交替的时间和空间编码器块组成。Latentqueryattention:解决大输入序列计算成本的另一种方法是在第一个编码器块中使用latentquery,其中输入被映射到潜在空间。这些潜在变量由一系列接收和返回该潜在空间的编码器块进一步处理。这允许完全自由地设置潜在空间分辨率,减少每个块中自注意力组件和位置前馈网络的计算成本。将减少量(R=Lout/Lin)设置为输入序列长度的百分比。所有注意力编码器的缩减因子R在融合后和分层融合中保持不变。Wayformer预测器输出代表代理可能采取的可能轨迹的高斯混合。为了生成预测,Transformer-decoder被输入一组k个学习的初始查询(Si),并与编码器的场景嵌入交叉参与,为高斯混合的每个分量生成嵌入。给定混合中特定成分的嵌入,线性投影层会生成该成分的非规范化对数似然,从而估计整体混合似然。为了生成轨迹,使用另一个线性层进行投影,输出4个时间序列,其均值和对数标准差对应于每个预测的高斯时间步长。在训练过程中,损失被分解为各自的分类损失和回归损失。假设k个预测的高斯分布,训练混合似然以最大化真实轨迹的对数概率。如果预测器输出具有多种模式的高斯混合体,则很难进行推断,并且基准指标通常会限制所考虑的轨迹数量。因此,在评估期间,应用轨迹聚合,减少考虑的模式数量,同时仍保持原始输出混合的多样性。实验结果如下:decomposingattentionlatentquery
