青州做网站的网络公司线上宣传推广方式
位置编码
位置编码从前到后包括:绝对位置编码、余弦位置编码、旋转位置编码、ALiBi相对位置编码。
1 绝对位置编码(Absolute Positional Encoding)
应用的模型:BERT、GPT等Transformer基础模型广泛使用绝对位置编码来处理序列数据。
算法思想:绝对位置编码通过为序列中的每个位置分配一个唯一的向量来工作。这些向量被加到对应位置的词嵌入上,从而使模型能够根据单词的位置信息进行学习。在BERT中,位置编码是可学习的参数,而在原始的Transformer和GPT中,则采用了预定义的、基于固定公式生成的绝对位置编码。
优点:
- 简单直接,易于实现。
- 通过为每个位置分配唯一的编码,模型可以准确地获得每个单词的绝对位置信息,有助于处理位置敏感的任务。
缺点:
- 固定的位置编码可能限制了模型处理长序列的能力,因为它需要在训练前预先定义最大序列长度。
- 可能不如相对位置编码灵活,后者能更好地处理长距离依赖关系。
2 余弦位置编码(Sinusoidal Positional Encoding)
应用的模型:原始的Transformer模型在其编码器和解码器的输入中采用了余弦位置编码。
算法思想:余弦位置编码使用一组正弦和余弦函数来生成每个位置的编码,这些函数的波长遵循几何级数。这意味着每个维度的位置编码对应于正弦和余弦函数的不同频率,从而允许模型捕捉序列中的相对位置信息。公式大致为:对于位置
pos
和维度i
,位置编码pos
的第i
维的值为sin(pos / 10000^(2i/d_model))
或cos(pos / 10000^(2i/d_model))
,其中