用于视觉 Transformer 的条件位置编码(CPE)方案与之前预定义且独立于输入标记的固定或可学习位置编码不同,CPE 是动态生成的,并以输入标记的局部邻域为条件。
CPE 可以轻松泛化到比模型在训练期间见过的输入序列更长的输入序列。此外,CPE 可以在视觉任务中保持所需的翻译等效性,从而提高性能。我们使用简单的位置编码生成器 (PEG) 来实现 CPE,以无缝地融入到当前的 Transformer 框架中。基于 PEG,我们提出了条件位置编码视觉变换器 Conditional Position encoding Vision Transformer (CPVT)。与学习位置编码的注意力图相比,CPVT 具有视觉上相似的注意力图,并提供了优异的结果。
Transformers 中的自注意力操作是排列不变的,它会丢弃输入序列中标记的顺序。之前的工作,将绝对位置编码添加到每个输入标记,从而实现顺序感知。
位置编码可以是可学习的,也可以用不同频率的正弦函数固定。这些位置编码严重损害了 Transformer 的灵活性,阻碍了其更广泛的应用。编码通常是与输入序列等长的向量,在训练期间与网络权重联合更新。因此,位置编码的长度和值一旦训练就固定了。在测试过程中,它会导致处理比训练数据中的序列长的序列变得困难。
在测试过程中无法适应更长的输入序列极大地限制了泛化范围。 在目标检测等视觉任务中,我们期望模型可以在推理过程中应用于任何尺寸的图像,这些图像可能比训练图像大得多。一种可能的补救措施是使用双三次插值将位置编码上采样到目标长度,如果不进行微调,它会降低性能。对于一般视觉,我们期望模型是平移等变的。
1. 介绍
绝对位置编码方案可能会破坏平移等价性,因为它为每个标记(或每个图像块)添加了唯一的位置编码。相对位置编码不仅会带来额外的计算成本,而且还需要修改标准 Transformer 的实现。
在这项工作中,我们提出了一种新颖的位置编码(PE)方案,将位置信息合并到 Transformer 中。所提出的 PE 是动态生成的,并以输入标记的局部邻域为条件。因此,我们的位置编码可以随着输入大小而变化,并尝试保持平移等价性。
文章贡献
- 提出了一种新颖的位置编码(PE)方案,称为条件位置编码(CPE)。 CPE 使用位置编码生成器 (PEG) 动态生成,可以通过现代深度学习框架轻松实现,无需更改当前的 Transformer API 。
- 与广泛使用的绝对位置编码相反,CPE 可以提供一种对平移等价性更强的显式偏差,显著提高 Transformer 的性能。
- 基于 CPE,我们提出了条件位置编码视觉变换器 (CPVT)。它比以前的视觉变压器实现了更好的性能。
- CPE 可以很好地推广到任意输入分辨率,这是许多重要的下游任务(例如分割和检测)所需要的。通过实验,我们表明 CPE 可以显着提高金字塔变换器的分割和检测性能。
2. 相关工作
位置编码可以是固定的或可学习的,同时可以是绝对的或相对的。视觉转换器遵循相同的方式向网络注入位置信息。
绝对位置编码
在原始变压器中,编码是用不同频率的正弦函数生成的,然后将它们添加到输入中。或者,位置编码可以是可学习的,它们通过固定维度矩阵/张量实现,并通过 SGD 与模型参数联合更新。
相对位置编码
相对位置编码考虑输入序列中标记之间的距离。与绝对位置编码相比,相对位置编码可以是平移等变的,并且可以在训练期间自然地处理比最长序列更长的序列。
其他形式
复值嵌入是对全局绝对编码建模的扩展并显示出改进。
RoFormer利用旋转位置嵌入对绝对和相对位置信息进行编码以进行文本分类。
FLOATER提出了一种新颖的连续动态模型来捕获位置编码。训练时不受最大序列长度的限制,同时参数高效。
3. 具有条件位置编码的Vision Transformer
3.1 动机
在Vision Transformer中,大小为 H × W 的输入图像被分割为大小为 S × S 的块,块的数量为 。这些补丁添加了相同数量的可学习绝对位置编码向量。
首先,它阻止了模型处理比可学习的位置嵌入(PE)更长的序列。
可以通过删除位置编码来解决,除了位置编码之外,Vision Transformer的其他组件(MHSA和FFN)都可以直接应用于更长的序列。模型无法在没有位置编码的情况下提取顺序。
我们可以对位置编码进行插值,使它们具有与较长序列相同的长度。
其次,它使模型不是平移等变的,因为每个补丁都会添加一个唯一的位置编码向量。
3.2 条件位置编码
针对视觉任务的成功位置编码应该满足的三个要求:
- 使输入序列具有排列不变性,并为平移等变性提供更强的显式偏差:
排列不变性:指的是模型的输出不应该因为输入序列中元素的排列顺序的改变而改变。
平移等变性:如果一个系统对于输入的平移(例如,在图像上左右或上下移动)能够给出一致性的输出,那么这个系统就具有平移等变性。
更强的显式偏差:指的是位置编码应该为模型提供明确的指导,使其更容易学习到平移等变性的特性。
- 具有归纳性,并能够处理比训练时更长的序列
归纳性:指的是模型能够基于有限数量的训练样本学习到一般性的规律,并能够将这些规律应用到新的、未见过的数据上。
处理更长的序列:对于视觉任务,模型应该能够处理比训练时使用的图像更大分辨率或更长序列长度的图像。
- 能够在一定程度上提供绝对位置信息
绝对位置信息对于许多视觉任务来说是至关重要的。例如,在目标检测或图像分割任务中,知道对象或区域的精确位置对于生成准确的预测结果至关重要。
通过位置编码来表征局部关系足以满足上述所有要求。首先,它是排列变异的,因为输入序列的排列也会影响一些局部邻域的顺序。然而,输入图像中对象的平移不会改变其局部邻域的顺序,即平移等变。其次,该模型可以轻松推广到更长的序列,因为仅涉及标记的局部邻域。此外,如果任何输入标记的绝对位置已知,则可以通过输入标记之间的相互关系来推断所有其他标记的绝对位置。
提出位置编码生成器(PEG)来动态生成以输入标记的局部邻域为条件的位置编码。
PEG 可以通过具有内核 k (k ≥ 3) 和 零填充的二维卷积来有效实现。
3.3 条件位置编码Vision Transformer (CPVT)
类标记不是平移不变的,尽管它可以学习成平移不变。一个简单的替代方案是直接用全局平均池化(GAP)替换它,它本质上是平移不变的,从而产生我们的 CVPT-GAP。