admin管理员组

文章数量:1611400

1.为什么要位置编码?

处理序列问题
对于传统CNN、RNN模型,因其处理机制模型本身已经具备很强的捕捉位置信息的特性,所以position embedding属于锦上添花

使用attention机制取代cnn、rnn的如transformer、bert模型,本身是一个n*n不包含任何位置信息的词袋模型
所以需要和字embedding 相加

2.三种位置编码方式

[1].基于绝对位置

计数

embedding = 0 , 1, ,2, 3

缺点:序列没有上界 ,与字embedding合并 数值变化过大 干扰模型

解决:使其有一定值域范围

why not 归一化 :编码差异依赖于文本长度 ,不可!

[2].用三角函数构造相对位置关系编码

transformer采用的Sinusoidal位置编码

[3].使用随机值初始化的位置向量

Bert采用的是训练式,直接将位置编码当作可训练参数,位置向量矩阵随着训练过程一起更新

本文标签: 三种位置EmbeddingPosition