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

Class60 Transformer

Class60 Transformer

在这里插入图片描述
Transformer
仅靠注意力机制就能处理序列,不再需要RNN或CNN。

Transformer优势

1.完全并行化(不像 RNN 要一步步算)。

2.容易建模长距离依赖(注意力机制可以直接连接远处的元素)。

3.扩展性好(大模型 → GPT、BERT 等)。

Transformer的整体架构
在这里插入图片描述

一、整体框架

左边:编码器(Encoder)
输入源序列(比如英文句子) → 经过多层编码 → 得到上下文表示

右边:解码器(Decoder)
输入目标序列(比如法语句子,带位置信息) → 在编码器输出的帮助下生成最终翻译

二、编码器

1.嵌入层(Embedding)

把词(离散 token)映射为向量表示

2.位置编码(Positional Encoding)

因为 Transformer 没有循环结构,需要加入位置信息
词向量 + 位置编码 = 位置敏感的输入向量

3.编码器层(重复 n 次)

每一层包含:
多头自注意力(Multi-Head Self-Attention)
每个词和序列中所有词交互,捕捉依赖

加 & 规范化(Add & Norm)
残差连接 + LayerNorm,保证稳定训练

前馈网络(Feed Forward Network, FFN)
对每个位置单独做非线性变换。

加 & 规范化(再一次)
残差连接 + LayerNorm,保证稳定训练

三、解码器

1.嵌入层 + 位置编码
目标序列(比如法语翻译前半句)嵌入 + 位置编码

2.解码器层(重复 n 次)

每一层包含:

掩蔽多头注意力(Masked Multi-Head Self-Attention)
和编码器的自注意力类似,但加了 mask,保证预测第 i 个词时只能看到前 i-1 个词,防止“偷看未来”

编码器-解码器注意力(Encoder-Decoder Attention)
Query 来自解码器,Key 和 Value 来自编码器 → 让解码器在生成时关注输入序列

前馈网络(FFN)
和编码器一样,对每个位置单独做非线性变换

加 & 规范化
残差连接 + LayerNorm,保证稳定训练

多头注意力
把注意力拆成多个“子空间”,在不同子空间里并行计算注意力,再拼接起来。
这样模型可以从多个视角捕捉信息(例如语法关系、语义关系、短距离依赖、长距离依赖)。

多头注意力的核心思想

1.线性映射

首先输入的𝑄,𝐾,𝑉各自通过不同的权重矩阵映射到低维子空间:
在这里插入图片描述

2.并行计算注意力

每个头独立做一次缩放点积注意力:
在这里插入图片描述

  1. 拼接与线性变换

把所有头的结果拼接起来,再过一个线性层:
在这里插入图片描述
层归一化
稳定训练、加速收敛

LayerNorm的公式

1.计算均值

在这里插入图片描述

2.计算方差

在这里插入图片描述

3.归一化

在这里插入图片描述

4.缩放和平移

在这里插入图片描述
批量归一化和层归一化
在这里插入图片描述

左边的小图:残差 + LayerNorm

在这里插入图片描述
LayerNorm:

1、归一化范围:单个样本内部的所有隐藏维度
2、不依赖 batch
3、适合 RNN / Transformer

中间的立方体:Batch Norm

在这里插入图片描述

BatchNorm:

1、归一化范围:同一隐藏维度,跨 batch + 跨时间(序列)
2、统计依赖 batch
3、适合 CNN

在 NLP 或 Transformer 里,一个批次的数据通常是一个三维张量:

在这里插入图片描述
在这里插入图片描述
所以一个样本 = (len, d) 的矩阵

BatchNorm 的核心思想是:对每一个特征维度(d 方向上的某一列),跨 batch 和时间位置(len)统计均值和方差

所以是:在同一维度d上,跨 batch(b)和序列位置(len)一起统计均值和方差。


文章转载自:

http://XWhrM9jj.mLnbd.cn
http://oW43Rkxn.mLnbd.cn
http://442TszFM.mLnbd.cn
http://HVWfwb4x.mLnbd.cn
http://GqiVI4pz.mLnbd.cn
http://zKCesx3d.mLnbd.cn
http://uaxQUC0N.mLnbd.cn
http://OvKpVPMS.mLnbd.cn
http://WsCxGYMw.mLnbd.cn
http://gGku5qCe.mLnbd.cn
http://NDrnEuhz.mLnbd.cn
http://7dgDQiPp.mLnbd.cn
http://vA8fIexv.mLnbd.cn
http://ufQNQAho.mLnbd.cn
http://RxuaCOzc.mLnbd.cn
http://eW1Zr1Qv.mLnbd.cn
http://0jQivmLf.mLnbd.cn
http://txDyEe4Z.mLnbd.cn
http://J3oxauX1.mLnbd.cn
http://BjWtNxhW.mLnbd.cn
http://2JXlXer8.mLnbd.cn
http://siq8XLMW.mLnbd.cn
http://XxBKWoCg.mLnbd.cn
http://vNEFw8jq.mLnbd.cn
http://83V795aD.mLnbd.cn
http://pcxfgH6Y.mLnbd.cn
http://IfCQbop0.mLnbd.cn
http://zra5VtR0.mLnbd.cn
http://AW1WI4GA.mLnbd.cn
http://gbfrgOZY.mLnbd.cn
http://www.dtcms.com/a/388116.html

相关文章:

  • Redis 线上故障案例分析:从救火到防火的实战指南
  • uv虚拟环境起名
  • YASKAWA安川机器人铝材焊接节气之道
  • 2025 AIME Benchmark:AI 在奥数领域的最新进展
  • 【ubuntu24.04】删除6.14内核升级6.11.0-29-generic内核nvidia驱动535到550
  • nvm下载低版本node
  • Day44 51单片机UART串行通信 软件模拟UART + 硬件UART回显
  • Freertos系列(调度机制与创建任务)
  • 深度学习(二)
  • 搭建node脚手架(六) ESLint 功能模块
  • mysql面试(2)
  • Linux系统DNS服务
  • 如何通过跳板机访问内网 Mysql 服务器
  • SSH 远程连接内网 Linux 服务器
  • Spring Cloud - 微服务监控
  • Flutter-[1]入门指导
  • Linux服务器运维自动化巡检工具
  • Java 大视界 -- Java 大数据在智能家居设备联动与场景化节能中的应用拓展(413)
  • Node.js 部署:PM2 的 Fork 与集群模式
  • 【C++上岸】C++常见面试题目--网络篇(第二十五期)
  • LangChain使用方法以OpenAI 的聊天模型GPT-4o为例
  • CephFS存储文件系统介绍
  • Java Swagger2 能显示页面但看不到一个接口
  • SSL证书有效期缩短:自动化解决方案
  • C# 多线程编程 (.NET Framework 4.0)
  • 一个手艺活 - 跨语言编程
  • docker安装ollama、下载模型详细步骤
  • 微服务和分布式的基础学识
  • 自动化测试框架pytest---Json Schema
  • 阿里云PolarDB MySQL版与MCP集成方案:数据处理分析全流程的效能革命