Skip to content

DETR中的正余弦位置编码机制深度解析

1. 引言:检测Transformer中位置感知的重要性

DEtection TRansformer (DETR) 1 的出现,通过将目标检测问题构建为一个直接的集合预测问题,彻底改变了目标检测领域。这种方法有效地消除了许多手工设计的组件,如非极大值抑制 (Non-Maximum Suppression, NMS) 和锚点生成 (anchor generation) 1,从而简化了检测流程 1。DETR的核心是Transformer架构,然而,Transformer本身具有排列不变性 (permutation-invariance) 3。这意味着它们在处理输入元素(例如,图像块或词语)时是同时进行的,缺乏对元素顺序的固有理解。这与循环神经网络 (RNNs) 或长短期记忆网络 (LSTMs) 等序列模型有显著不同,后者能够自然地处理序列顺序 4。

无论是自然语言中句子的语义,还是图像中物体的空间关系,都严重依赖于顺序信息 4。例如,“艾伦遛狗”与“狗遛艾伦”尽管用词相同,但含义迥异 4。在视觉任务中,物体在哪里与其是什么同等重要。因此,为Transformer引入一种明确的机制来注入位置信息至关重要,以便其在依赖顺序或空间关系的任务中有效发挥作用 4。这种机制被称为位置编码 (positional encoding)。

DETR中对NMS和锚点等手工组件的摒弃,虽然简化了检测流程,但也对模型从数据中直接学习任务相关的先验知识(包括空间关系)提出了更高的要求。这些被移除的组件,例如锚点,本身就隐式地编码了关于物体期望位置和尺度的空间先验。在没有这些组件的情况下,Transformer必须自行学习这些空间特性。位置编码作为Transformer感知空间的主要途径,其设计的有效性对于DETR的成功变得尤为关键。因此,一个鲁棒的位置编码机制并非锦上添花,而是DETR端到端理念得以实现的基础。

以DETR为代表的基于Transformer的目标检测模型的兴起,也揭示了计算机视觉领域的一个更广泛的趋势:从依赖具有内置几何偏置的专门化架构(如卷积神经网络CNN的局部感受野)转向更通用的基于注意力机制的架构。后者则需要通过显式编码的方式来注入这类偏置信息。CNN由于其卷积操作的本质,能够固有地捕捉局部空间关系。相比之下,Transformer缺乏这种固有的空间偏置 4。DETR的成功 1 表明,如果能够恰当地注入空间信息,Transformer同样适用于视觉任务。这预示着未来模型架构可能会更加标准化(例如,类Transformer架构),而领域特定的知识(如空间感知)则通过位置编码等机制注入,而非固化在核心架构中。视觉Transformer (ViT) 的兴起进一步印证了这一趋势 8。

2. 正余弦位置编码的基础

2.1 核心概念与目的

位置编码的核心目的是向序列中的元素注入关于其相对或绝对位置的信息 4。这使得模型能够区分出现在不同位置的相同元素,并理解输入的整体结构 4。对于缺乏循环或卷积结构的Transformer而言,位置编码对于保持序列数据的顺序至关重要 4。若没有位置编码,模型会将句子视为“词袋模型”,或将图像视为“像素袋模型” 4。Vaswani等人在2017年提出的原始Transformer论文中,引入了基于正余弦函数的固定、确定性的位置编码方法 4。

2.2 数学公式:从一维序列到二维空间图

2.2.1 一维正余弦位置编码

对于序列中位置为 pos、嵌入维度为 dmodel​ 的第 i 个维度,其位置编码 PE 通过正弦和余弦函数定义 3:
PE(pos,2i)=sin(pos/n2i/dmodel​)
PE(pos,2i+1)=cos(pos/n2i/dmodel​)
其中,n 是一个用户定义的标量(通常为10000)4, dmodel​ 是嵌入维度。该公式为每个位置分配了一个唯一的向量 5。这些正余弦函数的波长形成一个从 2π 到 2πn 的几何级数 5。
选择几何级数的波长并非偶然。分母项 n2i/dmodel​ 控制着波长。随着维度索引 i 的增加,2i/dmodel​ 也随之增加,导致 n2i/dmodel​ 增大,从而产生更长的波长(较低的频率)。相反,当 i 减小时,波长变短(频率变高)。这种设计确保了编码向量的不同维度以不同的频率振荡,使得模型能够同时捕捉不同尺度下的位置信息——从细粒度的局部位置(高频)到粗粒度的全局位置(低频)。这种多尺度的位置表示对于图像尤其重要,因为图像中的特征可能在不同的空间粒度上存在关联。

2.2.2 二维图像位置编码扩展 (DETR应用)

对于图像特征,位置编码需要捕捉二维空间位置(x, y坐标)2。DETR采用二维版本的正余弦位置编码。这通常通过独立地为x和y坐标生成一维正余弦编码,然后将它们拼接或组合起来实现 10。对于一个 H×W 大小的特征图,会分别计算行 (row_embed) 和列 (col_embed) 的位置编码。对于位置 (x,y),其 dmodel​ 维的位置编码 PE(x,y) 通常由x坐标的 dmodel​/2 维编码和y坐标的 dm​odel/2 维编码拼接而成。

在10中的 DETR 类实现展示了 self.row_embed 和 self.col_embed,它们是参数(如果不是固定的正余弦编码,则是可学习的,但分离行列编码的概念是适用的)。HuggingFace的DETR文档 12 证实了默认使用固定的正余弦编码。原始DETR论文 (Carion et al., 2020) 中的具体公式涉及对归一化坐标应用不同频率缩放的正弦和余弦函数,对每个维度(x和y)独立进行,然后将这些编码拼接起来形成最终的位置嵌入。26 (公式6) 提供了一个通用的正余弦PE公式 PE(pos),其中 pos 可以是多维坐标,ωt​=T−2t/d 包含一个温度参数 T。这表明了这些编码生成方式的灵活性。

