news 2026/4/16 7:41:27

【学习笔记】Transformer基础概念

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【学习笔记】Transformer基础概念

Transformer每次都听朋友聊到,虽然我目前的研究领域尚未包含这种架构,但是还是学习一下。

Transformer 是一种革命性的神经网络架构。它于2017年由谷歌团队的论文《Attention Is All You Need》提出,最初用于机器翻译,但后来彻底改变了自然语言处理领域,并扩展到图像、音频等多个AI领域。

基础 Transformer:自注意力 + 编码器 - 解码器,并行训练强但 O (n²) 复杂度,代表 GPT-4、LLaMA-2,适配通用 NLP / 多模态。

  1. 编码器:负责“理解”输入信息(如一句英文)。它通过多层自注意力层和前馈神经网络,将每个词编码成一个包含上下文信息的向量。

  2. 解码器:负责“生成”输出信息(如对应的中文)。它同样使用自注意力,但还会“关注”编码器的输出,从而基于理解来生成下一个词。

想象一个老式图书馆(传统的RNN/LSTM模型):

  • 按顺序找书:要理解一句话,需要一个字一个字地按顺序读、按顺序记。效率低,且容易忘记开头的词。

  • 只有一个管理员:处理长句子时,信息在传递中会逐渐损耗。

现在,Transformer 就像一个配备了超级助理团队的现代智能图书馆:

  • 并行处理:拿到整句话后,所有助理同时开始工作。

  • 核心武器:自注意力机制:每个助理负责一个词,但他不只盯着自己这个词,而是会瞬间分析并关注句中所有其他词与“自己”这个词的相关性。例如,在“苹果很好吃”中,负责“苹果”的助理会给予“吃”很高的关注度,从而明白这是可以吃的水果,而不是手机公司。

  • 得出综合理解:每个助理根据全局关注结果,生成一个包含上下文信息的、更丰富的“词义表示”。

关于《Attention Is All You Need》

Transformer 沿用序列转换任务的编码器 - 解码器框架,核心组件均基于注意力机制与全连接层,无任何循环或卷积操作。

1. 整体结构
  • 编码器(Encoder):6 层堆叠结构,每层含 2 个子层 —— 多头自注意力机制(Multi-Head Self-Attention)、逐位置全连接前馈网络(Position-wise Feed-Forward Network);每层均采用残差连接(Residual Connection)+ 层归一化(Layer Normalization)。
  • 解码器(Decoder):6 层堆叠结构,在编码器子层基础上新增第 3 个子层 —— 编码器 - 解码器注意力(Encoder-Decoder Attention),同时对解码器的自注意力层进行掩码(Mask)处理,防止未来位置信息泄露,保证自回归生成特性。
2. 核心组件详解
(1)注意力机制
  • 基础定义:将查询(Q)、键(K)、值(V)映射为输出,输出是 V 的加权和,权重由 Q 与 K 的兼容性计算得出。
  • 缩放点积注意力(Scaled Dot-Product Attention)
    • 计算逻辑:
    • 核心改进:引入dk​​(dk​为 Q/K 维度)缩放因子,解决高维下点积值过大导致 softmax 梯度消失的问题;
    • 优势:相比加法注意力,计算更快、空间效率更高(可通过矩阵乘法优化)。
  • 多头注意力(Multi-Head Attention)
    • 操作逻辑:将 Q、K、V 通过学习的线性投影矩阵,分别投影为 h 组低维向量(论文中 h=8,dk​=dv​=64),每组独立计算缩放点积注意力,最后拼接结果并投影得到最终输出;
    • 核心价值:允许模型同时关注不同子空间、不同位置的信息,避免单一注意力头的平均化限制。
  • 三类注意力应用场景
    • 编码器自注意力:Q、K、V 均来自前一层编码器输出,实现编码器内部全局依赖建模;
    • 解码器自注意力:Q、K、V 均来自前一层解码器输出,通过掩码限制仅关注当前及之前位置;
    • 编码器 - 解码器注意力:Q 来自解码器前一层,K、V 来自编码器输出,实现解码器对输入序列的全局关注(类似传统 Seq2Seq 的注意力机制)。
(2)其他关键组件
  • 逐位置前馈网络(FFN):对每个位置独立执行两次线性变换 + ReLU 激活,公式为,输入输出维度dmodel​=512,中间层维度dff​=2048;
  • 嵌入层(Embedding):将输入 / 输出 tokens 映射为dmodel​维向量,与预 softmax 线性变换共享权重矩阵,且嵌入向量需乘以 根号dmodel ​​缩放;
  • 位置编码(Positional Encoding):因模型无时序结构,通过正弦 / 余弦函数注入位置信息。优势:支持外推到训练时未见过的更长序列,性能与可学习位置嵌入接近。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 13:44:30

YOLO11云端部署指南,GPU加速轻松开启

YOLO11云端部署指南,GPU加速轻松开启 你是否还在为搭建YOLO系列模型的复杂环境而头疼?是否希望快速上手最新的YOLO11,直接进入训练和推理阶段?本文将带你一步步完成YOLO11在云端的一键式部署,利用预置镜像实现GPU加速…

作者头像 李华
网站建设 2026/4/10 17:45:21

Arbess项目实战 - 基于GitHub实现Java项目构建并自动化Docker部署

Arbess 是一款国产开源免费的 CI/CD 工具,支持免费自动化部署,一键安装零配置。本文将详细介绍如何安装并使用ArbessGitHub实现Docker项目自动化构建部署 1、GitHub 配置 本章节将介绍如何创建GitHub个人访问令牌,提供给Arbess克隆源码。 …

作者头像 李华
网站建设 2026/4/15 18:19:34

大寒至,春将启,Codigger以代码织就温暖

当北风卷起最后一缕寒意,我们用分布式架构搭建起数字世界的暖阳。 Codigger平台,让全球开发者在云端协作如围炉共话,用高效工具融化技术的冰点。 大寒不寒,因有创新热忱;冬尽春生,共赴代码之约。

作者头像 李华