千字长文!最通俗易懂的Transformer模型架构详解!(图文并茂)

news/2025/2/25 23:59:16/

2017 年 Google 在论文《Attention Is All You Need》中提出 Transformer 模型架构,该架构是基于 Encoder-Decoder (编码器-解码器)的架构。作为当下最先进的深度学习架构之一,Transformer 被广泛应用于自然语言处理领域,它不仅替代了以前流行的循环神经网络(RNN)和长短期记忆网络(LSTM),而且后来的 BERT、GPT-3 等网络架构也是基于 Transformer 架构演化而来。

RNN 和 LSTM 已经在时序任务方面有了广泛的的应用,例如像文本预测、机器翻译、文章生成等等,但是这些应用都面临着如何记录长期依赖的问题,而使用 Transformer 架构就能解决这类问题。

开始介绍前,还给大家分享世界上唯一一本关于Transformer的综合性书籍,书中涵盖了60多种transforerm架构,系统的讲解了与transformer相关的每种算法和技术,并且只需要本科基础就能看懂,完全可以满足大家在语音、文本、时间序列和计算机视觉中的学习


自注意力(Self-Attention)

Transformer 架构的核心主要是基于自注意力机制(Self-Attention),在详解 Transformer 架构之前,我们有必要理解一下自注意力这个概念,我们以《BERT 基础教程:Transformer 大模型实战》这本书的讲解来概述,这本书中的讲解非常浅显易懂。给定一个英文句子:

A dog ate the food because it was hungry

句子中的代词 it 可能代表句子里的名词 food 或者 dog,虽然我们人类非常容易理解,但是计算机不可能像我们那样去理解,它也没法像我们一样去理解。计算机是通过自注意力机制来处理代词 it 具体指代的内容是什么(food 或 dog)。
模型的计算逻辑大概是这样的:首先依次计算出句子中每个单词的特征值,在计算每个词的特征值时,需要遍历整个句子,确定当前词与整个句子中其他词的关系,如下图所示:

通过上图,我们就可以看出,it 与 dog 的相关性更高一些,通过比较粗重的线条来表示。那么,怎么能够确定 dog 和 it 之前的相关性更高呢?
我们需要通过自注意力机制的计算来得到,实际上,每个词都对应着一个 Embedding 向量,句子中所有词对应的 Embedding 向量最终构成了一个矩阵 X,这样一个词,比如 it 就与其他词关联起来了。这里需要说明的是,每个词对应的 Embedding 向量,是通过选定的语料库(训练数据集)通过训练从而得到的,具体如何训练和计算可以参考其他资料,这里不过多解释了。
有了矩阵 X,还需要基于矩阵 X 创建另外三个矩阵:查询矩阵 Q、键矩阵 K、值矩阵 V,得到这三个矩阵需要训练对应的另外三个权重矩阵,假设分别为 Wq、Wk、Wv,它们也都是通过训练得到的。这样,我们就可以计算得到下面三个矩阵:

  • Q = X·Wq

  • K = X·Wk

  • V = X·Wv

基于上述三个矩阵 Q 、K、V,就可以计算得出我们需要的句子中每个词与句子中其他词相关性的注意力矩阵了,具体步骤如下图所示:

最终计算结果示例,以词 it 为例,如下图所示:

可见,词 it 与 dog 的自注意力值恰好等于 1.0,也就是 dog 的自注意力值,而其他的都是 0.0,所以代词 it 就指代为 dog。

Transformer 架构

我们参考论文《Efficient Transformers:A Survey》来学习 Transformer 架构,论文给出了标准的 Transformer 架构设计,如下图所示:

由上图可见,Transformer 由 Encoder 和 Decoder 两部分组成,首先是 Encoder 部分,输入 Embedding 数据经过一些处理后(Embedding输入、位置编码)进入到 N 个 Encoder 中,N 个 Encoder 最终输出特征值数据,结果作为每个 Decoder 中的 Multi-Head Cross-Attention 层的输入;然后是 Decoder 部分,输出 Embedding 数据经过一些处理后(Embedding输入、位置编码)进入到 N 个 Decoder 中,经过 N 个 Decoder 层的处理后,后面还要依次经过 Linear 层、Softmax 层处理后,得到最终的目标输出的预测概率结果。

下面,我们看 Encoder 内部各个子层的详细结构:一个 Encoder 层包含 4 个子层的顺序堆叠:

  1. Multi-Head Self-Attention 层

  2. Add & Norm 层

  3. Feed Forward 层

  4. Add & Norm 层

数据在 Encoder 层的各个子层之间的传输和处理过程,说明如下:

  1. 将输入(inputs)转换为输入嵌入矩阵(Input Embedding),并将位置编码(Positional Embedding)加入其中,再将结果作为输入传入第一个 ENCODER 层中;

  2. 在 ENCODER 1 层中,接受输入并将其送入多头注意力层(Multi-Head Self-Attention),该子层运算后输出注意力矩阵;

  3. 将注意力矩阵输入到下一个子层,即前馈网络层(Feed Forward),前馈网络层将注意力矩阵作为输入,并计算出特征值作为输出;

  4. 接下来,把从 ENCODER 1 层中得到的输出作为输入,传入下一个层 ENCODER 2;

  5. ENCODER 2 层进行同样的处理,再将给定输入句子的特征值作为输出,最后在 ENCODER N 层输出最终的特征值数据。

