首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >论文阅读1,"Attention Is All You Need",一文搞懂transformer架构中“自注意力”集中机制

论文阅读1,"Attention Is All You Need",一文搞懂transformer架构中“自注意力”集中机制

作者头像
用户8465142
发布2025-10-29 17:39:21
发布2025-10-29 17:39:21
3880
举报

作者介绍:崔鹏,计算机学博士,专注 AI 与大数据管理领域研究,拥有十五年数据库、操作系统及存储领域实战经验,兼具 ORACLE OCM、MySQL OCP 等国际权威认证,PostgreSQL ACE,运营技术公众号 "CP 的 PostgreSQL 厨房",学术层面,已在AI方向发表2篇SCI论文,将理论研究与工程实践深度结合,形成独特的技术研发视角。

Attention Is All You Need 论文总结

《Attention Is All You Need》论文由Google团队于2017年发表于NeurIPS,首次提出完全基于注意力机制的序列转换模型Transformer,彻底摒弃传统序列模型依赖的循环神经网络(RNN)与卷积神经网络(CNN),成为后续大语言模型的技术基石。 传统序列模型存在串行计算效率低、长距离依赖难捕捉的局限,即便注意力机制此前用于增强模型,仍需依托循环结构。Transformer以“编码器-解码器”为框架,编码器含6层相同结构,每层由多头自注意力与位置wise前馈网络构成,辅以残差连接与层归一化;解码器额外添加掩码多头自注意力(防止“偷看”未来token)和编码器-解码器注意力(关联输入与输出)。为弥补无循环/卷积导致的序列顺序缺失,模型采用正弦余弦函数生成位置编码,可外推至更长序列;多头注意力通过并行计算多组缩放点积注意力,捕捉不同子空间依赖。 实验中,Transformer在WMT 2014英德翻译任务获28.4 BLEU,超传统最优模型2+ BLEU;英法翻译达41.8 BLEU,训练成本不足传统模型1/4。其泛化能力显著,应用于英语句法分析时,仅用WSJ数据F1达91.3,半监督设置下达92.7。注意力可视化还证明模型可捕捉长距离依赖与指代消解,具备可解释性。 该论文确立了注意力机制在NLP的核心地位,为BERT、GPT等模型奠定基础,大幅提升训练效率,推动NLP进入大模型时代。

一文搞懂Transformer架构中的核心“自注意力”集中机制

注意力机制:让每个元素主动筛选相关内容

我们可以把 Attention(注意力机制) 想象成「找朋友时,主动关注和自己最相关的人 / 事」的过程,用生活例子拆解每一步:

1. 把文字变成 “机器能懂的语言”(Embedding)

比如处理句子:“我喜欢吃苹果和香蕉。”

每个词(我、喜欢、吃、苹果、香蕉)会被转换成向量(一串数字,类似 “暗号”),让计算机能 “理解” 词的含义。

类比:把 “苹果”“香蕉” 这些汉字,翻译成机器能懂的 “数字暗号”。

2. 每个词的 “角色分工”(Queries、Keys、Values)

把每个词想象成 “人”,每个 “人” 要完成三件事:

Queries(Q,查询者):主动去 “问” 其他词,找和自己相关的内容。比如 “苹果” 当 Q,就是 “我要找和我相关的词!”

Keys(K,钥匙 / 标识):其他词的 “身份标签”。比如 “香蕉” 的 K 是 “水果 / 和苹果同类”,“我” 的 K 是 “说话者 / 和苹果关系远”。

Values(V,值 / 具体信息):每个词的 “核心信息”。比如 “苹果” 的 V 是 “[红色、甜、水果]”,“香蕉” 的 V 是 “[黄色、糯、水果]”。

3. 计算 “相关性得分”(每个 Q 和每个 K 算分)

“查询者”(如 “苹果” 的 Q)要和所有词的 K “配对”,算彼此的 “匹配度”。

比如 “苹果” 的 Q 和 “香蕉” 的 K 匹配度高(都是水果,关系近),得分就高。

“苹果” 的 Q 和 “我” 的 K 匹配度低(一个是水果,一个是说话者,关系远),得分就低。

4. 给得分 “降温”(Divide by √d)–为了防止有的得分特别高、有的特别低,导致后续 “关注重心” 过于极端,要给所有得分除以一个数。

类比:考试分数有的考 100,有的考 10,除以 10 后变成 10 和 1,差距没那么极端,更易比较。

5. 把得分变成 “注意力占比”(Softmax)

Softmax 会把所有得分变成0~1 之间的数,且总和为 1,这样就得到 “每个词被关注的比例”。

比如 “苹果” 查询后,“香蕉” 的得分经过 Softmax 变成 0.88(说明 “苹果” 要重点关注 “香蕉”),“我” 的得分变成 0.12(关注很少)。

类比:班级投票选 “最相关的词”,“香蕉” 得了 88 票,“我” 得了 12 票,总票数 100,所以 “香蕉” 的 “注意力权重” 是 88%。

6. 加权获取最终信息(Softmax × Value + 求和)

每个词的 V(核心信息)乘以对应的 “注意力权重”,再把所有结果加起来,就是这个词的最终表示-。

比如 “苹果” 的最终表示 = (“香蕉” 的 V × 0.88) + (“我” 的 V × 0.12) + … 这样 “苹果” 的含义就融合了 “香蕉” 的重点信息。

整体效果:每个词能 “看到全局重点”

比如句子 *“我喜欢吃苹果和香蕉”*,“苹果” 不仅能 “看到自己”,还能通过注意力机制,重点关

注 “香蕉”(因为都是水果,关系近),同时也会轻微关注 “吃”“喜欢”。这样每个词的含义都融合了 “整个句子的重点”,而不是只看前面的词(比如传统模型 “断章取义”,Attention 能 “全局抓重点”)。

