transformer(二) 多头注意力简介以及变种

自注意力变种包括稀疏注意力,其中多头自注意力变种包括分组注意力、多查询注意力等。

1. 自注意机制

之前介绍了自注意力机制,它是一种将输入序列中的每个位置与其他位置进行注意力计算的机制。

考虑对于一个序列
在这里插入图片描述
对其进行自注意力计算,得到三个Q,K,V,分别为矩阵
在这里插入图片描述

再通过QK^T计算注意力分数,得到注意力矩阵,然后对注意力矩阵进行softmax操作,得到注意力权重矩阵。再将注意力权重矩阵与V矩阵进行矩阵乘法,得到输出矩阵。

在这里插入图片描述

2. 稀疏注意力

稀疏注意力是指在自注意力计算中,只考虑序列中部分位置的注意力计算。例如,只考虑序列中每个位置的前k个位置的注意力计算。将原来的中间矩阵计算的时间复杂度从O(n^2)减少到O(kn),其中n为序列长度,k为考虑的位置数。

虽然在自注意单层只考虑前k个位置,但是通过多个层堆叠的方式,到更深层时,单个位置会借助之前的层辅助自己看到更多的位置。这个概念类似于卷积层中感受野的感念。

k=3距离
在这里插入图片描述

3. 多头注意力

多头注意力是指在自注意力计算中,使用多个头并行计算注意力,每个头计算的注意力矩阵不同。将多个头的输出拼接起来,得到最终的输出。

这样做的好处是,每个头可以关注不同的位置,从而捕捉到不同的特征。

这个示例给出4个头的情况,每个头的输出都是 [n, 256], 4个头的输出拼接起来就是 [n, 256*4] 刚好和输入的维度相同。

在这里插入图片描述

分组注意力

分组是指相同组Q矩阵的位置共享一组K,V,这样可以减少计算量。

示例可以给出2组的情况。

在这里插入图片描述

多查询注意力

分组到了极端,所有的Q矩阵的位置共享一组K,V,这样可以进一步减少计算量。

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

布鲁格若门

对你有用的话真是太好了

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

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

打赏作者

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

抵扣说明:

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

余额充值