【AI知识片段】Transformer模型中的位置编码

慈云数据 2024-03-12 技术支持 195 0

1.什么是位置编码

 位置编码描述序列中实体的位置或位置,以便为每个位置分配唯一的表示形式。单个数字(如索引值)不用于表示项目在转换器模型中的位置的原因有很多。对于长序列,索引的量级可能会变大。如果将索引值归一化为介于 0 和 1 之间,则可能会对可变长度序列产生问题,因为它们的归一化方式会有所不同。

转换器使用智能位置编码方案,其中每个位置/索引都映射到一个向量。因此,位置编码层的输出是一个矩阵,其中矩阵的每一行表示序列的一个编码对象,该序列与其位置信息相加。仅对位置信息进行编码的矩阵示例如下图所示。

2.位置编码的原理

三角正弦函数的回顾

函数的范围是 [-1,+1]。该波形的频率是在一秒钟内完成的周期数。波长是波形重复的距离。不同波形的波长和频率如下所示:

 Transformer中的位置编码

假设您有一个长度 L 的输入序列,并且需要 对象在此序列中的位置。位置编码由不同频率的正弦和余弦函数给出:

  • k:对象在输入序列中的位置,0
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon