华为推出的预训练模型nezha的其中一项创新点为使用了相对位置的函数式编码。于是本文对于Transformer相关的模型中对于字词的位置编码方式进行简单的总结。本文参考了浅谈 Transformer-based 模型中的位置表示 - 知乎。
1.原生的transformer中使用的是绝对位置的函数式位置编码,使用的是正余弦函数。由于transformer中为self-attention,这种正余弦函数由于点乘操作,其实会有隐式的相对位置信息存在,但是没有方向性,且通过权重矩阵的映射之后,这种信息可能会消失。
2.bert中使用的是绝对位置的参数式编码,且和相应位置上的词向量进行相加而不是拼接。
3.RPR,相对位置表示。将相对位置信息融入attention的计算中。
4.transformer-XL XLNet, 正余弦函数矩阵和一个偏置项(参数)来表示相对位置。
5.nezha,使用相对位置函数编码。
==================================================
最近(2021-04-21)google又出了一篇关于位置编码对transformer效果的影响:

本文探讨了位置编码在Transformer模型中的关键作用,包括绝对位置编码和相对位置编码的不同变体,如NEZHA和BERT使用的编码方式。通过对比实验,文章揭示了位置编码在注意力矩阵中融合的优势,以及相对位置编码为何能提升模型性能。
最低0.47元/天 解锁文章
458

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



