Transformer的前世今生 day07(Masked Self-Attention、Multi-Head Self-Attention)

文章详细解释了在自然语言处理中,如何通过MaskedSelf-Attention和Multi-HeadSelf-Attention机制限制模型对未来的依赖,确保一个词一个词地生成,以及这些机制如何通过多头策略提高词向量的合理性。
摘要由CSDN通过智能技术生成

Masked Self-Attention 掩码自注意力

  • 由于NLP中的生成模型,是一个一个的生成单词, 所以为了让自注意力也实现这个过程,就设计了掩码自注意力
    • 掩码:在自注意力机制中,每个输入位置都会与其他位置进行注意力计算,并计算出一个加权和。而掩码的作用是将不相关或无效的位置的注意力权重设置为0,从而将模型的关注点限定在有效的位置上。如:将未来位置的注意力权重被设置为0,以防止模型在生成当前位置时依赖未来的信息,从而达到生成模型,一个一个生成单词的效果
      在这里插入图片描述
  • 如果只是自注意力机制,那么模型会知道这句话完整的样子,但是掩码自注意力,模型是分批次得到这句话,最后一次才得到完整的一句话,概率分布如下:·
    在这里插入图片描述

Multi-Head Self-Attention

  • Self-Attention是Attention的一个具体做法,即规定Q、K、V同源。注意力机制的目的是为了得到一个比初始的词向量拥有更多信息的新词向量Z
  • Multi-Head Self-Attention的目的是为了得到一个比Z拥有更多信息的新Z’
  • 多头指多层、多个。多头的个数用h表示,一般h=8,通常我们使用的是8头自注意力,在此,我们将输入X,经过一系列变换后(乘以Q、K、V的变换矩阵),得到 Z 0 Z_0 Z0 - Z 7 Z_7 Z7 ,然后把 Z 0 Z_0 Z0 - Z 7 Z_7 Z7 拼接起来,做一次线性变换,改变维度,得到与输入词向量X相同维度的Z‘词向量,因为如果不进行线性变换,那么拼接之后的维度会非常巨大,而词向量维度不匹配会有很多问题
    在这里插入图片描述
  • 机器学习的本质:y = σ \sigma σ(wx+b),即用线性变换和非线性变换,把一个不合理的东西变得合理
  • 非线性变换的本质:改变空间上的位置坐标。由于任何一个点都可以在维度空间上找到,所以我们可以通过某个手段,让一个位置不合理的点,变得合理。
  • 词向量的本质:将独热编码(不合理),通过Word2Vec、ELMO、Attention、Multi-Head Attention来得到合理的点,如(11,222,33)
    Word2Vec、(15,3,2)ELMO、(124,2,32)Attention、(1231,3,23)Multi-Head Attention
  • Multi-Head Attention:将输入X分别送入8个Q、K、V的变换矩阵,这样原先在一个位置上的不合理的X,去了空间上的8个位置,通过对8个点进行寻找合适的位置,从而可以找到更合适的位置。
    • 但是对于词向量来说,h的个数不是越大越好,如果h为100,那么可能其中有80多个是没用的,经过实验,8是比较好的个数
  • 以下为流程图:
    在这里插入图片描述
  • 给一句话,通过ELMO、Word2Vec、Attention等来获得输入词向量x,之后乘以8套 W Q W^Q WQ W K W^K WK W V W^V WV,得到8套 Q Q Q K K K V V V,每套 Q Q Q K K K V V V可以得到一个 Z Z Z,将8个 Z Z Z进行拼接,最后经过一个线性变换后得到与输入词向量相同维度的Z’
  • 通过8个位置来寻找合适的位置点,从而可以找到能表示更多信息,更合理的词向量
  • PS:交叉注意力:K和V近似相等,但是Q不和K、V同源

参考文献:

  1. 12 Masked Self-Attention(掩码自注意力机制)
  2. 13 Multi-Head Self-Attention(从空间角度解释为什么做多头)
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Multi-head masked self-attentionTransformer模型中的一种注意力机制。在这种机制中,输入序列中的每个位置都被当作查询来计算注意力权重,然后根据这些权重对所有位置进行加权求和以得到最终的表示。 Multi-head表示将注意力机制分为多个头部进行独立计算,每个头部都具有自己的参数。这样可以让模型同时关注不同位置和不同表示子空间的信息,提高了模型的表达能力和泛化能力。 Masked self-attention是在计算注意力权重时引入的一种掩码机制。通过在注意力计算中使用一个掩码矩阵,可以阻止模型关注当前位置之后的信息,从而保证模型在预测当前位置时只使用了之前的信息。这在解决序列生成任务中非常有用,例如语言模型或机器翻译。 因此,multi-head masked self-attention是一种在Transformer中使用的注意力机制,它允许模型同时关注不同位置和不同表示子空间的信息,并通过掩码机制保证模型在预测时只使用了之前的信息。这种机制在提高模型表达能力和解决序列生成任务中起到了重要作用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [层层剖析,让你彻底搞懂Self-AttentionMultiHead-AttentionMasked-Attention的机制和原理](https://blog.csdn.net/zhaohongfei_358/article/details/122861751)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丿罗小黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值