尽管二维正余弦PE通常通过独立编码x和y坐标然后组合(例如拼接)的方式实现,但这种独立编码可能无法像真正的联合二维编码那样有效地捕捉复杂的对角线或旋转关系。模型需要从拼接后的向量中学习如何解释联合的(x,y)关系,这可能不如一个本身就能编码(x,y)相互依赖性的PE函数直接。这在一定程度上解释了为何某些先进的PE技术,如可学习傅里叶特征 13 或更复杂的相对PE,可能通过学习这些相互依赖性而提供优势。

此外,某些正余弦PE公式中提到的“温度”参数 T(例如26)提供了一个额外的自由度,可以影响位置注意力的“感受野”。T 值越大,正余弦变化越慢(感受野越宽),反之则变化越快(感受野越窄)。这意味着即使是“固定”的正余弦PE,其特性也可以被调节,从而影响模型如何权衡局部与全局空间线索。这种调节对于不同的数据集或物体尺度可能至关重要。

2.3 正余弦位置编码的特性

  • 唯一性: 每个位置 pos 都会得到一个唯一的位置编码向量 5。
  • 相对位置: 该公式允许模型轻松学习关注相对位置。对于任意固定的偏移量 k,PE(pos+k) 可以表示为 PE(pos) 的线性函数。这一特性对于理解元素之间的关系至关重要 5。
  • 有界性: 正弦和余弦函数的值自然地界定在-1和1之间,这有助于稳定训练过程 5。
  • 确定性与固定性: 正余弦PE是固定的,非学习的 4。这减少了可训练参数的数量 14。
  • 平滑性与连续性: 输入位置的微小变化会导致输出编码的微小变化,从而提供了一个可微的空间 4。
  • 对不同长度的泛化能力: 正余弦函数的周期性使得模型理论上能够外推到比训练时更长的序列长度,尽管这在实践中存在局限性。

3. DETR架构中的正余弦位置编码

3.1 编码器路径:编码CNN特征图的空间信息

DETR首先将输入图像通过一个CNN主干网络(例如ResNet-50)来提取一个低分辨率的特征图 f∈RC×H×W 2。这个特征图保留了空间维度。在这些特征被送入Transformer编码器之前,会加入空间正余弦位置编码 2。位置编码 PE∈RC×H×W 与特征图具有相同的维度。通常是逐元素相加:input_to_encoder=f+PE。

HuggingFace的DETR文档 12 指出:“DETR在每个自注意力和交叉注意力层中,在投影到查询(Query)和键(Key)之前,将位置嵌入添加到隐藏状态中。” 原始DETR论文 (Carion et al., 2020) 明确指出,空间位置编码被添加到编码器中每个注意力层的输入。更准确地说,它们被添加到每个注意力块内的查询 (Q) 和键 (K) 投影中。3提到位置编码器与词嵌入输入通过加法结合后送入Transformer。这允许编码器的自注意力机制在计算注意力分数时考虑不同图像区域之间的空间关系,从而捕捉远程依赖关系 2。

带有位置信息的 (C×H×W) 特征图随后通常被展平为一个 (HW×C) 的序列化词元 (tokens),以便Transformer编码器处理 10。在编码器的自注意力机制中,Q、K和V矩阵来源于这些具有位置感知的输入特征。具体而言,空间位置编码 PEspatial​ 被加到特征图 f 上产生 x=f+PEspatial​。然后,Q、K、V 计算为 Q=xWQ​, K=xWK​, V=xWV​。一些实现方式,如12所暗示的,可能在从 f 投影后直接将PE添加到Q和K:Q=(f)WQ​+PEq​, K=(f)WK​+PEk​。原始DETR论文(3.2节,“Transformer”)声明:“由于Transformer架构是排列不变的,我们用固定的位置编码来补充它,这些编码被添加到每个注意力层的输入中。” 对于编码器:“空间位置编码在每个多头自注意力层中被添加到查询和键中。” 这意味着 Q=(f+PEq​)WQ​ 和 K=(f+PEk​)WK​,或者 Q=fWQ​+PEq_emb​ 和 K=fWK​+PEk_emb​,其中 PEq_emb​ 和 PEk_emb​ 源自空间PE。最常见的解释是,位置编码在输入特征投影成Q、K、V之前被添加到输入特征上,或者位置编码本身被投影并添加到Q和K的投影上。

3.2 解码器路径:对象查询及其位置属性的角色

DETR解码器接收两个主要输入:编码器的输出(记忆)和一小组固定的N个可学习嵌入,称为“对象查询”(通常N=100)1。这些对象查询是可学习的参数 10。这些对象查询本身充当可学习的位置嵌入 12。它们在训练过程中被初始化(例如,初始化为零或随机值)并学习得到 12。与编码器中固定的正余弦PE不同,这些是动态的。10指出“在解码器中,使用可学习的位置编码(对象查询)”。

与编码器类似,这些对象查询嵌入(本身具有位置属性)被添加到解码器中每个注意力层的输入中 12。对象查询在解码器内部通过自注意力层。这使得查询之间能够相互作用,建模检测到的对象之间的关系,并有助于避免冗余预测 12。对象查询的位置属性(作为独特的可学习嵌入)使得每个查询能够特化。