再举个生活例子:「课堂记笔记」

Input:老师讲:“苹果生长需要阳光,苹果是水果,和香蕉同类,香蕉更甜…”

Embedding:把 “苹果”→符号 A,“香蕉”→符号 B,“阳光”→符号 C。

Queries(Q):“苹果” 的 Q 是 “找和我相关的内容!”

Keys(K):“香蕉” 的 K 是 “水果 / 同类”,“阳光” 的 K 是 “种植 / 需要”。

得分 + Softmax:“苹果” 和 “香蕉” 的 K 匹配度高,权重 0.9;和 “阳光” 的 K 匹配度低,权重 0.1。

最终表示:“苹果” 的笔记 = (“香蕉” 的笔记 ×0.9) + (“阳光” 的笔记 ×0.1),这样记的笔记既包含 “苹果自己的生长”,又重点包含 “香蕉(同类)” 的信息。

简单来说,Attention 就是让每个元素(词)主动筛选全局中与自己最相关的内容,融合成更全面的含义,就像你听别人说话时,会自动聚焦 “关键词” 一样~

我们可以把Attention(注意力机制)想象成「找朋友时,主动关注和自己最相关的人 / 事」的过程 ,用生活例子拆解每一步: 1.把文字变成 “机器能懂的语言”(Embedding) 比如处理句子:“我喜欢吃苹果和香蕉。” 每个词(我、喜欢、吃、苹果、香蕉)会被转换成向量(一串数字,类似 “暗号”),让计算机能 “ 理解” 词的含义。 →类比:把 “苹果”“香蕉” 这些汉字,翻译成机器能懂的 “数字暗号”。 2.每个词的 “角色分工”(Queries、Keys、Values) 把每个词想象成 “人”,每个 “人” 要完成三件事: ◦Queries(Q,查询者):主动去 “问” 其他词,找和自己相关的内容。比如 “苹果” 当Q,就是 “ 我要找和我相关的词!” ◦Keys(K,钥匙 / 标识):其他词的 “身份标签”。比如 “香蕉” 的K是 “水果 / 和苹果同类”,“ 我” 的K是 “说话者 / 和苹果关系远”。 ◦Values(V,值 / 具体信息):每个词的 “核心信息”。比如 “苹果” 的V是 “[红色、甜、水果]” ,“香蕉” 的V是 “[黄色、糯、水果]”。 3.计算 “相关性得分”(每个Q和每个K算分) “查询者”(如 “苹果” 的Q)要和所有词的K “配对”,算彼此的 “匹配度”。 ◦比如 “苹果” 的Q和 “香蕉” 的K匹配度高(都是水果,关系近),得分就高(如图中q₁·k₁=112) 。 ◦“苹果” 的Q和 “我” 的K匹配度低(一个是水果,一个是说话者,关系远),得分就低(如图中q ₁·k₂=96,比 112 低)。 4.给得分 “降温”(Divide by √d–)

为了防止有的得分特别高、有的特别低,导致后续 “关注重心” 过于极端,要给所有得分除以一个数 (如图中除以 8)。 →类比:考试分数有的考 100,有的考 10,除以 10 后变成 10 和 1,差距没那么极端,更易比较。 5.把得分变成 “注意力占比”(Softmax) Softmax会把所有得分变成0~1 之间的数,且总和为 1,这样就得到 “每个词被关注的比例”。 比如 “苹果” 查询后,“香蕉” 的得分经过Softmax变成 0.88(说明 “苹果” 要重点关注 “香蕉” ),“我” 的得分变成 0.12(关注很少)。 →类比:班级投票选 “最相关的词”,“香蕉” 得了 88 票,“我” 得了 12 票,总票数 100,所以 “ 香蕉” 的 “注意力权重” 是 88%。 6.加权获取最终信息(Softmax × Value +求和) 每个词的V(核心信息)乘以对应的 “注意力权重”,再把所有结果加起来,就是这个词的最终表示- 。 比如 “苹果” 的最终表示 = (“香蕉” 的V × 0.88) + (“我” 的V × 0.12) + …这样 “苹果” 的 含义就融合了 “香蕉” 的重点信息。 整体效果:每个词能 “看到全局重点” 比如句子 *“我喜欢吃苹果和香蕉”*,“苹果” 不仅能 “看到自己”,还能通过注意力机制,重点关 注 “香蕉”(因为都是水果,关系近),同时也会轻微关注 “吃”“喜欢”。这样每个词的含义都融 合了 “整个句子的重点”,而不是只看前面的词(比如传统模型 “断章取义”,Attention能 “全局 抓重点”)。 再举个生活例子:「课堂记笔记」 ◦Input:老师讲:“苹果生长需要阳光,苹果是水果,和香蕉同类,香蕉更甜…” ◦Embedding:把 “苹果”→符号A,“香蕉”→符号B,“阳光”→符号C。 ◦Queries(Q):“苹果” 的Q是 “找和我相关的内容!” ◦Keys(K):“香蕉” 的K是 “水果 / 同类”,“阳光” 的K是 “种植 / 需要”。 ◦

得分 +Softmax:“苹果” 和 “香蕉” 的K匹配度高,权重 0.9;和 “阳光” 的K匹配度低,权重 0 .1。 ◦最终表示:“苹果” 的笔记 = (“香蕉” 的笔记 ×0.9) + (“阳光” 的笔记 ×0.1),这样记的笔记 既包含 “苹果自己的生长”,又重点包含 “香蕉(同类)” 的信息。 简单来说,Attention就是让每个元素(词)主动筛选全局中与自己最相关的内容,融合成更全面的含 义,就像你听别人说话时,会自动聚焦 “关键词” 一样~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CP的postgresql厨房 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档