三种位置编码Position Embedding

本文探讨了位置编码在序列处理模型中的重要性,特别是在使用注意力机制的Transformer和BERT模型中。由于这些模型缺乏内在的位置信息处理能力,位置编码被用于提供序列上下文。介绍了三种位置编码方法:基于绝对位置的编码,Transformer采用的正弦余弦函数编码,以及BERT中训练可更新的位置向量。位置编码的选择和设计对于模型捕捉序列信息的效率至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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采用的是训练式,直接将位置编码当作可训练参数,位置向量矩阵随着训练过程一起更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值