2021-05-07

本文深入探讨了自注意力(self-attention)机制,解释了如何计算向量之间的关联性,并通过softmax层权重分配。在多头自注意力(Multi-Head Self-Attention)中,多个查询向量可以发现不同关联关系。此外,位置编码被用于引入位置信息。自注意力机制可以被视为RNN和CNN的变种,广泛应用于自然语言处理和序列建模任务。
摘要由CSDN通过智能技术生成

self-attenation

在这里插入图片描述
蓝色区域是self-attention输出。每个 a a a是一个向量, a i ( i = 1 , . . . . , n ) a^{i}(i=1,....,n) ai(i=1,....,n) 是一串向量。 a i a^{i} ai可能是一个系统输入,也可能是上一个self-attention层的输出。
下面写出 b 1 b^{1} b1的计算方式:
在这里插入图片描述

先计算出 a 1 a^{1} a1和其他 a i ( i = 1 , . . . . , n ) a^{i}(i =1,....,n) ai(i=1,....,n) 的关联性,用 α \alpha α 来表示两个向量之间的关系度。求 α \alpha α 有几种做法,这里用点乘举例。
在这里插入图片描述
在这里插入图片描述
这里有两个矩阵一query矩阵 w q w^{q} wq,一个ask矩阵 w k w^{k} wk α 1 , 1 = q 1 ⋅ k 1 , α 1 , 2 = q 1 ⋅ k 2 \alpha_{1,1}=q^{1}\cdot k^{1},\alpha_{1,2}=q^{1}\cdot k^{2} α1,1=q1k1,α1,2=q1k2
然后经过softmax层。
α 1 , i ′ = exp ⁡ ( α 1 , i ) / ∑ j exp ⁡ ( α 1 , j ) \alpha_{1, i}^{\prime}=\exp \left(\alpha_{1, i}\right) / \sum_{j} \exp \left(\alpha_{1, j}\right) α1,i=exp(α1,i)/jexp(α1,j)
在这里插入图片描述
这里出现了一个新矩阵 W v W^{v} Wv v 1 = W v a 1 v^{1}=W^{v}a^{1} v1=Wva1.
b 1 = ∑ i α 1 , i ′ v i \boldsymbol{b}^{\mathbf{1}}=\sum_{i} \alpha_{1, i}^{\prime} \boldsymbol{v}^{i} b1=iα1,ivi
w q , w k , w v w^{q},w^{k},w^{v} wq,wk,wv是要训练的参数。
在这里插入图片描述
这是multi-head的self-attention。 q i , 1 q^{i,1} qi,1只和 k j , 1 k^{j,1} kj,1 k i , 1 k^{i,1} ki,1计算。
在这里插入图片描述
同理可得 b i , 2 b^{i,2} bi,2
在这里插入图片描述
这是输出的 b i b^{i} bi
multi-head self-attention中每个 q i q^{i} qi都对应一个关联关系。多几个 q i q^{i} qi就可以找出多几个关联关系。
通过position encoding 把位置信息变成一个向量 e i e^{i} ei加入到 α i \alpha^{i} αi中。
可以吧rnn和cnn看成特殊的self-attention。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值