Google BERT入门(5)Transformer通过位置编码学习位置

文章目录

  • [6. Google BERT入门(5)Transformer通过位置编码学习位置](#6. Google BERT入门(5)Transformer通过位置编码学习位置)

6. Google BERT入门(5)Transformer通过位置编码学习位置

考虑输入句子"I love learning"。在RNN(Recurrent Neural Network,递归神经网络)中,我们逐词将句子输入网络。也就是说,首先输入单词"I",然后输入单词"love",等等。我们逐词输入句子,以便网络完全理解句子。但是,在transformer网络中,我们不遵循递归机制。所以,我们不是逐词输入句子,而是将句子中的所有单词并行输入网络。并行输入单词有助于减少训练时间,也有助于学习长期依赖关系。

然而,问题是由于我们并行输入单词到transformer中,如果单词顺序没有保留,它将如何理解句子的含义?要理解句子,单词顺序(句子中单词的位置)是重要的,对吧?是的,单词顺序非常重要,因为它有助于理解句子中每个单词的位置,这反过来又有助于理解句子的含义。

所以,我们应该向transformer提供一些关于单词顺序的信息,以便它能够理解句子。我们怎样才能做到这一点?现在,让我们更详细地探讨这个问题。

对于给定的句子"I love learning",首先,我们获取句子中每个单词的嵌入向量。设嵌入维度为dmodel。假设嵌入维度dmodel是4。那么,我们的输入矩阵维度将是句子长度 x 嵌入维度 = 3 x 4

我们使用输入矩阵(嵌入矩阵)表示我们的输入句子"I love learning"。设输入矩阵如下:

图1.25 -- 输入矩阵

现在,如果我们直接将前面的输入矩阵传递给transformer,它无法理解单词顺序。所以,我们不是直接将输入矩阵喂给transformer,而是需要添加一些信息来指示单词顺序(单词的位置),以便我们的网络能够理解句子的含义。为此,我们引入了一种称为位置编码的技术。位置编码,顾名思义,是一种指示句子中单词位置(单词顺序)的编码。

位置编码矩阵P的维度与输入矩阵X相同。现在,在直接将输入矩阵(嵌入矩阵)喂给transformer之前,我们包含了位置编码。因此,我们简单地将位置编码矩阵加到嵌入矩阵上,然后作为输入喂给网络。现在,我们的输入矩阵不仅包含单词的嵌入,还包含句子中单词的位置:

图1.26 -- 将输入矩阵和位置编码矩阵相加

现在,我们很自然地要提出这样一个问题:位置编码矩阵究竟是如何计算的?transformer论文《Attention Is All You Need》的作者使用了正弦函数来计算位置编码,如下所示:

在这两个方程中,pos表示句子中单词的位置,而i表示嵌入的位置。让我们通过一个例子来理解这两个方程。使用前面的方程,我们可以写出以下内容:

图1.27 -- 计算位置编码矩阵

从前面的矩阵中,我们可以观察到,在位置编码中,当i是偶数时我们使用正弦函数,当i是奇数时我们使用余弦函数。简化前面的矩阵,我们可以写出以下内容:

图1.28 -- 计算位置编码矩阵

我们知道,在我们的输入句子中,单词"I"位于第0位,love位于第1位,learning位于第2位。代入值,我们可以写出以下内容:

图1.29 -- 计算位置编码矩阵

因此,我们的最终位置编码矩阵 是如下给出的:

图1.30 -- 位置编码矩阵

计算位置编码后,我们简单地对嵌入矩阵进行逐元素加法,并将修改后的输入矩阵喂给编码器。

现在,让我们重新审视我们的编码器架构。单个编码器块如下图所示。我们可以观察到,在直接将输入喂给编码器之前,首先我们获取输入嵌入(嵌入矩阵),然后我们将其与位置编码相加,然后将其作为输入喂给编码器:

图1.31 -- 单个编码器块

至此,我们了解了位置编码器是如何工作的;在上一节中,我们还学习了多头注意力子层是如何工作的。在下一节中,我们将学习编码器中的前馈网络子层是如何工作的。


感谢您的阅读,欢迎关注!


相关推荐
大力财经18 小时前
百度Q2财报:AI业务占比过半 GPU云强劲增长283%
人工智能
桃西西呀18 小时前
Cordis 内核到底在管什么?五要素我带你看源码
人工智能
Jackson~Y18 小时前
豆包在抖音场景下的智能创作效果实测
人工智能
iNeuOS工业互联网18 小时前
iNeuOS_Vision_视觉分析,增加SAM3模型对实例分割和目标检测AI自动标注图片样本功能
人工智能·算法·目标检测
Dovis(誓平步青云)18 小时前
DevEco Studio 6.1.1 Windows 安装实录:从下载校验到首次启动
android·开发语言·数据库·人工智能·windows·harmonyos
悟天特斯18 小时前
智慧楼宇自控系统重构:从传统BA到AI自适应控制的架构演进
人工智能·物联网·重构·架构
跨境小彭18 小时前
店群运营实操复盘:批量活动申报自动化优化方案
大数据·运维·人工智能·自动化·跨境电商·temu·temu电商运营
NPE~18 小时前
[图挖掘]GCN模型训练——从0到1
人工智能·ai·数据挖掘·教程·风控·图挖掘
产品设计大观18 小时前
实测墨刀AI生成光伏储能管理后台,快速交付高保真界面和React源码
人工智能·react.js·墨刀
Eric.4618 小时前
Stable Diffusion+ComfyUI+OpenClaw AI漫剧量产提示词工程:结构化Prompt、负面词脱敏、权重锁定防画面崩坏全方案
大数据·人工智能·stable diffusion·prompt·comfyui·ai漫剧