multi-head_seft-attention(多头自注意力)

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

对比

相比于single-head,multi-head就是将 q i q^i qi分成了 h h h
multi-head_seft-attention(多头自注意力),自然语言处理

multi-head_seft-attention的计算过程

  • q i q^i qi分成了 h h h
    multi-head_seft-attention(多头自注意力),自然语言处理

  • 计算过程
    multi-head_seft-attention(多头自注意力),自然语言处理

对于每个Head,我们可以提取出他的 b 11 b_{11} b11 b m 1 b_{m1} bm1,以 H e a d 1 Head_1 Head1举例

  1. 将输入序列进行embedding后,变为向量 a 1 a_1 a1, a 2 a_2 a2, a 3 a_3 a3, a 4 a_4 a4
  2. 分别乘 W 1 W_1 W1, W 2 W_2 W2, W 3 W_3 W3后,提取 q 1 q^1 q1 k 1 k^1 k1 v 1 v^1 v1,将 q 1 q^1 q1分成了 h h h份,其他两个也一样
  3. q 11 q^{11} q11 query分别和自己的 k 11 k^{11} k11以及其他token的key相乘,得到m个相似度分数,再经过softmax处理,得到新的m个分数。
  4. 将处理后的权重得分分别于 v 11 v^{11} v11、… 、 v m 1 v^{m1} vm1相乘,结果再相加,得到 b 11 b_{11} b11,其他以此类推,直到 b m 1 b_{m1} bm1

multi-head_seft-attention(多头自注意力),自然语言处理

在这之后,我们将对应位置的 b b b,concat起来

  • 先按列concat,再按行concat

    • 所有head中的第一个 b 11 b_{11} b11 b 12 b_{12} b12等,我们把它concat起来,组成一个大 b 1 b_1 b1
    • 对于第m个位置,我们将所有head中的 b m i b_{mi} bmi concat起来,组成一个大 b m b_m bm
      multi-head_seft-attention(多头自注意力),自然语言处理
  • W o W^o Wo代表进行全连接,得到一个最终的结果[ b 1 b_1 b1、… 、 b m b_m bm]

    m就是token的个数
    d_model就是每个token的维度

    multi-head_seft-attention(多头自注意力),自然语言处理文章来源地址https://www.toymoban.com/news/detail-639218.html

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

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

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

相关文章

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包