在交叉注意力层中,对象查询(充当Q)关注编码器的输出(记忆,充当K和V)2。来自编码器的空间位置编码也被传递到交叉注意力层,并添加到键(以及可能从对象查询派生的查询)中 12。原始DETR论文声明:“解码器查询也添加了位置编码,编码器输出特征在送入注意力机制之前也添加了位置编码。” 这意味着来自编码器输出的K已经内嵌了空间PE或再次添加了空间PE。对象查询(解码器Q)本身具有位置属性。这种机制允许每个对象查询“审视”图像特征的不同部分(由编码器的空间PE引导),从而对特定对象的类别和边界框进行预测 2。

DETR中位置信息的双重角色至关重要:编码器中的固定空间PE将图像特征置于一个坐标系中,而解码器中可学习的对象查询PE则为并行的对象预测提供了独特的“槽位”或“嵌入空间中的锚点”。这种关注点的分离是一个关键的设计选择。编码器需要理解“这个特征在图像中的什么位置?”——这通过固定的空间PE实现 2。解码器需要并行预测N个不同的对象——这通过N个独特的可学习“对象查询”嵌入(充当位置占位符)实现 1。然后,交叉注意力将这些抽象的查询“位置”映射到实际的空间图像区域。这意味着对象查询学习到的“位置”不一定是直接的(x,y)坐标,而是一种更抽象的表示,使其能够专门用于查询编码器输出。

位置编码在注意力层之前通过加法与特征/查询相结合,是一种简单而有效的机制 3。然而,这种加法可能导致内容和位置信息的表征纠缠在一起。这种纠缠可能是DETR初始收敛缓慢的一个因素,因为模型必须学会解开这些信息。DETR早期版本的一个已知问题是训练缓慢 10。像Conditional DETR这样的变体 10,它们区分内容查询和空间查询,然后以不同方式连接或组合它们,支持了寻求更好解耦或专门化角色的想法。

对象查询是可学习的位置嵌入这一设计选择 10,意味着解码器学习寻找何种对象模式以及隐式地学习从何处开始寻找。随后的交叉注意力则根据图像内容和编码器的空间PE来细化这个“何处”。这与可能在解码器中使用固定位置查询的方法形成对比。对象查询的可学习性意味着它们可以适应训练数据中对象的统计特性(例如,一些查询可能专门用于大对象,另一些用于小对象,或者如果存在偏差,则用于通常在某些图像区域中发现的对象)。这种适应性是一个优点,但也导致了每个查询具体学习到什么的“黑箱”特性。DETR的缓慢收敛 18 可能部分是由于在没有强先验的情况下从头开始学习这些查询特化的难度。

4. 对比分析:DETR与视觉Transformer中固定正余弦与可学习位置编码

4.1 固定正余弦位置编码 (DETR编码器默认)

  • 优势:
  • 无需学习参数,模型参数效率略高 9。
  • 确定性且易于实现 4。
  • 理论上可以泛化到不同序列长度(由于周期性),但有实际限制 5。
  • 为不同输入提供一致的位置编码方式。
  • 一些研究表明,固定PE可能更稳定,并能防止可学习PE的训练不足,尤其是在数据有限或任务复杂,可学习PE难以找到有意义表征的情况下 19。在多场景绝对姿态回归 (MS-APR) 任务中,发现固定正余弦PE优于训练不足的可学习PE 20。
  • 劣势:
  • 可能并非对所有任务或数据集都是最优的,因为它们未针对特定数据分布进行调整 13。
  • 与可学习PE相比,表达能力有限,无法捕捉任务特定的位置关系 23。
  • 简单地与词元嵌入相加可能会限制其表达能力 23。
  • 如果设计不当,可能难以处理非常长的序列或显著的尺度/分辨率变化(例如,插值问题)25。

4.2 可学习位置编码 (DETR解码器对象查询使用;编码器PE的替代方案)

  • 优势:
  • 能够适应数据和任务的特定特征,可能学习到更优的位置表征 13。
  • 提供更大的灵活性和表达能力 23。
  • 可学习傅里叶特征(一种可学习PE)在准确性和收敛速度方面优于固定方法 13。它们参数效率高,并为距离提供了归纳偏置。
  • 劣势:
  • 需要更多训练数据和计算才能有效学习。可能“训练不足” 19。
  • 如果设计不当(例如,每个位置都有一个独特的可学习向量),可能无法很好地泛化到训练期间未见过的序列长度。
  • 可能增加过拟合的风险,尤其是在较小的数据集上。
  • 初始DETR使用的可学习位置编码(对象查询),在没有强空间先验的情况下,导致了收敛缓慢 18。

4.3 DETR的具体选择与基本原理

DETR编码器默认使用固定的二维正余弦PE 10,为图像特征提供稳定的、非学习的空间先验。原始DETR论文 (Carion et al., 2020) 可能出于简单性、参数效率以及利用NLP中已验证方法的考虑而做出此选择。解码器则使用可学习的对象查询,这些查询充当可学习的位置嵌入 10,使每个查询能够特化并学习其用于目标检测的“槽位”。

原始DETR论文并未包含对编码器中空间编码采用固定正余弦PE与可学习PE的直接比较性消融研究。其重点在于整体架构。然而,后续关于DETR变体的工作经常探索不同的PE策略。例如,26 (SAP-DETR) 指出,原始DETR的可学习位置编码(指对象查询,它们是可学习且具有位置性的)在没有明确空间先验的情况下严重影响了收敛速度。主流方法随后引入了不同的空间先验。13 (可学习傅里叶特征) 表明,其可学习PE在多个视觉基准测试中的准确性和收敛速度均优于现有方法,这表明精心设计的可学习PE可能更优。23和23 (MPVG论文) 讨论了如何通过分层传递来增强视觉Transformer中PE(通常是固定的正余弦PE)的表达能力,从而提高性能。这表明如何使用PE与使用何种类型的PE同等重要。27和27 (用于3D检测的V-DETR) 的消融研究显示,其提出的3DV-RPE(一种相对PE)相比于简单的固定或绝对可学习PE,在复杂任务中带来了显著改进。

