Attention原理+向量内积+Transformer中的Scaled Dot-Product Attention

一、Attention原理

在这里插入图片描述

  将 S o u r c e Source Source中的构成元素想象成是由一系列的 < K e y , V a l u e > <Key,Value> <Key,Value>数据对构成,此时给定 T a r g e t Target Target中的某个元素 Q u e r y Query Query,通过计算 Q u e r y Query Query和各个 K e y Key Key的相似性或者相关性,得到每个 K e y Key Key对应 V a l u e Value Value的权重系数,然后对 V a l u e Value Value进行加权求和,即得到了最终的 A t t e n t i o n Attention Attention数值。所以本质上 A t t e n t i o n Attention Attention机制是对 S o u r c e Source Source中元素的 V a l u e Value Value值进行加权求和,而 Q u e r y Query Query K e y Key Key用来计算对应 V a l u e Value Value的权重系数。即可以将其本质思想改写为如下公式:

A t t e n t i o n ( Q u e r y , S o u r c e ) = ∑ i = 1 L x S i m i l a r i t y ( Q u e r y , K e y i ) ∗ V a l u e i Attention(Query,Source)=\sum_{i=1}^{L_{x}}Similarity(Query,Key_{i})*Value_{i} Attention(Query,Source)=i=1LxSimilarity(Query,Keyi)Valuei

二、向量内积

  向量内积又叫向量点乘,公式如下:

a ⃗ ⋅ c ⃗ = ∥ a ⃗ ∥ × ∥ c ⃗ ∥ × c o s θ \vec{a}\cdot \vec{c}=\parallel\vec{a}\parallel\times \parallel\vec{c}\parallel \times cos \theta a c =∥a ×c ×cosθ

在这里插入图片描述

  向量内积的求导公式如下:

∂ ( x ˉ ⋅ w ˉ ) ∂ w ˉ = x ˉ T \frac{\partial(\bar{x}\cdot \bar{w})}{\partial \bar{w}}=\bar{x}^{T} wˉ(xˉwˉ)=xˉT

三、Transformer中的Scaled Dot-Product Attention

  公式如下:

A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V)=softmax(\frac{QK^{T}}{\sqrt{d_{k}}})V Attention(Q,K,V)=softmax(dk QKT)V

  对一组key-value对和n个query,可以使用两次矩阵乘法,并行的计算里面的每个元素。

在这里插入图片描述

### Transformer 架构中的 Self-Attention 和 Connector-Attention #### 自注意力机制(Self-Attention) 自注意力机制允许模型在不同位置关注输入序列的不同部分,从而更好地捕捉上下文关系。具体来说,在Transformer架构中,每个token会生成三个向量:查询(Query)、键(Key)和值(Value)。这些向量用于计加权平均值来表示当前token与其他tokens之间的关联强度。 权重矩阵QK^T/√d_k决定了各个位置间的重要性程度,并通过softmax函数规范化得到最终的概率分布。此概率乘以V即为该位置的新特征表达[^1]。 ```python import torch.nn.functional as F def scaled_dot_product_attention(q, k, v): d_k = q.size(-1) scores = torch.matmul(q, k.transpose(-2, -1)) / (d_k ** 0.5) attn_weights = F.softmax(scores, dim=-1) output = torch.matmul(attn_weights, v) return output ``` #### 连接器注意力建模(Connector-Attention) 连接器注意力通常指的是跨模块或层之间传递信息的一种方法。不同于标准的自注意力仅限于同一层次内部的操作,这种类型的注意力可以促进更广泛的信息交流。例如,在某些复杂的神经网络设计里,较低级别的视觉特征可能被用来指导高级别的语义理解过程;反之亦然——高层次的概念也可以影响低级感知决策。 然而,“connector-attention”并不是像self-attention那样普遍接受的标准术语。上述描述更多是一种概念性的解释而非严格定义的技术细节。对于特定应用场景下的实现方式可能会有所不同,取决于具体的任务需求和技术背景[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晓shuo

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值