Transformer
Transformer是一种基于自注意力机制的深度学习模型架构,2017年由谷歌研究团队在论文《Attention Is All You Need》中提出。它不再依赖循环或卷积结构,可以并行处理整段序列,训练效率与长距离依赖建模能力均优于此前主流模型,成为机器翻译、大规模预训练语言模型以及视觉、语音等多类任务的通用基础架构。
定义
Transformer是一种以自注意力(self-attention)为核心组件的深度学习序列建模架构,最初用于机器翻译任务[1]。它的基本结构由编码器和解码器两部分组成,每一部分都由若干相同的层堆叠而成,标准版本中编码器与解码器各为 6 层[1]。
每一层内部包含多头注意力子层与前馈全连接子层,两个子层之后都接有残差连接和层归一化,用于支持较深网络的稳定训练[1]。与循环神经网络逐词递推的处理方式不同,整条序列可以同时输入计算,因此并行度更高,训练时间明显缩短[2]。
原理
自注意力的做法是把输入向量分别线性投影为查询(Query)、键(Key)和值(Value)三组矩阵,再用查询与键的点积衡量词与词之间的相关程度,经缩放和 softmax 归一化后作为权重,对值向量加权求和。其计算可写为 $\mathrm{Attention}(Q,K,V)=\mathrm{softmax}\left(\frac{QK^{T}}{\sqrt{d_k}}\right)V$,其中 $d_k$ 是键向量的维度,缩放项用于抑制点积数值过大。
单一注意力头只能刻画一种关联模式,多头注意力因此把向量切分为若干低维子空间并行计算,再把各头结果拼接后经过一次线性变换输出[1]。前馈子层则对每个位置的向量独立施加两层全连接变换,中间使用 ReLU 激活函数[1]。
自注意力本身是一个集合运算,不含先后顺序信息,因此模型需要额外注入位置编码。原始论文使用由不同频率的正弦和余弦函数生成的固定位置向量,直接与输入词嵌入相加[1]。解码器一侧还使用掩码机制,屏蔽当前位置之后的信息,以保证生成过程只依据已输出的内容[1]。
发展历程
该架构于 2017 年在论文《Attention Is All You Need》中提出,作者包括 Ashish Vaswani、Noam Shazeer、Niki Parmar、Jakob Uszkoreit、Llion Jones、Aidan Gomez、Łukasz Kaiser 与 Illia Polosukhin,论文发表于当年的神经信息处理系统大会,并在机器翻译任务上取得当时最好结果,同时训练速度超过同等规模的循环模型[3]。到 2018 年,Transformer 已出现在多数领先的自然语言处理系统中,先在通用语料上自监督预训练、再针对下游任务微调的做法逐渐成为主流[4]。
2018 年出现两条技术路线:6 月发布的 GPT 采用多层解码器做语言模型预训练,10 月发布的 BERT 则使用编码器并以掩码语言模型进行双向预训练,二者共同确立了预训练加微调的范式[5]。2019 年 GPT-2 参数量达到 15 亿,2020 年 GPT-3 增至 1750 亿,展示出规模扩大后无需任务特定训练也能完成多种任务的能力[6]。
同一时期,针对长序列的变体陆续出现,Transformer-XL 引入片段级循环与相对位置编码,Longformer、Reformer、Performer、Linformer 等通过稀疏化或核方法降低注意力开销[7]。2020 年起该架构被迁移到视觉领域,ViT 把图像切分为小块后按序列处理,DETR 则用于端到端目标检测[8]。
应用
机器翻译是这一架构最早的落地场景,编码器读取源语言句子,解码器逐词生成译文[1]。基于编码器的 BERT 类模型擅长分类、抽取与理解类任务,基于解码器的 GPT 类模型擅长文本生成,这两类结构构成了此后大语言模型的主要骨架[9]。
在计算机视觉中,ViT 将图像划分为固定大小的图块并视作词元序列,在图像分类任务上可与卷积网络竞争[10]。语音识别、音乐生成与序列推荐等任务也广泛采用该架构,推荐系统领域的研究表明它在学习性能与速度上优于早期的循环与卷积模型[11]。
局限
自注意力需要计算序列中每一对位置之间的分数,时间和空间复杂度随序列长度呈平方增长,即 $O(n^2 d)$;序列长度翻倍时,计算量与注意力矩阵的存储需求约变为原来的四倍,在长文本、高分辨率图像等场景中开销显著[12]。
自注意力对元素顺序不敏感,位置信息完全依赖位置编码注入,若编码设计不当,模型难以区分词的先后关系[12]。常用的绝对位置编码在测试长度超过训练长度时外推能力较差,需要改用相对位置编码或旋转位置编码等手段加以缓解[13]。
此外,标准注意力在长序列上的效率与效果都会下降,中文研究文献指出当序列长度超过约 500 词时,常见预训练模型的表现与效率均不理想,需要通过序列切分、稀疏注意力或低秩近似等方式改造[7]。注意力矩阵的读写也对显存带宽形成压力,工程上常借助分块计算与重计算来降低访存开销[12]。
参见
参考资料
- main(PDF) [引用日期2026-10-29]
- Transformeur [引用日期2026-10-29]
- Ashish Vaswani [引用日期2026-10-29]
- d2l_ch11_transformers(PDF) [引用日期2026-10-29]
- 1.5_milestones [引用日期2026-10-29]
- 1.5_milestones [引用日期2026-10-29]
- 文章编号:1003-0077(2025)09-0032-11 [引用日期2026-10-29]
- Multi-Layer Perceptron (MLP; Fully-connected Layers (FC)) [引用日期2026-10-29]
- arxiv.org 上的网页 [引用日期2026-10-29]
- 2025IMTA0461_Abdali-Aymane(PDF) [引用日期2026-10-29]
- ieee.org 上的网页 [引用日期2026-10-29]
- --- [引用日期2026-10-29]
- 注意力机制的“瘦身”革命:从多头自注意力到线性复杂度变体的演进 [引用日期2026-10-29]