选择通常取决于具体的架构、任务和数据集大小,没有通用的“最佳”选项。

表4.1:视觉Transformer中固定正余弦与可学习位置编码的比较

特性 固定正余弦PE 可学习PE (例如,逐位置嵌入, 傅里叶特征)
参数效率 高 (无学习参数) 9 低 (需要学习参数)
适应性 低 (不适应特定数据) 13 高 (可适应数据和任务) 13
对新长度的泛化能力 理论上较好,实践中有限 5 取决于设计,可能较差 (例如,逐位置嵌入)
表达能力 有限 23 更高,更灵活 13
训练稳定性 通常较高,不易“训练不足” 19 可能较低,依赖数据量,易“训练不足” 19
收敛速度 - 精心设计的可学习PE (如傅里叶特征) 可能更快 13
对数据量的依赖

“固定与可学习”之争不仅仅关乎编码本身,更关乎空间理解的归纳偏置从何而来。固定PE明确注入预定义的几何结构(例如,正余弦PE由于其数学特性,内置了对相对位置的理解 5)。可学习PE则要求模型从数据中发现这种结构,这可能很强大,但也更具挑战性(例如,简单的逐位置嵌入从空白开始,必须学习所有位置关系)。如果数据稀缺或任务非常复杂,可学习PE可能无法学习到鲁棒的表征 19,使得固定PE成为更安全、更稳定的选择。向更复杂的可学习PE(如傅里叶特征 13 或相对PE 27)发展的趋势,是试图将学习的灵活性与更结构化的归纳偏置相结合。

原始DETR收敛缓慢,部分原因归咎于其查询设计 18,也可能与编码器中固定的空间PE和解码器中可学习的对象查询之间的交互有关。编码器使用固定的正余弦PE处理图像特征 10,而解码器使用可学习的对象查询(具有位置性)10。交叉注意力连接了这两个不同的PE系统。模型需要学习从对象查询的抽象“位置”到编码器输出的具体空间PE系统的复杂映射,这可能是一个具有挑战性的学习问题。像DAB-DETR 18 这样的改进,通过直接使用边界框坐标作为查询,试图通过从一开始就使查询的位置属性更加明确和空间化来弥合这一差距。

固定正余弦PE能够胜过“训练不足”的可学习PE的观察结果 19,揭示了PE设计的“最佳平衡点”。如果由于数据、模型容量或优化问题导致可学习PE无法得到充分训练,那么精心设计的固定PE提供了一个鲁棒且通常出奇有效的基线。这意味着可学习性的好处取决于成功的训练。

5. 标准固定正余弦位置编码在视觉任务中的局限性

尽管固定正余弦位置编码为DETR等视觉Transformer模型提供了基础的空间感知能力,但其在面对复杂的视觉任务时也暴露出一些固有的局限性。

  • 可扩展性与分辨率差异:
    固定的正余弦PE通常是为预期的最大输入尺寸定义的。当遇到分辨率或宽高比显著不同的图像,尤其是更大的图像时,固定的编码可能需要插值或外推,这会降低性能 6。绝对位置编码 (APE),包括正余弦编码,是坐标依赖的,使其对图像分辨率和尺度的变化敏感,从而限制了其适应性 6。
  • 平移等变性:
    严格来说,像正余弦编码这样的绝对PE不具有平移等变性。如果图像中的一个物体发生位移,其特征会接收到不同的绝对位置编码,这可能导致特征提取的不一致 6。相比之下,CNN由于共享权重和局部操作,表现出更好的平移等变性。这对于需要无论物体精确位置如何都能鲁棒识别物体的任务来说是不利的 6。
  • 语义感知与上下文理解:
    固定的正余弦PE纯粹基于坐标来编码绝对或相对空间位置,而不考虑图像块的语义内容 6。它们无法捕捉语义感知的位置关系。例如,两个对应于同一物体但在空间上相距遥远的图像块,即使它们在语义上相关,也会拥有截然不同的PE 6。这对于理解全局上下文或识别结构化/重复性图案(其中视觉上相似的区域因空间分离而被独立对待)是有问题的 6。
  • 对复杂关系的表达能力有限:
    与特征嵌入的简单加性组合可能会限制PE的表达能力,尤其是在Transformer的深层 23。其固定性意味着它们无法适应表示对细致理解可能至关重要的、更复杂的、数据驱动的空间关系。
  • 对DETR收敛和性能的影响:
    虽然DETR在编码器中使用了固定的正余弦PE,但包括可学习对象查询及其与编码器特征交互在内的整体设计,最初存在训练收敛缓慢的问题 10。虽然并非完全由正余弦PE引起,但整个网络中位置信息的处理方式是一个因素。初始查询中缺乏明确的空间先验(这些查询是可学习的位置嵌入)是后续DETR变体解决的一个关键问题 18。早期DETR在小物体上的性能不佳是另一个问题 10,这可能是因为固定PE在更精细尺度上可能无法提供足够的分辨率,或者因为注意力机制在初始PE设计下难以有效定位小区域。

