从零认识 Transformer:原理、组件与应用
·
一、基础定位
最初用于机器翻译,核心分为编码器、解码器两大模块
- 编码器:解析原文语义,将文本转换为语义向量
- 解码器:参照编码信息,逐词生成目标译文
可视化学习地址:https://poloclub.github.io/transformer-explainer/
翻译示例:我有一只猫→分词补位成6个Token→编码器生成768维语义向量→解码器从起始符开始逐词输出英文译文
【OpenAI】获取OpenAI API Key的多种方式全攻略:从入门到精通,再到详解教程!
二、输入处理
1.分词Token
将文字拆分为最小语义单元,短句补充占位符统一序列长度,计算机仅识别数字向量。
2.词嵌入Input Embedding
每个Token转换为固定768维向量,构成「序列长度×768」矩阵。
3.位置编码Positional Encoding
- 作用:Transformer采用并行计算,无天然时序感知,用于区分词汇相同、语序不同的语句
- 原理:通过正余弦函数生成同维度位置向量,与词向量相加融合时序信息
- 计算公式
偶数维度:
P ( p o s , 2 i ) = sin ( p o s 10000 2 i d m o d e l ) P(pos,2i)=\sin\left(\frac{pos}{10000^{\frac{2i}{d_{model}}}}\right) P(pos,2i)=sin(10000dmodel2ipos)
奇数维度:
P ( p o s , 2 i + 1 ) = cos ( p o s 10000 2 i d m o d e l ) P(pos,2i+1)=\cos\left(\frac{pos}{10000^{\frac{2i}{d_{model}}}}\right) P(pos,2i+1)=cos(10000dmodel2ipos) - 基础参数: d m o d e l = 768 d_{model}=768 dmodel=768,pos代表词语位置,i为维度分组序号
- 特性:具备周期性与长文本泛化能力,高低维度分别捕捉远近语义关系
三、核心基础组件
1.残差连接+层归一化 Add&Norm
- 残差连接: y = f ( x ) + x y=f(x)+x y=f(x)+x,留存原始输入信息,缓解深层网络梯度消失、梯度爆炸问题
- 层归一化:规整数值范围,避免数值极值影响运算
x ^ i = x i − μ σ 2 + ϵ \hat{x}_i=\frac{x_i-\mu}{\sqrt{\sigma^2+\epsilon}} x^i=σ2+ϵxi−μ
2.注意力机制
固定参数:模型总维度768,共12个注意力头,单头维度 768 ÷ 12 = 64 768\div12=64 768÷12=64
(1)自注意力 Self-Attention
- 向量来源:Q、K、V均取自同一段文本
- 核心作用:建立句内词汇关联,理解上下文语义
Self-Attn ( Q , K , V ) = softmax ( Q K T d k ) V \text{Self-Attn}(Q,K,V)=\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Self-Attn(Q,K,V)=softmax(dkQKT)V
(2)交叉注意力 Cross-Attention
- 向量来源:Q取自解码器生成内容,K、V取自编码器原文
- 核心作用:生成内容对齐原文语义,避免语义偏移
两类注意力对比
| 对比项 | 自注意力 | 交叉注意力 |
|---|---|---|
| 关联对象 | 文本内部词汇 | 生成内容与原文词汇 |
| 向量来源 | 全部源自同一文本 | Q来自译文,K、V来自原文 |
| 分布位置 | 编码器、解码器均存在 | 仅解码器独有 |
3.前馈网络 FFN
依靠线性层完成特征变换,先升维扩容(768→3072)挖掘深层特征,再降维还原维度。
4.Softmax函数
把任意数值换算为0~1区间概率,所有结果总和为1,以此判定信息权重
σ ( z i ) = e z i ∑ j = 1 n e z j \sigma(z_i)=\frac{e^{z_i}}{\sum_{j=1}^n e^{z_j}} σ(zi)=∑j=1nezjezi
应用场景:计算注意力权重、模型最终选词输出
5.掩码 Mask
解码器专属机制,屏蔽尚未生成的后续词汇,训练过程中阻止模型提前获取答案。
6.注意力运算三步流程
- 点积运算:Q与K矩阵相乘,得出词汇间关联分数
- 缩放+掩码:压缩数值区间,遮挡无效位置信息
- Softmax转换:分数转为概率分布,加权融合语义特征
四、Transformer衍生模型
- GPT系列:纯解码器架构,适配对话、文案创作等文本生成场景
- BERT系列:纯编码器架构,适配文本分类、阅读理解等语义理解场景
- ViT视觉模型:采用编码器结构,图像切块模拟文本Token,实现图像识别
- 多模态模型:融合图文编码能力,支持图片、文字联动交互

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)