Transformer 到底在算什么?用矩阵视角看透 AI 的“思考”过程,一文讲清!
你可能还有一个疑问不是说多头注意力机制吗?为什么上述只讲的是单头注意力机制?其实很简单,当我们已经充分认识单头注意力机制了,对于多头注意力机制就很好理解了。我们之前知道对于一个16×512维的矩阵,每个词有一个512维的特征向量,用一组qkv来学习会不会产生学习不充分的问题,这组QKV可能对于前128维的特征向量作用更好,对后面的特征不好。这就提出了多头注意力机制,通过多个视角来观察特征。比如我们
一、模型结构
transform由Encoders(编码器)和Decoders(解码器)两部分组成,如图所示:左边 Encoder(编码器):负责“读”。理解输入的源语言,提取特征,右边 Decoder(解码器):负责“写”。根据理解的内容,生成目标语言。

二、我们从编码器(Encoders)入手来看:
Input Embedding & Positional Encoding
首先对输入做词嵌入,根据编码对每个词生成一个多维向量,即每一行多维向量表示一个词或一个字(比如苹果 可能是水果 也可能是手机 所以需要多维的向量来表示一个词或字的多重含义)。这样我们输入一个16词的一句话,假设每个词有512维的含义,就得到了一个16维×512维的矩阵,通过这个矩阵来表示一句话。
接着我们会遇到一个问题,当一句话在不同的位置出现相同的字和词时,是否会混淆他们的含义,这时候我们就引入一个位置编码(比如第一个字,它的位置编码就是1,第2个字的位置编码是2,以此类推)。这样我们每个单词的Token都可以包含它的位置信息,模型就可以看到文字之间的“距离”,可以看懂并学习到位置编码的规则。是怎么做到的?
我们可以把初始得到的16×512维的向量加上位置编码,得到一个新的不仅包含了语义信息又包含位置信息的一个矩阵。然后我们就会发现两个问题,第一个:当句子很长时,位置编码可能从1到1000,直接相加会导致在前面的单词的结果很小。第二个:我们的词向量通常是由一组很小的小数(比如-1到1之间)组成的精细特征。如果直接加上1, 2, 3这样的整数,位置数值会变得非常大,瞬间“喧宾夺主”。所以原论文中,使用了正余弦函数来表示位置,偶数维度=sin(f(x)),奇数维度=cos(f(x))。这样不仅可以让位置编码处于(-1,1)之间,而且具有连续性(正余弦是连续函数)。这样我们得到的位置编码,无论按行看还是按列看结果都是不一样的。最后我们将初始的n×n维矩阵和位置编码矩阵相加就得到了一个即包含语义信息又包含位置信息的一个矩阵,将其作为我们的输入矩阵。

Self-Attention:灵魂三问 Q、K、V
注意力机制,提出了三个矩阵Q,K,V,先说他们是怎么来的。他们三个都是来自输入矩阵X分别乘上一个可学习矩阵Wq,Wk,Wv(初始是随机的,可学习),得到三个与X同型的矩阵,也就是他们同样来自矩阵X,乘上自身的可学习矩阵,得到新的不同的三个矩阵。分别代表什么意思?

