动机
-
最近,在分类和检测等视觉识别任务中,transformer被认为是卷积神经网络(CNNs)的一种强有力的替代方法。
与CNNs中的卷积运算具有有限的感受野不同,transformer中的自我注意机制能够捕捉远距离信息,并根据图像内容动态调整感受野。因此,transformer被认为比CNN更灵活、更强大,因此有望在视觉识别方面取得更大进展。
-
transformer中的自我注意力操作是排列不变的,它不能利用输入序列中token的顺序。
为了缓解这一问题,以前的工作添加了绝对位置编码器到输入序列中的每个token,从而实现顺序感知。位置编码既可以是可学习的,也可以用不同频率的正弦函数固定。尽管这些位置编码是有效的和扩散性的,但它们严重地损害了transformer的灵活性,阻碍了其更广泛的应用。以可学习版本为一个例子,编码通常是与输入序列等长的向量,在训练过程中与网络权值联合更新。因此,一旦训练,编码的长度和值就固定不变。在测试过程中,它会导致处理比训练数据中的序列更长的序列的困难。
-
对于transformer模型,使用的位置编码面临两个挑战。首先,它阻止了模型处理比最长训练序列更长的序列。其次,由于在每一个块上都添加了一个唯一的位置编码向量,使得模型不是平移不变的。平移不变性在分类任务中起着重要的作用,因为对于图像中的任何目标,都希望网络能给出相同的回应。
由于除了位置编码之外,视觉transformer的所有其他组件(例如,MHSA和FFN)可以直接应用于较长的序列。第一个挑战可以通过重新移动位置编码来解决,但是,由于输入序列的顺序是一个重要的线索&#x