当前位置: 首页 > news >正文

Transformer 架构

参考: https://2048.csdn.net/681b21aec7c7e505d353f730.html
Transformer模型结构由输入部分、输出部分、编码器区域部分、解码器区域部分构成。

输入部分: : 目标数据和源数据通过词嵌入(Word Embedding)后,与位置编码(Positional Encoding)结合

**词嵌入(Word Embedding):** 文字通过词嵌入转化成向量,机器才能识别;
向机器输入的是通过词嵌入映射的对应的词向量**位置编码(Positional Encoding):**
这里词嵌入转化后的向量是没有任何位置信息,即不知道输入信息的前后的顺序,
这时候Transformer引入位置编码(Positional Encoding)进行解决,标注序列信息的空间位置;

编码器部分
由多个编码器层堆叠构成,包含多头注意力机制与前馈神经网络构成的(残差模块+层归一化)两个子层结构

注意力机制:
Transformer 的注意力机制是其核心创新点,本质上是一种模拟人类 “选择性关注” 的计算机制 —— 在处理序列数据(如文本、图像特征序列)时,通过计算元素间的关联权重,让模型自动聚焦于对当前任务更重要的信息,同时弱化无关信息。
核心思想:用 “关联权重” 实现动态关注, 象人类阅读一句话时,会自然地将 “今天” 与 “明天”、“他” 与 “她” 等相关词汇关联起来,注意力机制正是通过数学方式模拟这种关联:对于序列中的每个元素(如文本中的词),模型会计算它与其他所有元素的 “相关度分数”,再根据分数分配注意力权重,最终通过加权求和得到该元素的 “关注后特征”。自注意力(Self-Attention)是 Transformer 中最核心的注意力形式,用于捕捉序列内部元素的关联(如一句话中词与词的关系),其计算可拆解为 4 步:
1. 生成 Query、Key、Value 矩阵
对于输入序列中的每个元素(如词向量),通过 3 个不同的线性变换矩阵,生成 3 个新向量:
Query(查询):查询是一个特征向量,描述了我们在序列中寻找的内容,代表 “当前元素想关注什么”;
Key(键):对于每个输入元素,我们都有一个键 ,代表 “元素能提供什么信息”;键的设计应使我们可以根据查询识别要关注的元素
Value(值):代表 “K键的具体信息内容”
例如,处理 “猫追狗” 时,“追” 的 Query 可能更倾向于寻找 “动作的主体” 和 “对象”,而 “猫” 和 “狗” 的 Key 会分别匹配 “主体” 和 “对象” 的特征。
2. 计算注意力分数(关联度)
用每个元素的 Query 与所有元素的 Key 进行 “相似度计算”,得到注意力分数(即该元素对其他元素的关注程度), Transformer 中采用 “点积” 计算相似度, 直观理解: 若某个Q和K的点积越大,说明两者关联越紧密,注意力分数越高。
3. 缩放与归一化缩放:为避免序列长度过长时,点积结果过大导致 softmax 梯度消失,将分数除以(某个值,跟维度有关)归一化:对缩放后的分数应用 softmax 函数,得到权重,确保权重总和为 1,且每个权重在 0~1 之间(代表关注比例)。4. 用归一化后的权重,对所有元素的 Value 进行加权求和,得到当前元素的 “注意力输出”
多头注意力(Multi-Head Attention)
对基础注意力机制的扩展与优化,其核心思想是通过 “并行计算多个注意力头”,
让模型从不同角度捕捉序列中元素的关联关系,从而提升对复杂模式的建模能力。
解决了单一注意力头只能捕捉有限关联模式的局限,是 Transformer 实现高效特征提取的关键组件。
通俗解释: 
每个注意力头相当于一个 “分析师”,专注于从某一角度解读序列(如 A 关注语法,B 关注语义,C 关注逻辑);所有人分别输出分析结果后,再汇总整合(拼接 + 线性变换),最终得到更全面、更深入的结论。
多头注意力的优势:
并行性:不同于 RNN 需按顺序处理序列,注意力机制可一次性计算所有元素的关联,大幅提升训练效率;
长距离依赖:直接计算任意两个元素的关联,无需像 RNN 那样 “逐步传递”,能有效捕捉长序列中的远距离关系(如段落首尾的呼应);
灵活性:通过多头设计和不同注意力变体(如交叉注意力、自注意力),可适配翻译、摘要、图像描述等多种任务。

解码器部分
解码器区域由多个解码器层堆叠构成,比编码器区域多了一个将解码器与编码器连接交叉注意力机制

共同的组件Add & Norm(残差链接+层归一化)
在编码器与解码器层都有Add & Norm层,Add指的是残差链接(Residual Connection),指的是层的输出与输入相加,有助于保留信息和防止梯度消失;Norm指的是层归一化,是常用的模型训练技巧,由于输入的数据都有不同的分布,归一化通过调整维度的均值和方差,可以消除这种影响,更加关注层内特征之间相互关系,改善梯度消失和梯度爆炸问题,有效提高模型的性能和训练时间

编码器-解码器交叉注意力(Encoder-Decoder Cross Attention)

编码器传入K、V,解码器输出Q,通过注意力公式,将编码器与解码器链接起来,这里可以这样理解,
由于编码器区域输入是源数据,解码器输入的目标数据,由于解码器看到是当前词,且表达的意思通过注意力输出都包含在这个词向量中,
用这些信息来聚焦编码器中与当前词相关的信息,这可以生成更为准确的上下文向量来帮助解码。

输出部分
即模型接入全连接层,输出最终模型结果。

http://www.dtcms.com/a/282796.html

相关文章:

  • 多语言json文件内\n换行不生效问题
  • ScratchCard刮刮卡交互元素的实现
  • 列车调度(vector)
  • 前端vue3获取excel二进制流在页面展示
  • 【unity知识点】已知发射的初始位置和目标位置,计算发射初速度,实现投掷物品或者弓箭手做抛体线运动精准的击中目标
  • C语言 --- 函数递归
  • Python编程基础(六)| 用户输入和while循环
  • 康华生物:以创新疫苗书写国产突围之路​​​
  • 李宏毅2025《机器学习》第七讲-推理模型:从原理、流派到未来挑战
  • 2025年自动化工程、物联网与计算机应用国际会议(AEITCA 2025)
  • 【时序数据库-iotdb】时序数据库iotdb的可视化客户端安装部署--dbeaver
  • 基于Spring AI Alibaba的智能知识助手系统:从零到一的RAG实战开发
  • 最细,Web自动化测试入门到精通整理,一套打通自动化测试...
  • ASP .NET Core 8集成Swagger全攻略
  • 从零开发足球比分APP:REST API与WebSocket的完美搭配
  • HAProxy简介及配置文件详解
  • ESP‑IDF 默认的连接流程是
  • 2_概要设计编写提示词_AI编程专用简化版
  • 快速开发汽车充电桩的屏幕驱动与语音提示方案
  • __is_constexpr(x)宏介绍---max()宏扩展
  • Linux 常用指令
  • 信而泰×DeepSeek:AI推理引擎驱动网络智能诊断迈向 “自愈”时代
  • Java基础语法补充v2
  • C# --- 单例类错误初始化 + 没有释放资源导致线程泄漏
  • The 2024 ICPC Asia Shenyang Regional Contest B. Magical Palette
  • Docker容器技术讲解
  • Liunx练习项目6-创建dns服务器
  • 主机安全---开源wazuh安装
  • 深入理解概率图模型:贝叶斯网络因子分解、d-分离与马尔可夫毯
  • 基于用户空间操作IIC接口调试云台电机