Bert基础(二)--多头注意力

这篇具有很好参考价值的文章主要介绍了Bert基础(二)--多头注意力。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

多头注意力

顾名思义,多头注意力是指我们可以使用多个注意力头,而不是只用一个。也就是说,我们可以应用在上篇中学习的计算注意力矩阵Z的方法,来求得多个注意力矩阵。让我们通过一个例子来理解多头注意力层的作用。以All is well这句话为例,假设我们需要计算well的自注意力值。在计算相似度分数后,我们得到图所示的结果。

Bert基础(二)--多头注意力,Deep Learing & pytorch,NLP,bert,人工智能,机器学习
从图中可以看出,well的自注意力值是分数加权的值向量之和,并且它实际上是由All主导的。也就是说,将All的值向量乘以0.6,而well的值向量只乘以了0.4。这意味着 z w e l l z_{well} zwell将包含60%的All的值向量,而well的值向量只有40%。

这只有在词义含糊不清的情况下才有用。以下句为例:A dog ate the food because it was hungry(一只狗吃了食物,因为它很饿)假设我们需要计算it的自注意力值。在计算相似度分数后,我们得到下图所示的结果。

Bert基础(二)--多头注意力,Deep Learing & pytorch,NLP,bert,人工智能,机器学习
从图中可以看出,it的自注意力值正是dog的值向量。在这里,单词it的自注意力值被dog所控制。这是正确的,因为it的含义模糊,它指的既可能是dog,也可能是food。

如果某个词实际上由其他词的值向量控制,而这个词的含义又是模糊的,那么这种控制关系是有用的;否则,这种控制关系反而会造成误解。为了确保结果准确,我们不能依赖单一的注意力矩阵,而应该计算多个注意力矩阵,并将其结果串联起来。使用多头注意力的逻辑是这样的:使用多个注意力矩阵,而非单一的注意力矩阵,可以提高注意力矩阵的准确性。我们将进一步探讨这一点。

假设要计算两个注意力矩阵 Z 1 Z_1 Z1 Z 2 Z_2 Z2。首先,计算注意力矩阵 Z 1 Z_1 Z1

我们已经知道,为了计算注意力矩阵,需要创建三个新的矩阵,分别为查询矩阵、键矩阵和值矩阵。为了创建查询矩阵 Q 1 Q_1 Q1、键矩阵 K 1 K_1 K1和值矩阵 V 1 V_1 V1,我们引入三个新的权重矩阵,称为 W 1 Q , W 1 K , W 1 V W_1^Q , W_1^K, W_1^V W1Q,W1K,W1V。用矩阵X分别乘以矩阵 W 1 Q , W 1 K , W 1 V W_1^Q , W_1^K, W_1^V W1Q,W1K,W1V,就可以依次创建出查询矩阵、键矩阵和值矩阵。

基于以上内容,注意力矩阵 Z 1 Z_1 Z1可按以下公式计算得出。
Z 1 = s o f t m a x ( Q 1 ⋅ K 1 T d k ) V 1 Z_1 = softmax(\frac{Q_1·K_1^T}{\sqrt{d_k}})V_1 Z1=softmax(dk Q1K1T)V1

接下来计算第二个注意力矩阵 Z 2 Z_2 Z2

为了计算注意力矩阵 Z 2 Z_2 Z2,我们创建了另一组矩阵:查询矩阵 Q 2 Q_2 Q2、键矩阵 K 2 K_2 K2和值矩阵 V 2 V_2 V2,并引入了三个新的权重矩阵,即 W 2 Q , W 2 K , W 2 V W_2^Q , W_2^K, W_2^V W2Q,W2K,W2V。用矩阵 X X X分别乘以矩阵 W 2 Q , W 2 K , W 2 V W_2^Q , W_2^K, W_2^V W2Q,W2K,W2V,就可以依次得出对应的查询矩阵、键矩阵和值矩阵。注意力矩阵 Z 2 Z_2 Z2可按以下公式计算得出。

Z 2 = s o f t m a x ( Q 2 ⋅ K 2 T d k ) V 2 Z_2 = softmax(\frac{Q_2·K_2^T}{\sqrt{d_k}})V_2 Z2=softmax(dk Q2K2T)V2

同理,可以计算出 h h h个注意力矩阵。假设我们有8个注意力矩阵,即 Z 1 Z_1 Z1 Z 8 Z_8 Z8,那么可以直接将所有的注意力头(注意力矩阵)串联起来,并将结果乘以一个新的权重矩阵 W 0 W_0 W0,从而得出最终的注意力矩阵,公式如下所示。
Bert基础(二)--多头注意力,Deep Learing & pytorch,NLP,bert,人工智能,机器学习
现在,我们已经了解了多头注意力层的工作原理。下篇将介绍另一个有趣的概念,即位置编码(positional encoding)。文章来源地址https://www.toymoban.com/news/detail-833612.html

