Transformer的核心——注意力机制
本文是作者本人学习深度学习的理解如有错误劳烦指出让我改正文章目录前言一、注意力机制的动机三个直观例子1. 一词多义三个 mole2.精细化修饰从 Tower 到 Miniature Eiffel Tower每一步周围的词都在拉扯这个向量的含义。3.长距离信息传递Transformer 的最终预测完全基于序列最后一个向量。它必须通过层层注意力把整个上下文窗口中所有相关信息都编码进来。二、单头注意力一步步拆解1.Query查询—— 提出问题2. Key键—— 回应查询3.点积 Softmax → 注意力模式4.Masking掩码—— 不能偷看未来这就是因果掩码Causal Masking——信息只能从前往后流动。5.Value值—— 实际传递的信息6.加权求和 → 更新嵌入三、多头注意力多个视角并行1.为什么需要多个头上下文影响含义的方式远不止一种2.多头配置(以GPT3.0为例)总结前言为什么同一个词 “mole”在 “鼹鼠”、“摩尔”、“痣” 三种语境下模型能自动区分答案就藏在注意力机制里。一、注意力机制的动机三个直观例子1. 一词多义三个 “mole”“American shrew mole” → 一种鼹鼠“One mole of carbon dioxide” → 摩尔化学计量单位“Take a biopsy of the mole” → 痣医学用语2.精细化修饰从 “Tower” 到 “Miniature Eiffel Tower”初始 “Tower” → 指向高大建筑物方向前面出现 “Eiffel” → 注意力将向量推向巴黎、钢铁、法国方向再前面出现 “miniature” → 进一步推离高大靠向微缩模型每一步周围的词都在拉扯这个向量的含义。3.长距离信息传递想象你给模型输入整本侦探小说最后一句话是 “Therefore the murderer was ____”。那个空白位置的向量必须跨越几十页的上下文从前面所有人名中回忆起谁是凶手。Transformer 的最终预测完全基于序列最后一个向量。它必须通过层层注意力把整个上下文窗口中所有相关信息都编码进来。二、单头注意力一步步拆解以 “A fluffy blue creature roamed the verdant forest.” 为例。假设我们追踪形容词如何更新名词 “creature” 的含义。注意力机制的核心流程分五步每个 token 的嵌入↓① 生成 Query查询向量—— “我在找什么”② 生成 Key 键向量 —— “我能提供什么”③ Q·K 点积 Softmax → 注意力模式④ 生成 Value值向量 —— “如果被选中传递什么信息”⑤ Value 加权求和 → ΔE → 加到原嵌入1.Query查询—— 提出问题每个 token 的嵌入向量 E 与一个可训练的查询矩阵 Wᴏ 相乘得到查询向量 Q名词 “creature” 的 Q 向量像是在问 —— 我前面有形容词吗2. Key键—— 回应查询同样每个 token 通过键矩阵 Wᴋ 产生键向量 K键向量和查询向量处于同一个低维空间。直觉上形容词 “fluffy” 的 K 向量像是在回应 —— “是的我是形容词我在前面”3.点积 Softmax → 注意力模式计算所有查询向量与所有键向量的点积dot product得到一个 n × n 的网格。点积衡量两个向量的对齐程度——值越大表示这个词与那个词越相关。然后对网格逐列做 SoftmaxSoftmax 将每列变成合法的概率分布0~1列和为 1。除以查询空间维度的平方根是为了数值稳定性——防止点积值太大导致 Softmax 输出过于极端梯度消失。这个归一化后的网格就是注意力模式Attention Pattern——它告诉我们每个词应该从其他词那里听多少。4.Masking掩码—— 不能偷看未来训练时有一个巧妙的设计对每个位置模型同时预测下一个 token。比如输入 “A fluffy blue creature roamed…”位置 1 预测位置 2位置 1~2 预测位置 3位置 1~3 预测位置 4…一把前向传播同时训练所有位置——效率极高。但有个问题后面的 token 不能影响前面的 token否则等于看了答案再答题。做法很简单——在 Softmax 之前把注意力网格的上三角区域全部设为 负无穷这列依然归一化。这就是因果掩码Causal Masking——信息只能从前往后流动。5.Value值—— 实际传递的信息有了谁关注谁的权重网格后还需要真正的内容来更新嵌入。通过值矩阵 Wᴠ 产生值向量 V值向量与嵌入向量同维因为它要直接加到嵌入上。直觉理解值向量回答了 —— “如果我被选中去更新其他词我应该往它的嵌入里加什么”6.加权求和 → 更新嵌入用注意力权重对值向量加权求和得到变化量 ΔE最后加到原始嵌入上“creature” 的新嵌入向量就从泛化含义变成了包含 “fluffy” 和 “blue” 形容词信息的精炼含义。三、多头注意力多个视角并行1.为什么需要多个头上下文影响含义的方式远不止一种模式例子形容词 → 名词“fluffy creature”语法结构暗示“they crashed the car”跨句关联“Harry” 前面提到 “wizard” → Harry Potter复杂语义推理“Queen, Sussex, William” “Harry” → Prince Harry一个注意力头只能学一种模式。所以要多头并行。2.多头配置(以GPT3.0为例)GPT-3 每个注意力块有 96 个头每个头有独立的Wᴏ查询矩阵Wᴋ键矩阵V↓ V↑值矩阵对所有 96 个头各自独立计算产生 96 份 ΔE 提案最后全部加总。总结本文主要是讲解Transformer的核心机制注意力机制这只是粗略的讲解具体的实现以及公式在文章内未提及可以去翻阅资料查询对应的公式和实现代码等。

