第 27 篇 · 深度学习架构

注意力机制详解——让模型学会「关注重点」

人类在看东西时,不会平等地处理每个像素。你会自然地把目光聚焦在关键信息上——看照片时你会先看人脸,读文章时你会重点看关键词。

注意力机制就是让AI学会这种能力:自动找到并聚焦最重要的信息

它是Transformer的核心,也是GPT、BERT等大模型的灵魂。

1
Q、K、V:注意力三剑客

注意力机制的三个核心概念:

Q/K/V的工作流程

Q (Query)

「我想找什么」

K (Key)

「我能提供什么」

计算匹配度

注意力权重

V (Value)

「我的内容」

加权求和

最终输出

🎯
直觉理解:Q是问题,K是书名,V是书的内容。你根据问题和书名的匹配度,决定读哪本书。
自注意力

2
自注意力:序列内部的交互

自注意力是Transformer的核心。序列中的每个元素都生成自己的Q、K、V,然后与其他所有元素进行注意力计算。

自注意力的交互

词1

的Q会与词1、词2、词3...的K计算

词2

的Q也会与所有词的K计算

...

结果:注意力矩阵

每个词都会得到一个包含整个序列上下文的表示

类比理解:就像开会讨论一个问题。每个人都会发言(Q),也会听其他人发言(K),最后根据所有人的发言(V)形成一个综合理解。

3
多头注意力:从多个角度看问题

单个注意力头可能只能捕捉一种关系。多头注意力用多个注意力头,从不同的角度同时处理信息。

多头注意力
输入

1

关注不同关系

2

关注不同关系

3

关注不同关系

4

关注不同关系

拼接 + 线性变换

融合多头信息

📚 例子

句子:「小明在公园里和小红玩。」

头1可能关注「小明」和「小红」(主语关系),头2可能关注「公园」(地点关系),头3可能关注「玩」(动作关系)。

4
位置编码:保持序列顺序

Transformer抛弃了RNN的循环结构,但这样就丢失了位置信息(因为自注意力对词序不敏感)。位置编码就是给每个词加上位置信息。

绝对位置编码

给每个位置一个固定的编码

词1的编码 + 词1的内容,词2的编码 + 词2的内容...

相对位置编码

编码词之间的相对距离

「词2」比「词1」晚一个位置,「词3」比「词1」晚两个位置

总结

🎓 一句话总结

  • Q/K/V = 查询/键/值,计算注意力权重,加权求和得到输出
  • 自注意力 = 序列中每个元素与其他所有元素交互,捕获长距离依赖
  • 多头注意力 = 多个注意力头从不同角度同时处理信息
  • 位置编码 = 保持序列顺序信息,因为自注意力对词序不敏感

下篇预告

第28篇:BERT vs GPT——预训练模型的两个流派

BERT和GPT都基于Transformer,但走向了不同的方向。BERT用编码器理解文本,GPT用解码器生成文本。它们分别代表了NLP的「理解」和「生成」两大流派。下一篇,我们来对比这两个重量级模型。

✏️ 手绘图解 · AI Catch 出品

第 27 篇 / 深度学习架构篇