一、Transformer中为什么要使用位置编码positional encoding

在《Attention Is All You Need》这篇论文中首次提到了transformer模型,transformer模型在输入端用了一个位置编码(positional encoding),其主要目的是增加相对位置信息,使其可以更好的利用每个元素相互之间的位置关系

二、具体编码实现方式

论文作者使用的是正余弦函数进行编码,这时可能会有人产生了疑惑,为什么要使用这么复杂的编码方式呢,这里举个例子,一句话“你好吗”用“1,0,0”、“0,1,0”、“0,0,1”的独热编码不可以么,编码方式还会更加的简单,为什么要用下图这么复杂的编码方式呢?

因为正余弦编码的表示方法蕴含了相对位置信息,假设一句话“我是小狗”的“狗”的位置为 pos+k,那么即可用在位置为“pos”的“我”和在“k”位置的“是”这两个位置的编码向量进行线性组合来表示出狗这个字的位置编码向量,具体公式如下。

上式的具体推到用到了sin和cos的积化和差的性质,这也就是为什么要用sin和cos交替的形式来进行位置编码

透彻分析Transformer中的位置编码(positional enconding)相关推荐

  1. 举例理解transformer中的位置编码

    文章目录 1. transformer结构图 2. 位置编码的作用 3. 位置编码的计算 1. transformer结构图 ​ 在transformer的结构图中,由一个"Position ...

  2. 深入理解transformer中的位置编码

    文章目录 总览 问题1 问题2 问题3 问题4 问题5 问题6 总览 我们今天需要讲解transformer中的位置编码,这其实属于进阶内容.既然你会到这里,我默认你已经看过了transformer的 ...

  3. 【Transformer】Transformer 中的位置编码 -- ICLR 2021

    引言 Transformer是近年来非常流行的处理序列到序列问题的架构,其self-attention机制允许了长距离的词直接联系,可以使模型更容易学习序列的长距离依赖.由于其优良的可并行性以及可观的 ...

  4. Transformer中的位置编码(PE,position)

    参考链接 [1]https://blog.csdn.net/qq_34771726/article/details/102918440?utm_medium=distribute.pc_relevan ...

  5. ICCV2021 | Vision Transformer中相对位置编码的反思与改进

    前言  在计算机视觉中,相对位置编码的有效性还没有得到很好的研究,甚至仍然存在争议,本文分析了相对位置编码中的几个关键因素,提出了一种新的针对2D图像的相对位置编码方法,称为图像RPE(IRPE). ...

  6. transformer中相对位置编码理解

    对于一副图像,位置信息占有非常重要的地位,ViT中用了绝对位置编码,Swin中用到了相对位置编码.看了Swin的源码,参考了https://blog.csdn.net/qq_37541097/arti ...

  7. Positional Encodings in ViTs 近期各视觉Transformer中的位置编码方法总结及代码解析 1

    Positional Encodings in ViTs 近期各视觉Transformer中的位置编码方法总结及代码解析 最近CV领域的Vision Transformer将在NLP领域的Transo ...

  8. Transformer架构:位置编码

    2017年,Google的Vaswani 等人提出了一种新颖的纯注意力序列到序列架构,闻名学术界与工业界的 Transformer 架构横空出世.它的可并行化训练能力和优越的性能使其成为自然语言处理领 ...

  9. Transformer | DETR目标检测中的位置编码position_encoding代码详解

    本文主要描述的是DETR论文中的position_encoding,详细DETR论文解析可参考 论文篇 | 2020-Facebook-DETR :利用Transformers端到端的目标检测=> ...

最新文章

  1. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)
  2. linux下ifconfig命令看不到IP centos7——ens33
  3. 开箱一个docker
  4. 【C++深度剖析教程32】new/malloc区别 delete/free区别
  5. eclipse 导入项目_JAVA编程实战:坦克大战系列2-坦克如何在eclipse中编写
  6. 3倍根号x加1分之一c语言,用C语言将一个数开根号后再取倒数的方法
  7. maven项目pom.xml中parent标签的使用
  8. python 储蓄计划_365天储蓄计划表
  9. 面试题10.3-变态跳台阶
  10. qt调用import sys库_QTCreator调用动态库实例
  11. python之6-1常用函数
  12. UVALive 3713 Astronauts(2SAT)
  13. 凭借这份diao炸天的资料,狂刷三遍成功从外包进入了字节跳动!
  14. null和undefined的区别
  15. 简单做(ZTD)的十个好习惯总结
  16. 思科路由器——静态路由超级详细
  17. c语言 指针 pdf,彻底搞定C指针.pdf
  18. 【易社投研资讯】销量一日暴增数倍,上海加码外牌限行,新能源车换购需求迎新一轮释放,哪些公司或将受益?
  19. 专访 | Apache Pulsar PMC 成员翟佳:社区的信任最重要
  20. flyingsaucer转换多个html,使用 itext、flying-saucer 实现html转PDF

热门文章

  1. 分治算法中的数学——求解递归式(代入法)
  2. mysql替代符号_SQL语言之和符号(amp;)替换
  3. 面向对象(详解):三大特征【封装性、继承性、多态性】
  4. vue 请求数据方式
  5. 嵌入式开发平台Zynq芯片介绍
  6. htc x920e刷android7.0,唯一一部能刷安卓系统的微软手机,448M内存能刷安卓7.0
  7. 心态爆炸,冷月被人通过朋友圈诈骗200!
  8. Linux用户及组管理
  9. 批处理 批量s扫1433_批处理可以批量处理相同操作的图片
  10. 用十六年时间,造一座声音“博物馆”:OPPO的影音进击之路