下面,我们再看 Decoder 内部各个子层的详细结构:一个 Decoder 层包含 6 个子层的顺序堆叠:

  1. Masked Multi-Head Self-Attention 层

  2. Add & Norm 层

  3. Multi-Head Cross-Attention 层

  4. Add & Norm 层

  5. Feed Forward 层

  6. Add & Norm 层

数据在 Decoder 层的各个子层之间的传输和处理过程,说明如下:

  1. 将目标(targets)转换为输出嵌入矩阵(Output Embedding),并将位置编码(Positional Embedding)也加入其中,再将结果作为输入传入第一个 DECODER 层中;

  2. 在 DECODER 1 层中,接受输入并将其送入带掩码的多头注意力层(Masked Multi-Head Self-Attention),该子层运算后输出注意力矩阵;

  3. 将注意力矩阵输入到下一个子层 Multi-Head Cross-Attention 层,同时也把 ENCODER N 输出的最终特征值数据作为 Multi-Head Cross-Attention 层的输入,经过处理以后结果输出到下一个子层,即前馈网络层(Feed Forward),并输出结果;

  4. 接下来,把从解码器 DECODER 1 层中得到的输出作为输入,传入下一个解码器层 DECODER 2;

  5. DECODER 2 层进行同样的处理,再将给定输入句子的特征值作为输出,最后在 DECODER N 层输出最终的目标特征值数据;

  6. 最后,在 N 个 DECODER 之后,还需要依次经过 Linear 层、Softmax 层的处理,最终得到预测目标词出现的概率结果。

为了方便了解,我们把 Transformer 架构中 N 个 Encoder、Decoder 都展开,并且填充上内部的各个子层,以及各个层之间数据的交互关系,整合到一张图上,如下图所示:

通过上图来看,Transformer 架构就非常直观并易于理解。

零基础如何学习AI大模型

领取方式在文末

为什么要学习大模型?

学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。

大模型典型应用场景

AI+教育:智能教学助手和自动评分系统使个性化教育成为可能。通过AI分析学生的学习数据,提供量身定制的学习方案,提高学习效果。
AI+医疗:智能诊断系统和个性化医疗方案让医疗服务更加精准高效。AI可以分析医学影像,辅助医生进行早期诊断,同时根据患者数据制定个性化治疗方案。
AI+金融:智能投顾和风险管理系统帮助投资者做出更明智的决策,并实时监控金融市场,识别潜在风险。
AI+制造:智能制造和自动化工厂提高了生产效率和质量。通过AI技术,工厂可以实现设备预测性维护,减少停机时间。

这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。

学习资料领取

如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述
请添加图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

四、LLM面试题

在这里插入图片描述
在这里插入图片描述

五、AI产品经理面试题

在这里插入图片描述

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]👈


http://www.ppmy.cn/news/1574919.html

相关文章

Github 2025-02-24 开源项目周报 Top15

根据Github Trendings的统计,本周(2025-02-24统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目9TypeScript项目5Jupyter Notebook项目1C++项目1Rust项目1HTML项目1JavaScript项目1Dify.AI: 开源的LLM应用程序开发平台 创建周期:…

TD时间差分算法

TD算法用来估计value-state 给定data/experiece of algorithm, TD算法: 其中TD error: δ t v ( s t ) − [ r t 1 γ v ( s t 1 ) ] v ( s t ) − v t ‾ \delta_t v(s_t) -[r_{t1} \gamma v(s_{t1})]v(s_t) - \overline{v_{t}} δ…

Android之APP更新(通过接口更新)

文章目录 前言一、效果图二、实现步骤1.AndroidManifest权限申请2.activity实现3.有版本更新弹框UpdateappUtilDialog4.下载弹框DownloadAppUtils5.弹框背景图 总结 前言 对于做Android的朋友来说,APP更新功能再常见不过了,因为平台更新审核时间较长&am…

云夹平台:一站式学习与生活效率工具

在数字化时代,高效管理知识、资源和日常事务成为现代人的核心需求。云夹平台正是这样一款集多功能于一体的智能工具,致力于为用户提供便捷、个性化的服务体验。无论你是学生、职场人士还是终身学习者,云夹都能成为你的得力助手。 1. 书签管理…

elasticsearch在windows上的配置

写在最前面: 上资源 第一步 解压: 第二步 配置两个环境变量 第三步 如果是其他资源需要将标蓝的文件中的内容加一句 xpack.security.enabled: false 不同版本的yaml文件可能配置不同,末尾加这个 xpack.security.enabled: true打开bin目…

什么是DeFi (去中心化金融)

DeFi (去中心化金融) 概述 💰 1. DeFi 基础概念 1.1 什么是 DeFi? DeFi 是建立在区块链上的金融服务生态系统,它: 无需中心化中介开放且透明无需许可即可参与代码即法律 1.2 DeFi 的优势 开放性:任何人都可以参与…

AWS S3深度解析:十大核心应用场景与高可用架构设计实践

摘要:作为全球领先的对象存储服务,Amazon S3凭借其高扩展性、持久性和安全性,已成为企业云原生架构的核心组件。本文将深入探讨S3的典型技术场景,并揭秘其背后的架构设计逻辑。 一、AWS S3核心技术特性解析 Amazon Simple Storag…

蓝桥杯 Java B 组之最短路径算法(Dijkstra、Floyd-Warshall)

Day 2:最短路径算法(Dijkstra、Floyd-Warshall) 📖 一、最短路径算法简介 最短路径问题是图论中的经典问题,主要用于求解 单源最短路径 或 多源最短路径。在实际应用中,最短路径广泛应用于 导航系统、网络…