粮草机器人 Transformer位置编码的痛点:绝对位置编码的局限
一、Transformer位置编码的痛点:绝对位置编码的局限
Transformer凭借强大的自注意力机制,在自然语言处理、计算机视觉等领域取得了突破性进展,但自注意力机制本身存在一个固有缺陷——无法天然捕获输入序列的顺序信息。为解决这一问题,原始Transformer引入了绝对位置编码,为序列中每个位置分配一个固定的位置向量,与词向量相加后输入模型。
然而,绝对位置编码存在诸多局限。从理论分析来看,绝对位置编码在经过自注意力机制的线性变换后,会丢失相对位置信息。假设序列中第i个和第j个位置的绝对位置向量分别为$U_i$和$U_j$,在自注意力分数计算中,包含位置信息的项为$U_i^T(W_q^TW_k)U_j$,其中$W_q$和$W_k$为可训练的线性变换矩阵。实验表明,当$W_q$和$W_k$随机初始化时,$U_i^T(W_q^TW_k)U_j$的结果随位置差变化的规律被完全破坏,无法体现相对位置关系;即使经过训练,也难以保证模型能稳定学习到相对位置信息。
在实际应用中,绝对位置编码的局限性更为明显。其一,它对长序列建模能力不足,当序列长度超过训练时设定的最大长度时,模型无法处理超出部分的位置信息;其二,绝对位置编码缺乏灵活性,它仅关注每个位置的绝对索引,而忽略了序列元素之间的相对距离和依赖关系,在处理如自然语言中的依存句法分析、计算机视觉中的目标相对位置识别等任务时,表现差强人意。
二、相对位置编码(RPE)的核心思想与优势
相对位置编码(Relative Position Encoding, RPE)的提出,正是为了弥补绝对位置编码的不足。其核心思想是:不再为每个位置分配固定的绝对位置向量,而是建模序列元素之间的相对位置关系,让模型关注元素之间的距离、顺序等相对信息。
与绝对位置编码相比,RPE具有三大显著优势:
长序列建模更高效:RPE直接对元素间的相对位置进行建模,无需依赖固定的序列长度上限。无论序列多长,模型都能通过相对位置信息捕捉元素间的依赖关系,有效解决了绝对位置编码在长序列任务中的适配问题。
灵活性更强:它不仅能捕捉元素间的相对距离,还能根据任务需求建模方向、顺序等复杂的相对关系。例如在自然语言处理中,RPE可以区分“我打他”和“他打我”中主语和宾语的相对位置差异;在计算机视觉中,能识别目标在图像中的上下、左右相对方位。
降低对绝对位置的依赖:RPE让模型将注意力更多放在元素本身的语义或特征关联上,减少了对绝对位置索引的依赖,提升了模型的泛化能力。当序列发生局部平移时,RPE能保持对相对关系的稳定建模,而绝对位置编码则会因位置索引变化导致模型输出波动。
三、RPE的典型实现方式
(一)自注意力中的相对位置表示(Self-Attention with Relative Position Representations)
这一方法由Transformer原班人马提出,核心思路是在自注意力分数计算和加权值求和过程中,直接引入相对位置信息。
在自注意力分数计算时,传统公式为$e_{ij} = \frac{q_i k_j^T}{\sqrt{d_k}}$,其中$q_i$和$k_j$分别为第i个元素的查询向量和第j个元素的键向量,$d_k$为向量维度。引入相对位置编码后,公式变为: $$e_{ij} = \frac{x_iW_q(x_jW_k + a_{ij}^k)^T}{\sqrt{d_z}}$$ 其中$a_{ij}^k$为第i个和第j个元素之间相对位置的键编码,它仅与位置差$k=i-j$有关。
在加权值求和时,传统公式为$z_i = \sum_j \alpha_{ij} v_j$,引入相对位置编码后调整为: $$z_i = \sum_j \alpha_{ij}(x_jW_v + a_{ij}^v)$$ 其中$a_{ij}^v$为相对位置的值编码,同样仅依赖于位置差$k=i-j$。
实验表明,当位置差$k>4$时,继续细分相对位置对模型性能提升有限,因此通常将相对位置差的范围限定在[-4,4]之间,超过该范围的位置差统一映射到边界桶中,以平衡模型性能和计算成本。
(二)Transformer-XL中的相对位置编码
Transformer-XL是为解决长文本语言建模问题提出的模型,其相对位置编码方式进一步优化了长序列建模能力。
Transformer-XL将自注意力公式中的绝对位置向量$U_j$替换为相对位置向量$R_{i-j}$,重新推导自注意力分数计算过程,最终得到包含相对位置信息的注意力分数。这种方式让模型能够利用之前分段的上下文信息,同时通过相对位置编码捕捉跨段的依赖关系。
与传统RPE不同,Transformer-XL的相对位置编码在计算时,将相对位置信息融入到自注意力的多个计算项中,包括查询与相对位置键的交互、相对位置值与注意力权重的交互等,进一步强化了模型对相对位置关系的建模能力。
(三)基于桶的相对位置编码
为了在有限的参数空间内表示无限的相对位置,研究者提出了基于“桶”的相对位置编码方法。其核心思想是将连续的相对位置映射到有限数量的离散区间(即“桶”)中,每个桶对应一个可训练的位置编码向量。
具体映射规则通常根据位置差的绝对值动态调整:对于较小的位置差,每个差值对应一个独立的桶,保证精细的位置区分度;对于较大的位置差,将多个相近的差值映射到同一个桶中,减少参数数量。例如,当桶的数量设置为32时,位置差为1、2、3等小值分别对应不同的桶,而位置差为100和101可能被映射到同一个桶中。
桶的数量是一个关键超参数:数量越多,位置表示的分辨率越高,但模型的计算和存储成本也会随之增加;数量越少,模型效率越高,但可能丢失部分位置细节信息。实际应用中,需要根据任务类型和数据集特性进行调优。
四、RPE在计算机视觉中的拓展:图像相对位置编码(IRPE)
RPE最初在自然语言处理领域取得成功,随着Vision Transformer(ViT)的兴起,研究者开始探索RPE在计算机视觉中的应用。由于图像数据是二维结构,直接将一维RPE扩展到二维场景存在诸多问题,因此提出了图像相对位置编码(Image Relative Position Encoding, IRPE)。
(一)二维相对位置建模的挑战
与自然语言的一维序列不同,图像中的像素或patch具有二维空间结构,元素之间的相对位置不仅包含距离信息,还包含方向信息(如上下、左右、对角线等)。传统一维RPE无法捕捉这些二维相对关系,直接扩展会导致位置信息丢失。
(二)IRPE的核心设计
IRPE针对二维图像场景,提出了多种编码方式:
定向相对距离建模:不仅考虑两个patch之间的欧氏距离,还区分它们的相对方向,如水平方向、垂直方向、对角线方向等,为不同方向的相对位置分配不同的编码向量。
高效计算优化:原始自注意力机制的计算复杂度为$O(n^2d)$,其中$n$为图像patch数量,$d$为特征维度。IRPE通过限制相对位置的建模范围(如仅考虑每个patch周围k×k范围内的其他patch),将计算复杂度降低到$O(nkd)$,其中$k<<n$,大幅提升了高分辨率图像任务的处理效率。
多尺度相对位置编码:为适应不同尺度的目标识别需求,IRPE引入多尺度桶结构,对不同范围的相对位置差进行分层建模,既保证了小目标的精细位置区分,又能捕捉大目标之间的全局相对关系。
(三)实验效果
在ImageNet图像分类任务中,引入IRPE的DeiT模型相比原始模型,Top-1准确率提升了1.5%;在COCO目标检测任务中,加入IRPE的DETR模型mAP(平均精度均值)提升了1.3%,且无需调整学习率、权重衰减等其他超参数,充分证明了IRPE在计算机视觉任务中的有效性。
五、RPE的未来发展方向
(一)跨模态统一相对位置编码
随着多模态学习的发展,如何在文本、图像、音频等不同模态数据中统一建模相对位置关系,成为研究热点。未来的RPE有望设计出通用的相对位置编码框架,既能捕捉文本的一维序列相对关系,又能建模图像的二维空间相对关系,还能处理音频的时序相对关系,实现多模态数据的统一表示。
(二)自适应相对位置编码
当前RPE的超参数(如桶的数量、相对位置差范围等)通常需要人工调优,未来可探索自适应相对位置编码方法,让模型根据输入数据的特性自动调整相对位置的建模方式。例如,在处理长文本时自动扩大相对位置差范围,在处理小目标密集的图像时自动增加桶的数量,提升模型的自适应能力和泛化性能。
(三)与其他Transformer改进技术的融合
RPE可与稀疏注意力、线性注意力、动态路由等Transformer改进技术深度融合。例如,将RPE与稀疏注意力结合,在稀疏采样的基础上建模元素间的相对位置关系,既能保持稀疏注意力的高效性,又能提升模型对位置信息的捕捉能力;与动态路由结合,让模型根据相对位置关系动态调整注意力分配路径,进一步优化模型性能。
<< 上一篇
下一篇 >>