相关新闻

基于 Spring Boot + Hyperledger Fabric 的数字版权交易与链上存证系统

基于 Spring Boot + Hyperledger Fabric 的数字版权交易与链上存证系统

项建议标题基于 Spring Boot Hyperledger Fabric 的数字版权交易与链上存证系统标签Spring Boot, Vue3, Hyperledger Fabric, 区块链存证, 数字版权, 毕业设计类型原创分类后端 / 区块链源码https://gitee.com/song-ri/digital-copyright-trading 正文本文介绍一个完整的数字版…

2026/7/5 13:27:28阅读更多 →
AI 编译缓存:命中同一张图之前,先确认输入形状稳定

AI 编译缓存:命中同一张图之前,先确认输入形状稳定

AI 编译缓存:命中同一张图之前,先确认输入形状稳定 一、编译缓存能省时间,也能缓存错误假设 AI 编译器会把计算图优化成更适合目标硬件的执行计划。编译过程昂贵,所以服务端常加编译缓存。相同模型、相同图、相同形状直接复用 pla…

2026/7/5 13:27:28阅读更多 →
crew ai — Build. Deploy. Manage. Enterprise Agents 一个全面的 AI Agent 与 管理平台

crew ai — Build. Deploy. Manage. Enterprise Agents 一个全面的 AI Agent 与 管理平台

CrewAI 的核心概念就三个:Agent(角色)、Crew(团队)、Task(任务)——定义几个有专长的 AI 角色,组成团队,分配任务,像同事一样协作。技术上独立于 LangChain 从…

2026/7/5 13:27:28阅读更多 →
把 TeXstudio / LaTeX 工程交给 AI:texstudio-mcp 功能详解

把 TeXstudio / LaTeX 工程交给 AI:texstudio-mcp 功能详解

.tex、跑编译、看日志,而不是只会泛泛而谈,那么需要一个专门面向 LaTeX 工作流的 MCP 服务。texstudio-mcp 就是这样一层桥:它在你的工程目录(workspace_root)里安全地读写文件,按需调用本机已安装的 TeX 工…

2026/7/5 14:27:33阅读更多 →
只看 inline 关键字,如何准确判别代码属于 C 还是 C++ 语义?

只看 inline 关键字,如何准确判别代码属于 C 还是 C++ 语义?

一、 源码中 inline 关键字的排查 对项目仓库中所有 .c / .h / .cpp / .hpp 文件中的 inline 关键字进行了全面的审计与排查, 1、 核心结论 结论:确认代码库中所有的 inline 均属于标准 C 的 inline 关键字语义,未发现异常或误用的情况。统计…

2026/7/5 14:27:33阅读更多 →
FFmpeg移动端硬解机制

FFmpeg移动端硬解机制

一文看懂 FFmpeg 在 Android 和 iOS 上的硬件解码:MediaCodec、VideoToolbox 与 AVHWAccel FFmpeg 的硬解不是一个“开关”,而是一套把各平台系统解码器接进 AVPacket → AVFrame 通用流水线的抽象层。 做移动端播放器、剪辑器或转码工具时,迟…

2026/7/5 14:27:33阅读更多 →
OpCore-Simplify:让PC硬件说macOS语言的智能翻译器

OpCore-Simplify:让PC硬件说macOS语言的智能翻译器

OpCore-Simplify:让PC硬件说macOS语言的智能翻译器 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾想过,为什么在PC上…

2026/7/5 14:27:33阅读更多 →
Kafka 消息重试设计:别让失败消息原地打转

Kafka 消息重试设计:别让失败消息原地打转

Kafka 消息重试设计:别让失败消息原地打转 一、重试不是直接再消费一次 Kafka 常用于微服务解耦。消费失败时,很多代码会直接抛异常,让消息再次被消费。这样简单,但如果下游一直不可用或消息本身有问题,就会原地打转&a…

2026/7/5 14:27:33阅读更多 →
ROS集成开发环境

ROS集成开发环境

1.TER快捷键2.VS code 安装首先 在网站下载VS code,Linux最好用.deb格式下载好以后,直接拖到linux的文件夹中在这个文件夹打开终端sudo dpkg -i x.debx.deb是你的安装包名卸载代码code的代码:sudo dpkg --purge code插件里面ros现在使用robot…

2026/7/5 14:22:33阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/5 0:01:08阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/5 0:01:08阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/5 0:01:08阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/5 0:01:08阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/5 0:01:08阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/5 0:01:08阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/5 1:30:27阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/5 3:48:10阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/5 3:48:09阅读更多 →