固定正余弦PE的局限性,特别是其缺乏语义感知和严格的坐标依赖性,凸显了一个根本性的矛盾:Transformer需要明确的位置信号,但过于僵硬的信号会妨碍学习更抽象的、依赖内容的空域推理。Transformer具有排列不变性 4,固定的正余弦PE提供了一个刚性的坐标系 6。然而,真正的视觉理解通常需要灵活的空间推理(例如,“猫在沙发附近”,而不仅仅是“猫在(x1,y1),沙发在(x2,y2)”)。固定PE的刚性难以处理这种语义化的相对定位,尤其是在上下文比绝对坐标更重要的情况下。这推动了语义感知PE的发展 6。

绝对PE带来的平移等变性挑战 6,是将特征提取(由CNN主干完成)与位置表示(由PE完成)解耦的直接后果。在CNN中,平移等变性是权重共享的涌现特性。带有绝对PE的Transformer实质上重新引入了一种形式的平移可变性。模型必须学会对相同对象的这些PE变化具有鲁棒性。这不如CNN固有的等变性直接,并推动了本身具有平移不变性的相对PE的发展。

“训练不足的可学习PE”问题 19 和固定PE的局限性代表了一个谱系的两端。理想的PE可能介于两者之间:结构化到足以提供良好的归纳偏置并指导学习,同时又足够灵活或自适应以捕捉数据特定的细微差别和语义上下文。这解释了混合和高级PE方法的大量涌现。

6. DETR与视觉Transformer中位置编码策略的进展与替代方案

针对标准固定正余弦位置编码的局限性,研究者们为DETR及其相关的视觉Transformer模型开发了多种先进的替代位置编码策略。这些策略旨在提高模型的收敛速度、表达能力、对不同视觉场景的适应性以及与注意力机制的协同效率。

6.1 解决DETR收敛缓慢与增强空间先验的变体

  • Conditional DETR 10: 该模型旨在加速收敛。它区分了内容查询 cq​ 和空间查询 pq​。原始DETR将两者相加,而Conditional DETR则将它们拼接,使得 cq​ 专注于内容,pq​ 专注于边界框区域。pq​ 由解码器嵌入和对象查询投影到同一空间后相乘得到。这种设计使得交叉注意力能够更有效地衡量与编码器输入和正余弦位置嵌入的相似性。
  • DAB-DETR 18: 该模型直接使用动态锚框(四维边界框坐标x,y,w,h)作为Transformer解码器中的查询,并逐层更新它们。这为交叉注意力模块提供了明确的位置先验(位置和尺寸),从而改善了查询与特征的相似性,并解决了DETR收敛缓慢的问题。它还明确地利用边界框的宽度和高度信息来调制位置注意力图。
  • Deformable DETR 8: 该模型通过关注参考点周围少量固定的采样点,而非所有点,来增强注意力机制。虽然这本身不是一种PE方法,但它改变了空间信息的采样和使用方式,并与PE相互作用。参考点是学习得到的。
  • 其他DETR变体,如Efficient DETR, SMCA DETR, Group DETR, UP DETR 8, Focus-DETR 16, Relation-DETR 33 等,引入了对查询初始化、注意力机制或训练策略的各种修改,这些修改通常隐式或显式地旨在改进位置信息的利用方式。

6.2 可学习与自适应位置编码

  • 可学习傅里叶特征 (Learnable Fourier Features) 13: 将位置表示为基于可学习傅里叶特征映射的可训练编码,并由多层感知机 (MLP) 进行调制。该方法在准确性和收敛速度方面均优于现有方法,参数效率高,并为距离信息提供了归纳偏置。它通过可学习的线性投影将一维正余弦PE推广到多维。
  • 可调位置编码 (TPE) 与可微位置编码 (DiPE) 34:
  • 在RETR (雷达DETR) 中,TPE允许调整深度与角度位置嵌入的重要性,但其比例是预先确定的。
  • DiPE通过使用可微掩码使该比例在训练过程中可学习,避免了穷举搜索并提升了性能。它可以与固定(如正余弦)或可学习的PE结合使用。
  • 条件位置编码 (CPE) 25: 根据输入词元的局部邻域动态生成,允许模型适应变化的输入尺寸并更好地保持平移等变性。(虽然25未提及DETR,但这是ViT PE的一个相关进展)。

6.3 相对位置编码 (RPE)

RPE对词元间的成对距离或关系进行建模,而非绝对位置 6,这使得编码本身具有平移不变性。

  • 3DV-RPE 27: 专为基于DETR的3D目标检测设计。它根据每个点相对于每层解码器预测的3D边界框顶点的位置来计算PE。这为模型提供了明确的指导,使其专注于物体附近的点。在ScanNetV2等基准测试中显著提升了性能。
  • 旋转位置嵌入 (RoPE) 也是RPE的一种形式 6,但其在标准DETR中的直接应用尚需更多文献支持。

6.4 语义感知位置编码

  • SaPE² 6: 通过利用局部内容(语义相似性)而非固定坐标来动态调整位置表示。旨在为语义相关的区域分配相似的PE,从而改善模型在不同分辨率和尺度下的泛化能力、平移等变性以及对视觉上相似但空间上遥远区域的特征聚合能力。
  • 热图位置嵌入 (HMPE) 36: 通过热图引导的自适应学习,动态地将位置编码与语义检测信息相结合。对于“热区”(良好嵌入),保留完整的正余弦PE;对于“冷区”(不良嵌入),则退化为全局语义。

6.5 高斯位置编码

高斯位置编码 (Gaussian Positional Encoding) 37: 专为朝向目标检测提出。它使用高斯分布来编码朝向框的角度、位置和尺寸,将这些统一到相同的度量体系中,并与Wasserstein自注意力机制结合使用以引入几何关系。

表6.1:DETR与视觉Transformer中先进位置编码策略概述

