这样图解Transformer应该没人看不懂了吧——Transformer工作原理

发布时间:2026/8/27 17:58:16

这样图解Transformer应该没人看不懂了吧——Transformer工作原理
前言本文将深入剖析Transformer的内部工作原理详细研究其运作细节。我们将通过实际的矩阵表示和形状观察数据如何在系统中流动并理解每个阶段进行的计算。本文目标不仅是理解Transformer是如何工作的更要探究它为何如此工作。架构概览正如我们在第一部分中看到的Transformer架构的主要组件包括编码器和解码器的数据输入包括嵌入层位置编码层编码器堆栈由多个编码器组成每个编码器内部包含多头注意力层前馈神经网络层解码器堆栈则由多个解码器组成每个解码器内部包含两个多头注意力层前馈神经网络层输出右上角——生成最终输出包含线性层Softmax层为了理解每个组件的作用让我们以训练Transformer解决翻译问题为例来逐步了解它的工作原理。我们将使用训练数据中的一个样本该样本由输入序列英文“You are welcome”和目标序列西班牙文“De nada”组成。嵌入与位置编码与任何自然语言处理NLP模型一样Transformer需要了解每个单词的两方面信息——单词的含义及其在序列中的位置。嵌入层负责编码单词的含义。位置编码层负责表示单词在序列中的位置。Transformer通过将这两个编码相加来结合这两方面的信息。嵌入处理Transformer具有两个嵌入层输入序列被送入第一个嵌入层即输入嵌入层。目标序列在向右移动一个位置并在第一个位置插入一个开始标记后被送入第二个嵌入层。请注意在推理过程中我们没有目标序列而是将输出序列循环地送入这个第二层因此它被称为输出嵌入。文本序列通过词汇表被映射为数字形式的单词ID然后嵌入层将每个输入单词映射到一个嵌入向量中这个向量是该单词含义的更丰富表示。位置编码由于循环神经网络RNN通过顺序输入每个单词来实现循环因此它隐式地知道每个单词的位置。然而Transformer不使用RNN且序列中的所有单词都是并行输入的。这是它相对于RNN架构的主要优势但也意味着位置信息丢失了需要单独添加回来。与两个嵌入层类似也有两个位置编码层。位置编码是根据输入序列独立计算的。这些值是固定的仅取决于序列的最大长度。例如第一个元素是一个表示第一个位置的常量编码第二个元素是一个表示第二个位置的常量编码以此类推这些常量通过使用以下公式计算得出其中pos 是单词在序列中的位置d_model 是编码向量的长度与嵌入向量相同i 是该向量的索引值换句话说它通过正弦曲线和余弦曲线的交错来编码偶数索引使用正弦值奇数索引使用余弦值。例如如果我们编码一个40个单词的序列我们可以看到下面几个单词位置编码索引组合的编码值。蓝色曲线显示了所有40个单词位置的第0个索引的编码橙色曲线显示了所有40个单词位置的第1个索引的编码剩余的索引值也会有类似的曲线。矩阵维度我们知道深度学习模型一次处理一批训练样本。嵌入层和位置编码层在代表一批序列样本的矩阵上操作。嵌入层接受一个形状为样本数序列长度的单词ID矩阵将每个单词ID编码为一个长度等于嵌入大小的词向量从而生成一个形状为样本数序列长度嵌入大小的输出矩阵。位置编码使用与嵌入大小相等的编码大小因此它产生一个形状相似的矩阵该矩阵可以与嵌入矩阵相加。嵌入层和位置编码层产生的样本数序列长度嵌入大小形状在Transformer中一直保持不变直到数据流经编码器和解码器堆栈最后被最终输出层重新塑形。这给出了Transformer中3D矩阵维度的概念然而为了简化可视化从现在起我们将省略第一维对于样本并使用单个样本的2D表示。输入嵌入将其输出发送到编码器。类似地输出嵌入将其输出送入解码器。编码器编码器和解码器堆栈分别由几个通常是六个编码器和解码器顺序连接而成。堆栈中的第一个编码器从嵌入层和位置编码接收输入。堆栈中的其他编码器从前一个编码器接收输入。编码器将其输入传递给多头自注意力层。自注意力层的输出被传递到前馈神经网络层然后将其输出向上传递到下一个编码器。自注意力层和前馈神经网络子层都围绕它们有一个残差跳跃连接之后是层归一化。如下所述最后一个编码器的输出被送入解码器堆栈中的每个解码器。解码器解码器的结构与编码器非常相似但有一些不同。与编码器一样堆栈中的第一个解码器从输出嵌入和位置编码接收输入。堆栈中的其他解码器从前一个解码器接收输入。解码器将其输入传递给多头自注意力层。但这与编码器中的自注意力层工作方式略有不同。它只允许关注序列中较早的位置这是通过屏蔽未来位置来实现的稍后将详细介绍。与编码器不同解码器包含第二层多头注意力机制即编码器-解码器注意力层。编码器-解码器注意力层的工作原理类似于自注意力机制但其特殊之处在于它结合了两种输入源其下方的自注意力层输出以及编码器堆叠的输出。自注意力层的输出会传递给一个前馈神经网络层该层随后将其输出向上传递至下一个解码器。这三个子层——自注意力层、编码器-解码器注意力层以及前馈神经网络层——都围绕残差连接进行之后进行层归一化。注意力机制在第一部分中我们讨论了为什么在处理序列时注意力机制如此重要。在Transformer模型中注意力机制在三个地方被使用编码器的自注意力输入序列关注自身解码器的自注意力目标序列关注自身解码器的编码器-解码器注意力目标序列关注输入序列注意力层通过三个参数接收输入分别称为查询Query、键Key和值Value。在编码器的自注意力中编码器的输入被传递给这三个参数。在解码器的自注意力中解码器的输入同样被传递给这三个参数。在解码器的编码器-解码器注意力中编码器堆叠的最终输出被传递给值Value和键Key参数而其下方的自注意力及层归一化模块的输出被传递给查询Query参数。多头注意力Transformer将每个注意力处理单元称为一个注意力头并并行重复多次这称为多头注意力。它通过组合多个类似的注意力计算结果增强了注意力机制的区分能力。查询Query、键Key和值Value各自通过独立的线性层各层具有自己的权重传递产生三个结果分别称为Q、K、V。然后使用下面的注意力公式将这些结果组合起来生成注意力分数。重要的是要认识到Q、K、V值携带了序列中每个单词的编码表示。注意力计算随后将序列中的每个单词与其他单词相结合使得注意力分数为序列中的每个单词编码了一个分数。之前在讨论解码器时我们简要提到了掩码。掩码也显示在上面的注意力图中。让我们看看它是如何工作的。注意力掩码在计算注意力分数时注意力模块执行一个掩码步骤掩码有两个目的在编码器的自注意力和编码器-解码器注意力中掩码用于将输入句子中填充部分的注意力输出置为零以确保填充不参与自注意力计算。注意由于输入序列长度可能不同它们通常会被扩展为固定长度的向量以便输入到Transformer中同样地对于编码器-解码器注意力机制也是如此。在解码器的自注意力中掩码用于防止解码器在预测下一个单词时“偷看”目标句子的其余部分。解码器处理源序列中的单词并使用它们来预测目标序列中的单词。在训练期间这通过Teacher Forcing实现即将完整的目标序列作为解码器输入。因此在预测某个位置的单词时解码器可以使用该单词之前的目标单词以及该单词之后的目标单词。这允许解码器通过使用未来“时间步”中的目标单词来“作弊”。例如在预测“单词3”时解码器应仅参考目标中的前3个输入单词而不应参考第四个单词“Ketan”。因此解码器会屏蔽掉序列中后续出现的输入单词。在计算注意力分数时参考之前显示计算的图片掩码被应用于Softmax之前的分子部分。被屏蔽的元素白色方块被设置为负无穷大以便Softmax将这些值转换为零。生成输出堆叠中的最后一个解码器将其输出传递给输出组件该组件将其转换为最终输出句子。线性层将解码器向量投影为单词分数每个分数对应目标词汇表中每个唯一单词在句子中每个位置的出现概率。例如如果我们的最终输出句子有7个单词目标西班牙语词汇表有10000个唯一单词我们将为这7个单词中的每一个生成10000个分数值。分数值表示词汇表中每个单词在该句子位置出现的可能性。然后Softmax层将这些分数转换为概率这些概率加起来等于1.0。在每个位置我们找到概率最高的单词的索引然后将该索引映射到词汇表中对应的单词。这些单词随后形成Transformer的输出序列。训练与损失函数在训练期间我们使用如交叉熵损失这样的损失函数来比较生成的输出概率分布与目标序列。概率分布给出了词汇表中每个单词在该位置出现的概率。假设我们的目标词汇表仅包含四个单词我们的目标是生成一个与目标序列“De nada END”相匹配的概率分布。这意味着第一个单词位置的概率分布中“De”的概率为1而词汇表中其他所有单词的概率均为0。类似地“nada”和“END”应分别在第二个和第三个单词位置具有概率为1。通常我们使用损失来计算梯度以通过反向传播训练Transformer。结论希望这能让你对Transformer在训练过程中的内部工作机制有所了解。正如我们在上一篇文章中讨论的那样它在推理过程中会循环运行但大部分处理过程保持不变。最后的最后感谢你们的阅读和喜欢作为一位在一线互联网行业奋斗多年的老兵我深知在这个瞬息万变的技术领域中持续学习和进步的重要性。为了帮助更多热爱技术、渴望成长的朋友我特别整理了一份涵盖大模型领域的宝贵资料集。这些资料不仅是我多年积累的心血结晶也是我在行业一线实战经验的总结。这些学习资料不仅深入浅出而且非常实用让大家系统而高效地掌握AI大模型的各个知识点。如果你愿意花时间沉下心来学习相信它们一定能为你提供实质性的帮助。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】大模型知识脑图为了成为更好的 AI大模型 开发者这里为大家提供了总的路线图。它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。经典书籍阅读阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。面试资料我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

