内容提要
论文提出了一种新的视觉Transformer位置编码方法CPE,基于每个token的局部邻域信息动态生成位置编码。CPE结合了CNN和Transformer的优点,能够处理长输入序列并保持平移不变性。实验结果表明,基于CPE的CPVT在图像分类任务中优于传统位置编码方法。
延伸解读
CPE 如何解决传统位置编码的局限
传统 ViT 使用固定或可学习的绝对位置编码,当输入分辨率变化时,位置编码长度不匹配,需插值或微调,且丢失平移不变性。CPE 根据每个 token 的局部邻域动态生成位置编码,因此能泛化到更长序列,并保持平移不变性。论文指出,相对位置编码虽能处理长序列,但缺乏绝对位置信息,在分类任务中表现较差。CPE 兼顾两者,通过卷积实现,融合了 CNN 的局部归纳偏置和 Transformer 的全局建模能力。
PEG 的设计细节与插入策略
PEG 通过一个核大小 k≥3、零填充 (k-1)/2 的二维卷积实现,将输入序列重塑为二维特征图后生成条件位置编码。零填充使位置编码包含绝对位置信息,提升性能。实验发现,PEG 的插入位置对结果影响显著,最佳位置是在第一个 encoder 之后,而非直接加在输入上。论文推测,对于需要更大感受域的原始图片,增大卷积核能进一步提高性能。此外,PEG 可无缝融入现有 Transformer 框架,插入多个 PEG 的效果也有对比实验。
CPVT-GAP 与平移不变性
ViT 和 DeiT 使用额外的可学习 class token 进行分类,但该 token 本身不是平移不变的,只能靠训练近似学习。论文提出 CPVT-GAP,去掉 class token,改用全局平均池化(GAP)输出。GAP 本身具有平移不变性,与 CPE 配合时,模型完全平移不变,从而提升性能。实验表明,CPVT-GAP 在 ImageNet 上达到 SOTA,且自注意力图更加多样化。这一改动简单有效,为视觉 Transformer 的分类头设计提供了新思路。
实验验证与泛化能力
论文在 ImageNet 分类任务上验证了 CPVT 的有效性,并与多种位置编码方式对比,CPVT 均优于传统方法。此外,PEG 可应用于 PVT 等其它架构,并作为目标检测网络的主干,带来性能提升。消融实验显示,PEG 的性能提升主要来自对输入邻域关系的建模,而非卷积参数与当前网络的对应关系。这些结果说明 CPE 是一种通用且鲁棒的位置编码方案,能灵活适应不同视觉任务和输入尺寸。
Q&A
什么是条件位置编码(CPE)?
条件位置编码(CPE)是一种动态生成的位置编码方法,基于每个token的局部邻域信息,旨在提高视觉Transformer的性能。
CPVT模型的优势是什么?
CPVT模型结合了CPE的优点,能够处理长输入序列并保持平移不变性,在图像分类任务中表现优于传统位置编码方法。
位置编码生成器(PEG)如何影响模型性能?
PEG的插入位置对模型性能有显著影响,最佳插入位置是在第一个encoder之后。
CPVT在ImageNet分类任务中的表现如何?
CPVT在ImageNet分类任务中达到了SOTA(state-of-the-art)结果,展示了CPE的有效性。
CPE与传统位置编码的主要区别是什么?
CPE是动态生成的,与输入token的局部邻域相关,而传统位置编码通常是固定或可学习的,与输入无关。
CVPT-GAP模型的特点是什么?
CVPT-GAP模型去掉了class token,采用全局平均池(GAP)输出,提升了平移不变性和性能。