当前位置:   article > 正文

Attention,Multi-head Attention--注意力,多头注意力详解

多头注意力

Attention

首先谈一谈attention

注意力函数其实就是把一个query,一个key-value的集合映射成一个输出。

其中query,key,value,output(Attention Value)都是向量。

输出是values的加权求和,是query与当前key的相关程度。
  • 1
  • 2
  • 3
  • 4
  • 5

Attention 函数的本质可以被描述为:

		一个查询(query)到一个系列(键key-值value)对的映射。
  • 1

例如:计算A与B的attention,就是用A的Q与B的K-V来计算。
在这里插入图片描述

Scaled Dot-Product Attention(缩放点乘积注意力)(常用)

在这里插入图片描述

微观下的Attention

什么是Q(查询向量)、K(键向量)和V(值向量)?

每一个词向量,都有自己的QKV。通过矩阵变换而来,矩阵可以学习得到。

这里Thinking为词向量X1,Machine为词向量X2。

分别经过矩阵变换得到自己的QKV。
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

多头注意力机制

多头 Attention(Multi-head Attention)结构如下图。
在这里插入图片描述

微观下的多头Attention

在这里插入图片描述

这里说一下我的理解

八个头相当于八个不同的表征子空间,类似于apple拥有水果的含义,同时也有商标的含义,不同的含义由不同的表征子空间学习。

让其他词的Q来和apple这个词不同组的K-V进行attention。

再把所有的attention结果拼接起来,通过一个全连接层(矩阵变换)得到最终结果。
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

参考博客:
图解Transfomer
NLP中的attention

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/346731
推荐阅读
相关标签
  

闽ICP备14008679号