PE策略 核心思想 相较于标准正余弦PE的主要优势 相关模型/任务
Conditional PE (Conditional DETR) 区分内容查询与空间查询,增强空间先验,加速收敛 10 更快的收敛速度,更好的空间信息利用 Conditional DETR, 目标检测
DAB-DETR 查询 使用动态锚框 (x,y,w,h) 作为查询,逐层更新 18 明确的位置与尺寸先验,改善查询-特征相似性,加速收敛 DAB-DETR, 目标检测
可学习傅里叶特征 基于可学习傅里叶特征映射和MLP的位置编码 13 更高的准确性和收敛速度,参数高效,提供距离归纳偏置 视觉Transformer, 通用视觉任务
DiPE 使TPE中的深度与角度嵌入比例可学习 34 避免参数穷举搜索,自动调整PE维度比例,提升性能 RETR (雷达DETR), 多视角雷达检测
3DV-RPE 基于点与预测3D框顶点的相对位置编码 27 为3D点云提供明确的局部上下文引导,显著提升3D检测性能 V-DETR, 3D目标检测
SaPE² 基于局部内容(语义相似性)动态调整位置表示 6 增强语义感知,改善泛化、平移等变性和对相似但分离区域的特征聚合 视觉Transformer, 通用视觉任务
HMPE 通过热图引导,动态融合位置编码与语义检测信息 36 将语义信息(物体存在性)融入PE,为不同区域提供不同粒度的位置信息 小目标检测
高斯PE 使用高斯分布编码朝向框的角度、位置和尺寸 37 统一角度、位置、尺寸度量,适用于朝向目标检测 朝向目标检测

DETR类模型中PE的演进清晰地反映了一个趋势:使位置信息更加动态、上下文感知和任务特定。这摆脱了固定正余弦PE“一刀切”的特性。初始DETR在编码器中使用固定PE,在解码器中使用可学习但通用的查询。观察到的局限性(如收敛慢、小物体检测问题等 10)推动了后续的改进。Conditional DETR使查询适应内容 10,DAB-DETR使查询成为动态边界框坐标 18,DiPE使PE比例自适应 34,3DV-RPE使PE相对于预测框 27,SaPE²使PE适应语义 6。所有这些方法都使得PE(或其使用方式)依赖于输入数据、模型状态或任务特性,而非完全预定义。

许多PE的进步不仅仅在于编码位置,还在于改善注意力机制中位置信息与内容特征之间的交互。这表明PE设计与注意力机制设计日益紧密地交织在一起。DAB-DETR使用边界框坐标(PE)来调制位置注意力图 18。Conditional DETR分离内容和空间查询以实现更有效的交叉注意力 10。高斯PE与Wasserstein自注意力结合使用以引入几何关系 37。这表明仅仅将PE添加到特征中通常是不够的;PE如何影响注意力分数或QKV交互是创新的关键领域。

一个新兴的主题是PE不仅包含几何位置,还包含其他物体属性,如尺度/尺寸(DAB-DETR 18, 高斯PE 37)甚至物体性/显著性(HMPE 36)。这用更全面的以物体为中心的信息丰富了位置信号,预示着从单纯的“空间位置编码”向“整体物体姿态编码”的转变。

7. 实现细节与可视化

7.1 PyTorch实现

DETR的原始实现由Facebook AI(现Meta AI)提供,是主要的参考。HuggingFace Transformers库提供了广泛使用的DETR实现 10,其 DetrConfig 允许选择 position_embedding_type(例如,"sine"或"learned")12。mmdetection 库也包含了DETR的实现,并将 SinePositionalEncoding 作为一个组件 38。

许多公开的GitHub仓库提供了1D和2D正余弦PE的代码,有时还附带可视化Jupyter Notebook 9。例如,wzlxjtu/PositionalEncoding2D 9 提供了PyTorch代码和一个可视化Notebook。11 (s-chh/2D-Positional-Encoding-Vision-Transformer) 探索了包括正余弦在内的多种2D PE,并将维度划分为x和y序列。

7.2 二维正余弦位置编码的可视化

由于PE向量是高维的,直接可视化较为复杂。常用的可视化方法包括:

  • 单个维度/分量的热图: 对于一个 dmodel​ 维的PE,可以将每个维度(或其子集)在 H×W 空间网格上可视化为热图。这将显示每个分量不同的正余弦模式(频率和方向)40。
  • 分离X和Y分量可视化: 如果PE是通过拼接X和Y编码形成的,则可以分别可视化它们。11和11展示了X轴和Y轴编码的概念性可视化。
  • PCA或t-SNE降维: 可以使用降维技术将PE向量投影到2D或3D空间进行可视化,以显示位置关系的簇或流形。
  • PE调制的注意力图可视化: 更间接地,可视化注意力分数如何随不同PE变化,可以洞察其效果(例如,26的图5和图6显示了位置注意力图)。 36 (HMPE) 明确提到可视化其热图嵌入,以便为参数微调提供洞察。35为1D正余弦嵌入提供了动画,展示了各分量如何以不同速率循环。这一概念适用于2D中x和y分量的每一个。

开源实现和可视化工具的可用性 9,对于研究社区在PE机制基础上进行构建、调试和理解至关重要。它使知识获取更加民主化,并加速了创新。PE是Transformer的核心组件,理解其行为是改进模型的关键。代码允许实验和复现,而可视化(即使是11、11中的概念性可视化或36中的详细可视化)有助于建立关于这些高维向量如何编码空间的直觉。这个共享资源的生态系统推动了该领域的进步。