我的理解是Q代表了问询,K代表了标签,v代表了内容。我们可以从他的公式中知道,他们代表了什么含义,先看公式Q先乘以K的转置这一步是什么意思,我们已经知道Q与K是从X得到的矩阵,本质上也是每个词的特征向量拼成的,假设是16×512维的,k转置以后变成512×16维的矩阵,根据矩阵相乘的条件这就可以相乘了。矩阵相乘是一行乘一列,这时Q的每一行代表了一个词的512维特征,而k的每一列也是同样的表示,Q的第一行乘到k的第一列,得到结果存入新矩阵第一行第一列,这不就表示第一个词与自身的相关性吗?Q的第二行乘k的第二列,得到结果存入新矩阵第二行第二列,这不就表示第一个词和第二个词的相关性吗?那最后我们得到的16维×16维的矩阵,不就得到了每个词之间的相关性,值越大相关性越大。
因为是512维的相加,那结果肯定超过1了,相似的词结果会很大,不相似的词结果会很小,这样不利于我们模型学习,所以我们要除以一个维数的根号,把值放小。接着进行Softmax操作, 分数转化为概率(总和为1。这样我们理解了公式的前半段,也明白了Q矩阵和K矩阵是什么,干什么的了。
接着将得到的矩阵与V相乘,即一个16×16的矩阵和一个16×512维的矩阵相乘得到一个16乘512维的矩阵(前面我们已经知道V和X,Q,V 是同型的),在16×16的矩阵中每一行都都代表了这个词与其他词的相关性,16×512的矩阵中每一列都代表了每个词的第一维特征,二者相乘我认为得到的这的是这个词的 每一维的特征和全图其他节点的相应维进行加权平均的矩阵。(这里会有一个疑惑,得到的结果矩阵,只代表了相对应维的关系,似乎没有跨维度,这个问题我们留在后面。)
Residua & Norm
我们将最难的注意力机制说完,接下来是残差连接,这个很简单就是将原始输入的X和注意力机制后的结果相加,为什么要这么做,从结构上来看就是为了保留一下原始特征,这样做的目的是因为我们要做许多轮的这个注意力机制,可能导致结果差距越来越大,容易导致梯度爆炸,模型学不到最好的点,所以温柔一点,保留一些原本输入的特征,因为是相加结果可能会超过1,所以自然而然的就加一个Norm,让其保证不大于1。
FeedForward
接着连接一个FeedForward(前馈神经网络),就是一个起到消化信息,产生理解的作用,具体怎么实现神经网络,这里就不做阐述,我们只要知道它起到一个推理的作用,得到的矩阵是代表了信息的提纯,从模糊的词义变成了精确的概念,预测的准备,为猜出下一个词调整好了向量的方向。(在这就解决了我们上面提到的得到的结果矩阵,只代表了相对应维的关系,似乎没有跨维度?而在这通过神经网络的交互,每个特征都会相互影响,从而起到跨维度的影响)和注意力机制做完一样,加上一个残差连接和Norm。这样我们的Encoder就讲完了。
三、接着我们看解码器(Decoders):
我们从Encoders已经明白了模型的大致过程,再来理解Decoder就非常简单了。
Output Embedding
Output Embedding与Input Embedding的过程如出一辙,可以直接把它做完位置编码后的特征矩阵拿过来到输入矩阵X。接着同样的做一层注意力机制,与Encoders的注意力机制不同的是,它需要加入一个Mask(通常是加上一个负无穷大)?这是什么意思?(Scale,就是上面讲的除以维数的根号)

Mask-attention
Decoders顾名思义就是要解码,预测写一个词的概率,所以我们需要对矩阵做mask。其实就是让当前这个词,只看之前的词,而不去看未来,后面的词。将矩阵变成一个下三角矩阵,而且这个mask是发生在Q乘K转置时加入的,得到的16×16维矩阵,就变成了一个下三角的矩阵,每个词只与自身和之前的词有关系,与之后的词的关系都设置成为Mask。然后再与V矩阵相乘得到一个不同的矩阵,只考虑自身和之前词的关系,不考虑未来词的关系。

接着我们将得到的矩阵作为新的注意力机制的Q矩阵,为什么是Q矩阵?因为我们是在做解码,想要预测下一个词的概率,所以拿mask-attention后的矩阵作为问询矩阵Q,顺理成章。从结构图可以看到,另外两个矩阵V和K是来自Encoder得到的矩阵,富有充分信息的矩阵,接下来做的注意力机制就是和Encoder里面做的注意力一样。最后得到一个我们想要的矩阵,输出给Linear做一个线性变换,加一层Softmax,得到的结果就是16×n维的矩阵。为什么是n维,n维指的是什么?
n维是整个语料词表的词数量,矩阵的每一行,都代表在那个位置上,预测全字典中每一个词是“下一个词”的概率。每次取最大的概率输出,即为结果。( 第1行预测第2个词,第2行预测第3个词最后一行(第16行)预测的是未来第17个词。我们在推理(生成文本)时,通常只拿最后的输出来决定下一个字写什么,然后把这个新字加进去,循环往复。)
所以,我们给的提示词(Prompt)越多,上下文限制越足,模型在做 Cross-Attention 时能参考的信息就越准,预测下一个词也就越符合逻辑。
四、最后我们再来回答一个问题
你可能还有一个疑问不是说多头注意力机制吗?为什么上述只讲的是单头注意力机制?其实很简单,当我们已经充分认识单头注意力机制了,对于多头注意力机制就很好理解了。我们之前知道对于一个16×512维的矩阵,每个词有一个512维的特征向量,用一组qkv来学习会不会产生学习不充分的问题,这组QKV可能对于前128维的特征向量作用更好,对后面的特征不好。
这就提出了多头注意力机制,通过多个视角来观察特征。比如我们将16×512维的矩阵拆分乘8个16×64维的矩阵,每组矩阵对应一组QKV,分别进行上述注意力机制的计算。最后在把大家得到的矩阵拼接起来,成为一个16×512维的矩阵,因为每组是相互独立的,我们可以通过一个可学习的512×512维的矩阵(可以不断学习),让他们相乘,得到每个头混合得到的结果矩阵(16×512维的)。

普通人如何抓住AI大模型的风口?
领取方式在文末
为什么要学习大模型?
目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。
目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!
最后
只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!
在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
大模型全套学习资料展示
自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!
01 教学内容

-
从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!
-
大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
02适学人群
应届毕业生: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。

vx扫描下方二维码即可
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!
03 入门到进阶学习路线图
大模型学习路线图,整体分为5个大的阶段:
04 视频和书籍PDF合集

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
05 行业报告+白皮书合集
收集70+报告与白皮书,了解行业最新动态!
06 90+份面试题/经验
AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)

07 deepseek部署包+技巧大全

由于篇幅有限
只展示部分资料
并且还在持续更新中…
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
更多推荐


所有评论(0)