到了这里,关于Bert基础(二)--多头注意力的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【NLP】多头注意力概念(01)

            本文是“已实施的变压器”系列的一篇。它从零开始引入了多头注意力机制。注意力是变压器背后的支柱和力量,因为它为序列提供了上下文。         在变压器模型中,注意力为每个序列提供上下文。这有助于模型了解不同单词如何相互关联,以创建有意义

    2024年02月16日
    浏览(38)
  • haiku实现门控多头注意力模块

    在多头注意力机制中,通常输入的数据包括查询(Q)、键(K)和值(V)。这些数据的维度以及权重矩阵的维度在多头注意力机制中扮演关键角色。下面对数据及权重的维度进行解释: 输入数据(Queries, Keys, Values): Queries (Q): 表示待查询的信息,通常对应输入序列的每个位置

    2024年01月19日
    浏览(39)
  • MultiHeadAttention多头注意力机制的原理

    MultiHeadAttention多头注意力作为Transformer的核心组件,其主要由多组自注意力组合构成。 在NLP任务中,自注意力能够根据上下文词来重新构建目标词的表示,其之所以被称之为注意力,在于从上下文词中去筛选目标词更需要关注的部分,比如\\\"他叫小明\\\",\\\"他\\\"这个词更应该关注

    2023年04月21日
    浏览(39)
  • 深入理解Transformer,兼谈MHSA(多头自注意力)、Cross-Attention(交叉注意力)、LayerNorm、FFN、位置编码

    Transformer其实不是完全的Self-Attention(SA,自注意力)结构,还带有Cross-Attention(CA,交叉注意力)、残差连接、LayerNorm、类似1维卷积的Position-wise Feed-Forward Networks(FFN)、MLP和Positional Encoding(位置编码)等 本文涵盖Transformer所采用的MHSA(多头自注意力)、LayerNorm、FFN、位置编

    2024年04月12日
    浏览(59)
  • multi-head_seft-attention(多头自注意力)

    相比于single-head,multi-head就是将 q i q^i q i 分成了 h h h 份 将 q i q^i q i 分成了 h h h 份 计算过程 对于每个Head,我们可以提取出他的 b 11 b_{11} b 11 ​ 到 b m 1 b_{m1} b m 1 ​ ,以 H e a d 1 Head_1 He a d 1 ​ 举例 将输入序列进行embedding后,变为向量 a 1 a_1 a 1 ​ , a 2 a_2 a 2 ​ , a 3 a_3 a 3 ​

    2024年02月13日
    浏览(43)
  • 深入理解深度学习——注意力机制(Attention Mechanism):带掩码的多头注意力(Masked Multi-head Attention)

    分类目录:《深入理解深度学习》总目录 相关文章: ·注意力机制(AttentionMechanism):基础知识 ·注意力机制(AttentionMechanism):注意力汇聚与Nadaraya-Watson核回归 ·注意力机制(AttentionMechanism):注意力评分函数(AttentionScoringFunction) ·注意力机制(AttentionMechanism):Bahda

    2024年02月09日
    浏览(43)
  • 【人工智能】Transformer 模型数学公式:自注意力机制、多头自注意力、QKV 矩阵计算实例、位置编码、编码器和解码器、常见的激活函数等

    Transformer模型由多个编码器和解码器层组成,其中包含自注意力机制、线性层和层归一化等关键构造模块。虽然无法将整个模型完美地表示为单个数学公式,但我们可以提供一些重要构造模块的数学表示。以下是使用LaTeX格式渲染的部分Transformer关键组件的数学公式: 自注意力

    2024年02月14日
    浏览(53)
  • 翻译: 详细图解Transformer多头自注意力机制 Attention Is All You Need

    The Transformer——一个使用注意力来提高这些模型的训练速度的模型。Transformer 在特定任务中的表现优于谷歌神经机器翻译模型。然而,最大的好处来自于 The Transformer 如何使自己适合并行化。事实上,Google Cloud 建议使用 The Transformer 作为参考模型来使用他们的Cloud TPU产品。所

    2023年04月08日
    浏览(50)
  • 一起学习:大型语言模型(LLM)中的QKV(Query, Key, Value)和多头注意力机制

    每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未

    2024年02月05日
    浏览(46)
  • 深入理解深度学习——Transformer:解码器(Decoder)的多头注意力层(Multi-headAttention)

    分类目录:《深入理解深度学习》总目录 相关文章: ·注意力机制(Attention Mechanism):基础知识 ·注意力机制(Attention Mechanism):注意力汇聚与Nadaraya-Watson核回归 ·注意力机制(Attention Mechanism):注意力评分函数(Attention Scoring Function) ·注意力机制(Attention Mechanism):

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包