可视化PE不仅用于演示,还可以作为一种诊断工具。例如,可视化不同频率分量的PE值在图像上的变化,可以帮助理解所选频率范围(例如,由 n 或 T 控制)是否适合正在处理的对象或图像特征的尺度。36明确地将可视化与参数微调联系起来。PE具有超参数(例如,n2i/d 中的 n,26中的温度 T),这些超参数影响正余弦函数的频谱。可视化由此产生的PE模式可以揭示它们对于给定的图像分辨率或任务是否过于粗糙(丢失精细细节)或过于精细(未捕捉到更大的上下文)。这提供了一种比仅仅依赖最终任务性能更直观的方式来调整这些方面。

8. 总结:DETR中位置编码的演进格局

正余弦位置编码是使Transformer能够应用于像DETR这样的视觉任务(如目标检测)的基础元素。它提供了一种简单有效的方法,赋予了排列不变的注意力机制空间感知能力。

最初在DETR编码器中使用的固定正余弦PE和解码器中可学习的对象查询,已成为一个强大的基线。然而,与收敛性、灵活性、语义感知以及处理多样化视觉场景相关的局限性,推动了对更先进PE策略的大量研究。

当前面临的挑战包括:在PE设计中找到固定结构化先验与可学习自适应灵活性之间的恰当平衡;开发计算高效且表达能力强的PE;创建能够无缝处理尺度、分辨率和物体朝向变化的PE;以及更好地将PE与注意力机制集成以实现更细致的空间推理。

未来有前景的研究方向包括:进一步探索结合语义上下文的PE(如SaPE², HMPE);开发对期望变换(如平移、旋转)具有固有等变性或不变性的PE;自动学习或自适应PE结构本身的方法(元学习PE);能够明确建模位置不确定性或模糊性的PE;以及继续从理论上理解不同PE如何影响视觉Transformer中的学习动态和表征质量。

DETR和视觉Transformer中位置编码的发展历程,反映了人工智能领域一个更广泛的主题:寻求有效方法将通用学习架构(如Transformer)与领域特定知识(如空间关系)相结合。PE是视觉领域中这种结合的关键接口。Transformer是通用的序列处理器,而视觉任务需要理解空间,PE则弥合了这一差距。从简单的固定PE到复杂的自适应PE的演进,显示了这种领域知识集成方式日益复杂化。

未来PE的突破可能来自于对生物视觉系统如何表示和利用空间信息的更深入理解。当前的PE主要是数学或经验驱动的;来自神经科学的灵感可能催生新颖的方法。人类视觉能够毫不费力地处理位置、尺度、朝向和上下文,而目前的PE是工程解决方案。大脑中空间神经表征的某些原理或许能为更强大、更高效的人工PE提供借鉴,这是一个具有长远意义的跨学科启发方向。

随着DETR及其变体应对日益复杂和多样化的视觉环境(例如,3D场景 27,航空影像 31,雷达数据 34),对位置编码的要求只会越来越高。我们可能会看到针对特定模态或任务约束优化的PE策略出现分化,而非单一的“通用”PE。DETR最初应用于2D自然图像,现已扩展到3D点云、雷达、航空视图等。每种模态都有其独特的空间特性(例如,点云的稀疏性,雷达的深度/角度信息)。通用的2D正余弦PE可能并非对所有这些都最优。这很可能导致一系列专门化的PE的出现,正如已经看到的用于3D的3DV-RPE 27 或用于雷达的TPE/DiPE 34。

