绝对位置编码和相对位置编码是用于在自然语言处理(NLP)和深度学习中对序列数据进行建模时常用的技术。
-
绝对位置编码(Absolute Positional Encoding):
绝对位置编码是一种将序列中的每个位置进行编码的方法,它为每个位置分配一个唯一的编码向量。最常用的绝对位置编码方法是通过使用三角函数的正弦和余弦函数来生成位置编码。具体而言,绝对位置编码使用了一组固定的正弦和余弦函数,根据位置索引和维度来计算每个位置的编码向量。这样的编码向量可以提供关于输入序列中每个位置的绝对位置信息。绝对位置编码的优势在于它不依赖于序列中的其他元素,可以独立地表示每个位置的信息。 -
相对位置编码(Relative Positional Encoding):
相对位置编码是一种根据位置之间的相对关系来编码序列的方法。相对位置编码考虑了序列中不同位置之间的相对距离和关系,并使用可学习的参数来对这些关系进行建模。相对位置编码可以通过计算不同位置之间的偏移量或相对位置差异来捕捉位置之间的相对信息。相对于绝对位置编码,相对位置编码更关注序列中位置之间的相对顺序和距离,它可以更好地处理长序列中的位置信息。
绝对位置编码:对输入序列的不同位置,随机初始化一个与嵌入层同维向的向量,然后相加进行训练学习。(或者直接固定一个向量)
缺点:①使用绝对位置编码的序列,不同位置对应的向量虽然不同,即可以反应序列应该有顺序关系;但是难以反应序列字符之间的相对位置关系。比如位置1和位置2,距离差1,位置1和位置3距离差2,位置2和位置3距离差1,这些距离远近会反应什么关系呢?绝对位置编码挖掘不到这中信息。
②没有外推性,即表示不了比预训练文本长度更长的位置表向量示, 即如果预训练最大长度为512的话,那么最多就只能处理长度为512的句子,再长就处理不了了。当然,也可以将超过512的位置向量随机初始化,然后继续微调。
相对位置编码:没有完整建模整个序列的位置信息,而是在算当前位置的Attention的时候,考

本文探讨了自然语言处理中使用的两种序列位置编码方法:绝对位置编码,依赖绝对位置;相对位置编码,注重位置间的相对关系。文章分析了它们的优缺点,并举例说明了在Attention机制中如何引入相对位置信息。

1万+

被折叠的 条评论
为什么被折叠?



