如何理解Transformer论文中的positional encoding,和三角函数有什么关系?

大家好,我分享交流下这个问题。

Positional Encoding

掏出一张被无数人讲述的架构图。

Transformer 模型中的位置编码(Positional Encoding)是为了让模型能够考虑单词在句子中的位置。

由于 Transformer 的自注意力(Self-Attention)机制本身并不考虑单词的顺序,位置编码就成为了引入这种顺序信息的关键。

位置如图

位置编码(Positional Encoding)分别加到了输入嵌入(Input Embedding)和输出嵌入(Output Embedding)之后。

输入嵌入(Input Embedding)

输入序列,例如序列狗咬人 这些单词也叫Token(词符)。

Token 是文本序列中的最小单位,可以是单词、字符等形式。

tokens:["狗", " 咬人"]。Token 的词汇表中包含了所有可能情况,每个 token 预先被分配了唯一的数字 ID,称为 token ID。

最后是词嵌入(Word Embedding)。词嵌入的目标是把每个 token 转换为固定长度的向量表示

这些向量可以根据 token ID 在预训练好的词嵌入库(例如 Word2Vec 等)中拿到。

结合示例("狗咬人描述")

对于输入序列"狗咬人",模型首先会获得每个单词"狗"和"咬人"的嵌入向量。

然后,模型会为序列中的每个位置生成一个位置编码向量。

最后,每个单词的嵌入向量会与其对应位置的位置编码向量相加,生成最终的向量,该向量同时包含了单词的语义信息和位置信息。

这样,即使是单词"狗"出现在不同的位置,其最终的向量表示也会因为位置编码的加入而有所不同,从而使得模型能够区分"狗咬人"和"人咬狗"。

三角函数

位置编码(Positional Encoding)不一定非要使用三角函数。虽然在原始的Transformer模型中,位置编码使用了正弦和余弦函数的固定模式,但这不是唯一的方法。

Transformer 模型中的位置编码(Positional Encoding)是为了让模型能够考虑单词在句子中的位置。由于 Transformer 的自注意力(Self-Attention)机制本身并不考虑单词的顺序,位置编码就成为了引入这种顺序信息的关键。

假设你有一个长度为L的输入序列,要计算第K个元素的位置编码。位置编码由不同频率的正弦和余弦函数给出:

  • k:对象在输入序列中的位置,0<=k<L/2
  • d: 输出嵌入空间的维度
  • P(k,j): 位置函数,用于映射输入序列中k处的元素到位置矩阵的(k,j)处
  • n:用户定义的标量,由 Attention Is All You Need 的作者设置为 10,000。
  • i: 用于映射到列索引,0<=i<d/2,单个值i映射到正弦和余弦函数

你可以看到偶数位置对应正弦函数,奇数位置对应余弦函数。

如果有不清楚可以看下A Gentle Introduction to Positional Encoding in Transformer Models, Part 1 ,有代码和图表展示。

中文版本:http://www.bimant.com/blog/transformer-positional-encoding-illustration/

总结

后面有疑问咱们继续交流!

独立开源软件开发者,SolidUI作者,对于新技术非常感兴趣,专注AI和数据领域,如果对我的文章内容感兴趣,请帮忙关注点赞收藏,谢谢!

相关推荐
小于小于大橙子2 小时前
视觉SLAM数学基础
人工智能·数码相机·自动化·自动驾驶·几何学
封步宇AIGC4 小时前
量化交易系统开发-实时行情自动化交易-3.4.2.Okex行情交易数据
人工智能·python·机器学习·数据挖掘
封步宇AIGC4 小时前
量化交易系统开发-实时行情自动化交易-2.技术栈
人工智能·python·机器学习·数据挖掘
陌上阳光4 小时前
动手学深度学习68 Transformer
人工智能·深度学习·transformer
OpenI启智社区4 小时前
共筑开源技术新篇章 | 2024 CCF中国开源大会盛大开幕
人工智能·开源·ccf中国开源大会·大湾区
AI服务老曹4 小时前
建立更及时、更有效的安全生产优化提升策略的智慧油站开源了
大数据·人工智能·物联网·开源·音视频
YRr YRr5 小时前
PyTorch:torchvision中的dataset的使用
人工智能
love_and_hope5 小时前
Pytorch学习--神经网络--完整的模型训练套路
人工智能·pytorch·python·深度学习·神经网络·学习
思通数据5 小时前
AI与OCR:数字档案馆图像扫描与文字识别技术实现与项目案例
大数据·人工智能·目标检测·计算机视觉·自然语言处理·数据挖掘·ocr
兔老大的胡萝卜5 小时前
关于 3D Engine Design for Virtual Globes(三维数字地球引擎设计)
人工智能·3d