引用的著作

  1. arxiv.org, 访问时间为 五月 19, 2025, https://arxiv.org/abs/2005.12872
  2. DETR: Overview and Inference - LearnOpenCV, 访问时间为 五月 19, 2025, https://learnopencv.com/detr-overview-and-inference/
  3. End-to-End Detection Transformer (DETR) - - NeuralCeption -, 访问时间为 五月 19, 2025, https://www.neuralception.com/objectdetection-detr/
  4. What is Positional Encoding? | IBM, 访问时间为 五月 19, 2025, https://www.ibm.com/think/topics/what-is-positional-encoding.html
  5. A Gentle Introduction to Positional Encoding in Transformer Models ..., 访问时间为 五月 19, 2025, https://machinelearningmastery.com/a-gentle-introduction-to-positional-encoding-in-transformer-models-part-1/
  6. (PDF) A 2D Semantic-Aware Position Encoding for Vision Transformers - ResearchGate, 访问时间为 五月 19, 2025, https://www.researchgate.net/publication/391741833_A_2D_Semantic-Aware_Position_Encoding_for_Vision_Transformers
  7. A 2D Semantic-Aware Position Encoding for Vision Transformers - arXiv, 访问时间为 五月 19, 2025, https://arxiv.org/html/2505.09466v1
  8. , 访问时间为 五月 19, 2025, https://www.atlantis-press.com/article/126004120.pdf
  9. wzlxjtu/PositionalEncoding2D: A PyTorch implementation of the 1d and 2d Sinusoidal positional encoding/embedding. - GitHub, 访问时间为 五月 19, 2025, https://github.com/wzlxjtu/PositionalEncoding2D
  10. computer-vision-course/chapters/en/unit3/vision-transformers/detr ..., 访问时间为 五月 19, 2025, https://github.com/huggingface/computer-vision-course/blob/main/chapters/en/unit3/vision-transformers/detr.mdx
  11. s-chh/2D-Positional-Encoding-Vision-Transformer - GitHub, 访问时间为 五月 19, 2025, https://github.com/s-chh/2D-Positional-Encoding-Vision-Transformer
  12. DETR - Hugging Face, 访问时间为 五月 19, 2025, https://huggingface.co/docs/transformers/v4.36.0/en/model_doc/detr
  13. Learnable Fourier Features for Multi-dimensional Spatial Positional Encoding - OpenReview, 访问时间为 五月 19, 2025, https://openreview.net/forum?id=YXjhRGvqfFN
  14. machine learning - What is the advantage of positional encoding ..., 访问时间为 五月 19, 2025, https://datascience.stackexchange.com/questions/63036/what-is-the-advantage-of-positional-encoding-over-one-hot-encoding-in-a-transfor
  15. Introduction to DETR - Part 1 | DigitalOcean, 访问时间为 五月 19, 2025, https://www.digitalocean.com/community/tutorials/introduction-detr-hungarian-algorithm-1
  16. QR-DETR : Query Routing for Detection Transformer - CVF Open Access, 访问时间为 五月 19, 2025, https://openaccess.thecvf.com/content/ACCV2024/papers/Senthivel_QR-DETR__Query_Routing_for_Detection_Transformer_ACCV_2024_paper.pdf
  17. DETR - Hugging Face, 访问时间为 五月 19, 2025, https://huggingface.co/docs/transformers/main/en/model_doc/detr
  18. dab-detr: dynamic anchor boxes - arXiv, 访问时间为 五月 19, 2025, https://arxiv.org/pdf/2201.12329
  19. (PDF) Activating Self-Attention for Multi-Scene Absolute Pose Regression - ResearchGate, 访问时间为 五月 19, 2025, https://www.researchgate.net/publication/385529128_Activating_Self-Attention_for_Multi-Scene_Absolute_Pose_Regression
  20. Activating Self-Attention for Multi-Scene Absolute Pose Regression - arXiv, 访问时间为 五月 19, 2025, https://arxiv.org/html/2411.01443v2
  21. Activating Self-Attention for Multi-Scene Absolute Pose Regression - NIPS papers, 访问时间为 五月 19, 2025, https://papers.nips.cc/paper_files/paper/2024/file/43d7bc009cf5171e7af77a91ee4bb890-Paper-Conference.pdf
  22. Activating Self-Attention for Multi-Scene Absolute Pose Regression | OpenReview, 访问时间为 五月 19, 2025, https://openreview.net/forum?id=rM24UUgZg8\&referrer=%5Bthe%20profile%20of%20Jae-Pil%20Heo%5D(%2Fprofile%3Fid%3D~Jae-Pil_Heo3)
  23. Maximizing the Position Embedding for Vision Transformers with Global Average Pooling, 访问时间为 五月 19, 2025, https://arxiv.org/html/2502.02919v1
  24. arxiv.org, 访问时间为 五月 19, 2025, https://arxiv.org/abs/2502.02919
  25. arxiv.org, 访问时间为 五月 19, 2025, https://arxiv.org/abs/2102.10882
  26. openaccess.thecvf.com, 访问时间为 五月 19, 2025, https://openaccess.thecvf.com/content/CVPR2023/supplemental/Liu_SAP-DETR_Bridging_the_CVPR_2023_supplemental.pdf
  27. DETR with Vertex Relative Position Encoding for 3D Object Detection - OpenReview, 访问时间为 五月 19, 2025, https://openreview.net/forum?id=NDkpxG94sF
  28. Maximizing the Position Embedding for Vision Transformers with Global Average Pooling, 访问时间为 五月 19, 2025, https://cvlab.yonsei.ac.kr/projects/MPVG/
  29. [2011.09315] End-to-End Object Detection with Adaptive Clustering Transformer - arXiv, 访问时间为 五月 19, 2025, https://arxiv.org/abs/2011.09315
  30. CF-DETR: Coarse-to-Fine Transformers for End-to-End Object Detection, 访问时间为 五月 19, 2025, https://ojs.aaai.org/index.php/AAAI/article/view/19893/19652
  31. Dome-DETR: DETR with Density-Oriented Feature-Query Manipulation for Efficient Tiny Object Detection - arXiv, 访问时间为 五月 19, 2025, https://arxiv.org/html/2505.05741v1
  32. Daily Papers - Hugging Face, 访问时间为 五月 19, 2025, https://huggingface.co/papers?q=attention%20focus%20mechanism
  33. Daily Papers - Hugging Face, 访问时间为 五月 19, 2025, https://huggingface.co/papers?q=%3CDET%3E%20token
  34. Multi-View Radar Detection Transformer with Differentiable Positional Encoding - Mitsubishi Electric Research Laboratories, 访问时间为 五月 19, 2025, https://www.merl.com/publications/docs/TR2025-027.pdf
  35. You could have designed state of the art positional encoding - Hugging Face, 访问时间为 五月 19, 2025, https://huggingface.co/blog/designing-positional-encoding
  36. HMPE:HeatMap Embedding for Efficient Transformer-Based Small Object Detection - arXiv, 访问时间为 五月 19, 2025, https://arxiv.org/html/2504.13469v1
  37. OrientedFormer: An End-to-End Transformer-Based Oriented Object Detector in Remote Sensing Images - arXiv, 访问时间为 五月 19, 2025, https://arxiv.org/html/2409.19648v1
  38. mmdetection/mmdet/models/detectors/detr.py at main - GitHub, 访问时间为 五月 19, 2025, https://github.com/open-mmlab/mmdetection/blob/main/mmdet/models/detectors/detr.py
  39. [ICLR 2024] This is the official code of the paper "V-DETR: DETR with Vertex Relative Position Encoding for 3D Object Detection" - GitHub, 访问时间为 五月 19, 2025, https://github.com/V-DETR/V-DETR
  40. Transformer Architecture: The Positional Encoding - Amirhossein ..., 访问时间为 五月 19, 2025, https://kazemnejad.com/blog/transformer_architecture_positional_encoding/