注意力机制(attention)和自注意力机制(self-attention)

文章详细解读注意力机制及其在Transformer中的应用,包括自注意力机制和多头注意力,适合深度学习和自然语言处理读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考了b站博主蘅芜仙菌的视频以及文章Transformer:注意力机制(attention)和自注意力机制(self-attention)的学习总结

如有侵权,联系删除。

        注意力机制其实是源自于人对于外部信息的处理能力。由于人每一时刻接受的信息都是无比的庞大且复杂,远远超过人脑的处理能力,因此人在处理信息的时候,会将注意力放在需要关注的信息上,对于其他无关的外部信息进行过滤,这种处理方式被称为注意力机制。

        针对于注意力机制的引起方式,可以分为两类,一种是非自主提示,另一种是自主提示。其中非自主提示指的是由于物体本身的特征十分突出引起的注意力倾向,自主提示指的是经过先验知识的介入下,对具有先验权重的物体引起的注意力倾向。换句话说,可以理解为非自主提示源自于物体本身,而自主提示源自于一种主观倾向。

一、注意力机制

Self-Attention是个啥,自己注意自己?QKV又是什么?为什么它们要叫query、key、value,它们有啥关系?

        先来看一个问题,假设我们现在有一个键值对(Python字典),如下图所示。现在我给出一个人的腰围为57,想要预测其体重。自然地,我们推断其体重在43~48之间,但是我们还需要定量计算体重预测值,由于57到56、58的距离一样,所以一种方法是取它们对应体重的平均值。

         因为57距离56、58最近,我们自然会非常“注意”它们,所以我们分给它们的注意力权重各为0.5,不过我们没有用上其他的(Key,Value),似乎我们应该调整一下注意力权重,但权重如何计算?

假设用 \alpha (q,k_{i}) 来表示 q 与 k 对应的注意力权重,则体重预测值 f(q) 为:

f(q)=\alpha (q,k_{1})v_{1}+\alpha (q,k_{2})v_{2}+\alpha (q,k_{3})v_{3}=\sum_{i=1}^{3}\: \alpha (q,k_{i})v_{i}

\alpha是任意能刻画相关性的函数,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值