当前位置:   article > 正文

Transformer的前世今生 day08(Positional Encoding)

Transformer的前世今生 day08(Positional Encoding)

前情提要

  • Attention的优点:解决了长序列依赖问题,可以并行。Attention的缺点:开销变大了,而且不存在位置关系
  • 为了解决Attention中不存在位置关系的缺点,我们通过位置编码的形式加上位置关系

Positional Encoding(位置编码)

  • 通过在原输入词向量的基础上,给他加一个位置编码,组成新的输入词向量
    在这里插入图片描述
  • 位置编码的具体公式,如下:
    • 其中:pos指当前单词在句子中的位置,i指位置编码维度的第几维(通常来说词向量的维度为512,那么i就是0-511,表示第几维)
    • 所以,对于某个词的位置编码,偶数维度用了sin函数,奇数维度用了cos函数
      在这里插入图片描述
  • 得到位置编码后,与输入词向量X叠加后,得到新的输入词向量X’
    在这里插入图片描述
  • 由于sin和cos函数有以下公式,那么我们可以得到某一个位置的位置编码和其他两个位置的位置编码之间的关系,如下:
    在这里插入图片描述
  • 所以,当我们使用位置编码的这个函数时,对于pos+k位置的位置向量某一维2i或2i+1而言,可以表示为,pos位置与k位置的位置向量2i和2i+1的线性组合,而这个线性组合意味着pos+k的位置向量中蕴含了pos位置和k位置的位置信息
  • 而且这个位置编码的位置信息具有独特性,会随着我们输入句子的顺序改变而发生改变,比如“我爱你”中的你的位置编码,和“你爱我”中的你的位置编码所蕴含的位置信息就不同

参考文献

  1. 14 Positional Encoding (为什么 Self-Attention 需要位置编码)
  2. 1401 位置编码公式详细理解补充
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/339380
推荐阅读
相关标签
  

闽ICP备14008679号