Do We Really Need Explicit Position Encodings for Vision Transformers?
https://arxiv.org/abs/2102.10882
Background
近两年,Transformer结构进军CV领域,并以席卷之势相继攻克了分类,检测,分割等等任务。因为CNN所关注的是有限感受野内的信息,而Transformer的自注意力机制则可以捕获长距离信息,并且根据图像尺寸而动态地调整其感受野,因此Transformer能够在各个任务领域获得相比CNN更高的精度。
Related work and the limit
在传统的NLP任务中,RNN等序列模型,自身便包含了词的位置信息。而Transformer模型采用Attention机制来学习各个词之间的关系,抛弃了它们的位置信息。但在语言理解中,位置信息是非常重要的,因此需要显式地生成position encoding,手动加入各点的位置信息。而对于图像领域的Vision Transformer,二维图像各个patch之间的相对位置关系也对物体的模式理解有重要的作用。
常见的position encoding方式包括绝对位置编码和相对位置编码等。目前常用的一般是绝对位置编码,包括在Transformer中提出的sinusoidal编码方式,以及在GPT,ViT等中所使用的可训练的位置编码等。但是这种绝对位置编码针对特定分辨率的任务,在训练时就会生成固定尺寸的编码,无法处理不同分辨率大小的图片,这极大地妨碍了Transformer地灵活性和更大的应用空间。常见的处理方式是在处理不同分辨率的图像时,对训练好的position enc