本地部署DeepSeek R1 + Ollama + XRAG:三步搭建RAG系统,并解锁全流自动化评测

本地部署DeepSeek R1 + Ollama + XRAG:三步搭建RAG系统,并解锁全流自动化评测

2026/8/27 17:58:16

引言 如何科学的评估RAG系统,对于RAG系统的性能优化至关重要。为此,本文提供了一个详细操作指南,帮助用户使用Ollama本地部署最新的DeepSeek R1模型,并使用最新的XRAG1.0框架来构建RAG系统并评估你的本地RAG知识库系统。 这一过程…

RustDesk部署到linux(自建服务器)

RustDesk部署到linux(自建服务器)

2026/8/27 17:58:16

简介 ‌RustDesk‌是一款开源的远程桌面软件,由中国开发者开发,使用Rust编程语言构建。它支持跨平台运行,可以在Windows、macOS、Linux、iOS、Android和Web等多个平台上使用。RustDesk的主要功能包括远程桌面访问、文件传输、文本聊天等&…

程序员必藏:LLM无法逾越的五大理论天花板,为何“大力出奇迹“已到尽头?

程序员必藏:LLM无法逾越的五大理论天花板,为何“大力出奇迹“已到尽头?

2026/8/27 17:48:16

前言 “大力出奇迹”——这似乎已成为AI领域的黄金法则。从GPT-1的1.17亿参数到GPT-4的万亿级别,模型规模的指数级增长带来了惊人的能力涌现。我们似乎相信,只要数据够多、参数够大,一切问题都能被“暴力”解决。 然而,一篇由谷…

