欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > Google BERT入门(3)Transformer的自注意力机制的理解(下)

Google BERT入门(3)Transformer的自注意力机制的理解(下)

2024/12/24 0:55:22 来源:https://blog.csdn.net/weixin_45333185/article/details/144320889  浏览:    关键词:Google BERT入门(3)Transformer的自注意力机制的理解(下)

文章目录

  • 4.自注意力机制的理解
    • 步骤 4


4.自注意力机制的理解

步骤 4

我们计算了查询矩阵和键矩阵之间的点积,得到了分数,然后使用softmax函数对分数进行了归一化。现在,自注意力机制的最后一步是计算注意力矩阵Z。

注意力矩阵包含句子中每个单词的注意力值。我们可以通过将分数矩阵softmax(QK/sqrt(dk))乘以值矩阵 V来计算注意力矩阵Z,如下图所示:

在这里插入图片描述

图1.16 - 计算注意力矩阵

假设我们有以下结果:

在这里插入图片描述

图1.17 - 注意力矩阵的结果

注意力矩阵Z是通过将值向量乘以分数并求和来计算的。让我们逐行理解这一点。首先,让我们看看第一行z1,单词“I”的自注意力是如何计算的:

在这里插入图片描述

图1.18 - 单词“I”的自注意力

从前面的图中,我们可以理解,单词“I”的自注意力z1是通过将值向量乘以分数并求和来计算的。因此,z1的值将包含来自值向量v1(I)的90%的值,来自值向量v2(love)的7%的值,以及来自值向量v3(learning)的3%的值。

但这有什么用呢?为了回答这个问题,让我们回到前面提到的例子句子: “The little girl fell asleep in her mother’s arms because she was tired.”这里,单词“she”指的是“girl”。要计算单词“she”的自注意力,我们遵循前面相同的步骤。假设我们有以下结果:

在这里插入图片描述

图1.19 - 单词“she”的自注意力

从前面的图中,我们可以理解单词“she”的自注意力值包含了来自值向量(girl)的100%的值。这帮助模型理解单词“she”实际上是指“girl”而不是“mother”。因此,通过使用自注意力机制,我们可以理解一个单词如何与句子中的所有其他单词相关。
现在,回到我们的例子,单词“love”的自注意力是通过将值向量乘以分数并求和来计算的,如下所示:

在这里插入图片描述

图1.20 - 单词“love”的自注意力

从前面的图中,我们可以观察到,z2的值将包含来自值向量v1(I)的2.5%的值,来自值向量v2(love)的95%的值,以及来自值向量v3(learning)的2.5%的值。
同样,单词“learning”的自注意力是通过将值向量乘以分数并求和来计算的,如下所示:

在这里插入图片描述

图1.21 - 单词“learning”的自注意力

这意味着z3的值将包含来自值向量 v1 (I) 的21%的值,来自值向量 v2 (love) 的3%的值,以及来自值向量 v3 (learning) 的76%的值。

因此,注意力矩阵 由句子中所有单词的自注意力值组成,计算方式如下:

在这里插入图片描述

为了更好地理解自注意力机制,涉及的步骤总结如下:

(1)首先,我们计算查询矩阵Q和键矩阵K之间的点积Q.KT,得到相似度分数。
(2)接下来,我们将结果Q.KT除以键向量维度的平方根sqrt(dk)。
(3)然后,我们应用softmax()函数对分数进行归一化,得到分数矩阵softmax((Q.KT)/ sqrt(dk))。
(4)最后,我们通过将分数矩阵乘以值矩阵V来计算注意力矩阵Z。

自注意力机制在图形上展示如下:

在这里插入图片描述

图1.22 - 自注意力机制

自注意力机制也被称为缩放点积注意力,因为在这里我们计算的是点积(查询向量和键向量的点积)并缩放值(乘以sqrt(dk))。

现在我们已经理解了自注意力机制是如何工作的,下一节我们将学习多头注意力机制。


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


版权声明:

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

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