深度学习|表示学习|self-attention就是在开会!|30

如是我闻: 自注意力机制是 Transformer 的核心操作。下面我们就按四步走来梳理一下,建立一条从输入到输出的「注意力路径」。并用一个形象的例子,说说它到底是怎么回事!


✅ Step 1: 生成 Q, K, V 向量

请添加图片描述

📌 公式:
q i = x i W Q , k i = x i W K , v i = x i W V q_i = x_i W_Q,\quad k_i = x_i W_K,\quad v_i = x_i W_V qi=xiWQ,ki=xiWK,vi=xiWV

📖 意义:

  • 每个输入 token x i x_i xi 通过三个不同的投影矩阵生成:
    • q(query):我要问的问题
    • k(key):别人描述自己
    • v(value):别人携带的信息

Q、K 是用来打分的,V 是用来加权求和的。


✅ Step 2: 计算 attention 相关性打分(scores)

请添加图片描述

📌 公式:
e i j = q i ⋅ k j T d m e_{ij} = \frac{q_i \cdot k_j^T}{\sqrt{d_m}} eij=dm qikjT

📖 意义:

  • i i i 个词问:我对第 j j j 个词有多感兴趣?
  • 用 query–key 的 dot-product 来衡量「相关性」
  • 除以 d m \sqrt{d_m} dm 是为了 数值稳定性

Query 对所有 key 逐一 dot product 得到 score 向量。


✅ Step 3: 用 softmax 得到 attention 权重(归一化)

请添加图片描述

📌 公式:

α i j = exp ⁡ ( e i j ) ∑ l = 1 T exp ⁡ ( e i l ) \alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{l=1}^{T} \exp(e_{il})} αij=l=1Texp(eil)exp(eij)

📖 意义:

  • 把打分变成概率(加权系数)
  • 总和为 1,是一个在所有词上的 注意力分布

这就是“注意力”的本质 —— 对别人的关注程度


✅ Step 4: 加权求和 value 得到输出(context vector)

请添加图片描述

📌 公式:
z i = ( ∑ j = 1 T α i j v j ) W F z_i = \left( \sum_{j=1}^{T} \alpha_{ij} v_j \right) W_F zi=(j=1Tαijvj)WF

📖 意义:

  • 每个词根据 attention 权重对所有 v j v_j vj 做加权求和
  • 得到当前词的上下文表示 z i z_i zi
  • 通常还会再加一层线性变换 W F W_F WF

Self-Attention 输出的就是这一串 z i z_i zi,每个都是融合上下文的信息向量

图中:箭头从所有 value 指向一个点,表示加权聚合。


🔚 总结这一流程像什么?

就像你在一个会议上,听着所有人的发言(value),你会根据每个人说话的重要性(attention 权重)决定该吸收谁的信息来丰富自己的观点(context vector)。


🏃🏻扩展

有小伙伴可能要问了学 Self-Attention 到第三步觉得“已经有 attention 权重了”,为什么还要第四步?

我们来用一句话先回答,再展开解释:

第三步只是“知道我关注谁”,第四步才是“我到底拿到了什么信息”。


🎯 为什么 Step 3 不够?

Step 3 得到的是:
α i j = 我(token  i )对 token  j  的注意力程度 \alpha_{ij} = \text{我(token }i\text{)对 token }j\text{ 的注意力程度} αij=我(token i)对 token j 的注意力程度

但这只是“关注了谁”,还没有任何内容信息被拿过来


🧠 第四步做了什么?

它说:

“既然我决定了关注哪些人,那我就把他们的 Value 信息,按照注意力权重加权过来当我的表示。”

公式:
z i = ∑ j α i j v j z_i = \sum_{j} \alpha_{ij} v_j zi=jαijvj

所以:

  • 不是只“看”,要“听他说了什么”,听完之后把重点抄到自己的本子上(那就是 z i z_i zi

✅ 没有第四步会怎样?

  • 只知道自己该关注谁,但输出仍然是空的,模型没法往下走
  • 没有上下文感知的表示,整个 Transformer 就断链了
  • 后续的 FeedForward、Residual、LayerNorm 等都失去了输入

✨ 比喻

你站在教室里(token ( i )),你决定:

  • 对 Alice(token 3)关注 50%
  • 对 Bob(token 5)关注 30%
  • 对 Carol(token 2)关注 20%

这只是你第三步的结果(你知道听谁)。

但你最后要写一段 summary(表示),一定是把这些人说的话加权总结起来。那一步就是第四步。


非常的有品

以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值