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

Transformer网络结构

一、整体结构

Transformer由编码器(Encoder)和解码器(Decoder)堆叠组成,整体结构如图:

输入序列 → [编码器] × N → 中间表示 → [解码器] × N → 输出序列
  • ​编码器​​:将输入序列映射为高阶特征表示(Context Vector)。
  • ​解码器​​:基于编码器输出和已生成部分输出,自回归地预测下一个元素。
  • ​堆叠层数​​:通常 N=6(基础版),复杂任务可增至 12 或 24 层。

 二、核心组件详解

1. ​​自注意力机制(Self-Attention)​

目标​​:捕捉序列中任意两个元素间的依赖关系,无论距离远近。

数学公式​​:

 Q(Query):当前元素的查询向量

K(Key): 序列中所有元素的键向量

V(Value): 序列中所有元素的值向量

缩放因子:防止点积结果过大导致梯度消失

工作流程:

1. 输入向量通过线性变换生成Q、K、V

2. 计算Q与所有K的点积得分

3. 缩放得分并应用softmax归一化

4. 加权求和V得到输出

2. 多头注意力(Multi-Head Attention)

动机​​:单一注意力头只能捕捉一种模式,多头可并行学习多种关系。

实现:

将Q、K、V分割为h个头(通常h=8)

每个头独立进行自注意力计算

拼接所有头的输出并通过线性变换融合

公式:

3. 位置编码(Positional Encoding)

问题:自注意力机制本身无法感知序列顺序

解决方案:为输入嵌入添加位置编码向量

pos:元素在序列中的位置

i:维度索引

4. 前馈神经网络(Feed-Forward Network, FFN)

作用:对每个位置的表示进行非线性变换

结构:两个线性层+ReLU激活

公式:

5. 残差连接与层归一化

残差连接:将子层输入直接加到输出,缓解梯度消失

层归一化:对每个样本的所有特征维度归一化,稳定训练过程

三、编码器与解码器差异

解码器工作流程:

1. 掩码自注意力:生成输出时无法看到未来信息

2. 编码器-解码器注意力:对齐输入与输出序列

3. 前馈网络:进一步特征提取

四、关键设计思想

1. 并行计算

自注意力可同时处理所有位置,远块于RNN的序列化计算

2. 长距离依赖

任意位置直接交互,解决RNN的梯度消失问题

3. 可解释性

注意力权重可视化分析模型关注区域

http://www.xdnf.cn/news/491005.html

相关文章:

  • 【笔记】 huggingface.co:443是连接出错吗
  • Node.js 实战二:接口参数校验与类型安全方案
  • 主打「反激进」的一汽丰田,靠稳扎稳打的技术实现突围
  • 实战记录:Java 高并发插入 MySQL 唯一索引表引发死锁的排查与解决
  • Windows 本地部署MinerU详细教程
  • 厂房气楼做法
  • [Lc] 5.16 One question a day周总结
  • 项目管理进阶:全文解读企业IT系统全生命周期管理与运营平台建设方案【附全文阅读】
  • 【RTMP】RTMP协议的详细介绍
  • SpringBoot3.4.5下Lombok的@Data注解不生效,解决方案
  • Gmsh 读取自定义轮廓并划分网格:深入解析与实践指南
  • 金格iWebOffice控件在新版谷歌Chrome中不能加载了怎么办?
  • 数字电路的发展历史
  • PT2031单触控单输出触摸IC
  • MySQL8.x新特性:窗口函数(Window Functions)
  • 【Linux】ssh命令 – 安全的远程连接服务
  • GPU Runtime Suspend 调试与验证:从 sysfs 到 perf 分析
  • ROS2学习(5)------ROS2 功能包介绍
  • 【python】直线型雷达图
  • 前端流行框架Vue3教程:18. _组件数据传递
  • 关于“集合框架底层原理”的一些问题
  • Ceisum 展示——智能巡检制作
  • Vue3封装公共图片组件
  • 深入探索 OpenSPG:下一代知识图谱构建与推理框架
  • Java(基础) day01 初识Java
  • 职教实训室中的写实数字人:技术与应用方案
  • 遇到Linux系统网络连接丢包的问题如何解决?
  • 54. 螺旋矩阵
  • redis缓存实战
  • 地球系统模式(CESM)实践技术应用