“入职一年,那个被高薪挖来的Android开发被劝退了。”

“入职一年,那个被高薪挖来的Android开发被劝退了。”

2026/8/27 18:58:18

其实,在很多小伙伴的想法中,是希望通过跳槽实现薪酬涨幅,可是跳槽不是冲动后决定,应该谨慎啊~ 01 我的学弟,最近向我吐槽,2020 年上半年入职一家公司,当时是高薪挖走的他,所谓钱到位…

谷歌开源:Android中高级工程师进阶手册,首发

谷歌开源:Android中高级工程师进阶手册,首发

2026/8/27 18:58:18

前言我希望我做一件事,是把大家带到最底层,最下面的一个地方,就像我们游泳一样,我带你到海洋最深处的一个地方,那里面有很多的宝藏。2022年是我做Android开发的第8年了,随着工作的不断深入,我越…

Android面试遇到水货面试官,怎么办?

Android面试遇到水货面试官,怎么办?

2026/8/27 18:58:18

一、剖析水货面试官 水货面试官 面试的时候,有很多人都会有个心理预期:面试我的人一定很厉害,很牛。 其实,现实不是这样的。 水货面试官的产生 公司中的技术人员配比,都是按比例的。比如人员配比是1:2&…

无意中看到自己带的新员工工资比自己多9K,准备辞职了,就Android开发倒挂这么严重吗?

