欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > Transformer入门(10)Transformer解码器组件介绍之多头注意力

Transformer入门(10)Transformer解码器组件介绍之多头注意力

2025/2/21 3:38:32 来源:https://blog.csdn.net/weixin_45333185/article/details/144459525  浏览:    关键词:Transformer入门(10)Transformer解码器组件介绍之多头注意力

2.多头注意力

下图显示了同时包含编码器和解码器的transformer模型。我们可以观察到,每个解码器的多头注意力子层接收两个输入:一个是来自前一个子层(掩蔽多头注意力)的输入,另一个是编码器表示:

在这里插入图片描述

图1.52 – 编码器-解码器交互

让我们用R表示编码器表示(representation),用M表示掩蔽多头注意力子层获得的注意力矩阵。由于这里编码器和解码器之间有交互,这个层也被称为编码器-解码器注意力层(encoder-decoder attention layer)。

现在,让我们深入了解细节,学习多头注意力层究竟是如何工作的。多头注意力机制的第一步是创建查询、键和值矩阵。我们了解到可以通过将输入矩阵乘以权重矩阵来创建查询、键和值矩阵。但是在这个层中,我们有两个输入矩阵:一个是R(编码器表示)和另一个是M(前一个子层的注意力矩阵)。那么我们应该使用哪一个呢?

我们使用前一个子层获得的注意力矩阵M来创建查询矩阵Q,并使用编码器表示R来创建键和值矩阵。由于执行的是多头注意力机制,对于第i头,我们执行以下操作:

(1)查询矩阵Qi是通过将注意力矩阵M乘以权重矩阵WiQ创建的。

(2)键和值矩阵是通过将编码器表示R乘以权重矩阵WiK和WiV分别创建的。

这个过程图示如下:

在这里插入图片描述

图1.53 – 创建查询、键和值矩阵

但我们为什么要这样做呢?为什么我们要从M获取查询矩阵,而从R获取键和值矩阵呢?查询矩阵本质上持有我们的目标句子的表示,因为它来自M,而键和值矩阵持有源句子的表示,因为它来自R。但这是如何以及为什么产生作用的呢?让我们通过逐步计算自注意力来理解这一点。

自注意力的第一步是计算查询矩阵和键矩阵之间的点积。下图显示了查询矩阵和键矩阵。我们可以观察到,由于查询矩阵来自M,它持有目标句子的表示,而键矩阵来自R,它持有输入句子的表示。请注意,这里使用的值是任意的,只是为了更好地理解:

在这里插入图片描述

图1.54 – 查询和键矩阵

下图显示了查询矩阵和键矩阵之间点积的结果:

在这里插入图片描述

图1.55 – 查询和键矩阵之间的点积

通过观察前面的矩阵QiKiT,我们可以理解到:

(1)从矩阵的第一行,我们可以观察到我们正在计算查询向量q1()和所有键向量k1(I)、k2(love)和k3(learning)之间的点积。因此,第一行表明目标单词与源句子中的所有单词(I、love和learning)的相似程度。

(2)同样,从矩阵的第二行,我们可以观察到我们正在计算查询向量q2(我)和所有键向量k1(I)、k2(love)和k3(learning)之间的点积。因此,第二行表明目标单词“我”与源句子中的所有单词(I、love和learning)的相似程度。

(3)同样的情况适用于所有其他行。因此,计算QiKiT帮助我们理解查询矩阵(目标句子表示)与键矩阵(源句子表示)的相似程度。

多头注意力矩阵的下一步是将结果QiKiT除以sqrt(dk)。然后,应用softmax函数获得分数矩阵softmax(QiKiT/sqrt(dk))。
接下来,我们将分数矩阵乘以值矩阵Vi,得到softmax(QiKiT/sqrt(dk))Vi,并获得注意力矩阵Zi,如下所示:

在这里插入图片描述

图1.56 – 计算注意力矩阵

假设我们有以下结果:

在这里插入图片描述

图1.57 – 注意力矩阵的结果

目标句子的注意力矩阵Zi是通过将值向量乘以分数并求和来计算的。为了更清晰,让我们看看单词“我”的自注意力值z2是如何计算的:

在这里插入图片描述

图1.58 – 单词“我”的自注意力

如图所示,单词“我”的自注意力z2是通过将值向量乘以分数并求和来计算的。因此,z2的值将包含来自值向量v1(I)的98%的值和来自值向量v2(love)的2%的值。这基本上帮助模型理解目标单词“我”意味着源单词I。

同样,我们可以计算h个注意力矩阵,将它们连接起来,并将结果乘以一个新的权重矩阵W0,创建最终的注意力矩阵,如下所示:

在这里插入图片描述

现在,我们将这个最终的注意力矩阵送入解码器中的下一个子层——前馈网络

下一节,我们将介绍解码器中的前馈网络是如何工作的。


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


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词