无意中看到自己带的新员工工资比自己多9K,准备辞职了,就Android开发倒挂这么严重吗?

2026/8/27 18:58:18

乘兴裸辞心甚爽,面试工作屡遭难。 幸得大厂原题伴,点击关注莫偷懒。 最近网上有篇热帖引发了互联网圈内码农们的共鸣:随着2022届高校毕业生春招开启,职场新人接连入厂。大多数码农们也愈发感叹这种被新人薪资倒挂的现象是越来越严…

结构体知识

结构体知识

2026/8/27 18:58:18

1.结构体的定义&#xff1a;不同值的集合&#xff0c;这些值叫做成员变量。成员变量的也可以是不同类型&#xff0c;数组&#xff0c;指针&#xff0c;例age,sex,idear等等 2.结构体变量的定义 #include<stdio.h> struct Stu { char name[9]; int age[4]; char sex[5];…

Python进阶教程:17_statistics 模块 —— 新手完全指南

Python进阶教程:17_statistics 模块 —— 新手完全指南

2026/8/27 18:48:18

statistics 是 Python 3.4 版本开始加入的内置标准库&#xff0c;专门用来做基础的统计计算&#xff0c;不需要额外安装&#xff0c;导入就能用。它封装了我们日常最常用的统计量&#xff08;均值、中位数、众数、方差、标准差等&#xff09;&#xff0c;不用自己写循环、写公式…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

2026/8/27 0:07:12

1. 项目概述&#xff1a;从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级&#xff0c;他们原来的业务里&#xff0c;每天有几十万张图片和短视频需要过审&#xff0c;最初是接了几个开源的AI模型自己部署&#xff0c;但效果和性能一直不太稳定。后…

LeetCode Hot100(51-60)算法精解与面试技巧

LeetCode Hot100(51-60)算法精解与面试技巧

2026/8/27 0:07:12

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中&#xff0c;类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手&#xff0c;我理解这类题目的核心价值在于&#xff…

CRC校验实战:从模2除法到HJ212协议排错

CRC校验实战:从模2除法到HJ212协议排错

2026/8/27 0:07:12

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption&#xff1f; 你有没有遇到过这样的场景&#xff1a;嵌入式设备通过RS-485上传温湿度数据&#xff0c;上位机偶尔收到一帧乱码——温度显示成-273℃&#xff0c;湿度跳到999%&#xff0c;但串口波形看起来完全正常&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具&#xff0c;覆盖选题构思、文献整理、内容生成、格式排版等核心场景&#xff0c;真正帮你高效搞定论文难题。 一、全流程王者&#xff1a;一站式搞定论文全链路&#xff08;一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/26 18:07:30

2026年真正好用的AI论文工具&#xff0c;核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/26 17:57:52

告别游戏崩溃&#xff1a;XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…