Transformer模型原理概述

Transformer 是一种基于自注意力机制(Self-Attention)的深度学习模型,最初由 Google 在 2017 年的论文《Attention Is All You Need》中提出,主要用于自然语言处理任务,如今已广泛应用于计算机视觉、语音识别等多个领域,是现代大语言模型(如GPT、BERT等)的核心架构。

一、模型架构

Transformer 采用经典的编码器-解码器(Encoder-Decoder)架构,由多个编码器层和多个解码器层堆叠而成(通常为 6 层),每层包含特定的子模块。

1.编码器(Encoder)

处理输入序列(如句子),生成包含序列语义的中间表示。每个编码器层包含两个子层:

多头自注意力机制(Multi-Head Self-Attention) :捕捉序列内部不同位置的依赖关系。

前馈神经网络(Feed Forward Neural Network):对注意力输出进行非线性变换。

每层后均使用残差连接(Residual Connection)和层归一化(Layer Normalization)稳定训练。

2.解码器(Decoder)

基于编码器的输出生成目标序列(如翻译结果)。每个解码器层包含三个子层:

掩码多头自注意力机制(Masked Multi-Head Self-Attention) :确保解码时不依赖未来位置的信息。

编码器-解码器注意力机制(Encoder-Decoder Attention) :建立输入与输出序列的关联。

前馈神经网络:与编码器中的结构相同。

二、自注意力机制(Self-Attention)

自注意力机制是 Transformer 的核心,它允许模型在处理序列时关注不同位置的信息,计算元素间的关联权重。

1. 注意力计算的数学表达:

对于输入序列中的每个元素,注意力机制通过三个矩阵(可训练参数)生成三个向量:

查询向量(Query, Q) :用于计算当前元素与其他元素的关联。

键向量(Key, K) :作为被查询的 "索引"。

值向量(Value, V):包含元素的实际信息。

注意力分数的计算过程:

对每个位置 i,计算其与所有位置 j 的注意力分数,softmax函数将分数归一化为权重,加权求和得到输出。
<math xmlns="http://www.w3.org/1998/Math/MathML"> A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V)=softmax(\frac{QK^T}{\sqrt{d_k}})V </math>Attention(Q,K,V)=softmax(dk QKT)V

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> d k d_k </math>dk是Key的维度, <math xmlns="http://www.w3.org/1998/Math/MathML"> d k \sqrt{d_k} </math>dk 称作缩放因子,用于防止梯度消失。

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

将注意力机制拆分为多个 "头"(Head)并行计算,每个头关注不同子空间的信息,最后拼接结果:
<math xmlns="http://www.w3.org/1998/Math/MathML"> M u l t i H e a d ( Q , K , V ) = C o n c a t ( h e a d 1 , . . . , h e a d h ) W O MultiHead(Q,K,V)=Concat(head_1,...,head_h)W^O </math>MultiHead(Q,K,V)=Concat(head1,...,headh)WO

其中,每个头的计算独立, <math xmlns="http://www.w3.org/1998/Math/MathML"> W O W^O </math>WO为输出投影矩阵。多头机制让模型能从不同角度捕捉序列关系。

三、 前馈神经网络(Feed-Forward Network, FFN)

每个编码/解码层中的前馈网络由两个线性变换组成,中间使用 ReLU 激活函数
<math xmlns="http://www.w3.org/1998/Math/MathML"> F F N ( x ) = m a x ( 0 , x W 1 + b 1 ) W 2 + b 2 FFN(x)=max(0,xW_1+b_1)W_2+b_2 </math>FFN(x)=max(0,xW1+b1)W2+b2

作用:对注意力机制的输出进行非线性变换,增强模型的拟合能力,将注意力捕捉到的特征映射到更高维的语义空间。

四、残差连接与层归一化

每个子层(注意力、前馈网络)后应用残差连接(Residual Connection)和层归一化(Layer Normalization),缓解梯度消失问题。

1. 残差连接(Residual Connection)

作用:解决深层网络中的梯度消失/爆炸问题,帮助模型训练更深的网络结构。

机制:将某一层的输入直接与该层的输出相加
<math xmlns="http://www.w3.org/1998/Math/MathML"> O u t p u t = I n p u t + L a y e r ( I n p u t ) Output=Input+Layer(Input) </math>Output=Input+Layer(Input)

2. 层归一化(Layer Normalization)

作用:稳定网络训练,加速收敛,减少对初始化和学习率的敏感度。

机制:对单个样本的所有特征维度进行归一化(与批归一化不同,不依赖批次统计量)
<math xmlns="http://www.w3.org/1998/Math/MathML"> O u t p u t = γ ⋅ X − μ σ 2 + ε + β Output=\gamma \cdot \frac{X-\mu}{\sqrt{\sigma^2+\varepsilon}}+\beta </math>Output=γ⋅σ2+ε X−μ+β

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> μ \mu </math>μ是均值, <math xmlns="http://www.w3.org/1998/Math/MathML"> σ 2 \sigma^2 </math>σ2是方差, <math xmlns="http://www.w3.org/1998/Math/MathML"> α \alpha </math>α和 <math xmlns="http://www.w3.org/1998/Math/MathML"> β \beta </math>β是可学习的缩放和偏移参数, <math xmlns="http://www.w3.org/1998/Math/MathML"> ε \varepsilon </math>ε是防止除零的小常数。

五、位置编码(Positional Encoding)

由于 Transformer 本身不具备处理序列顺序的能力(自注意力是全局计算),需通过位置编码为序列添加位置信息。

常用方法:使用正弦和余弦函数生成位置编码向量,公式如下:
<math xmlns="http://www.w3.org/1998/Math/MathML"> P E ( p o s , 2 i ) = s i n ( p o s 1000 0 2 i d m o d e l ) PE(pos,2i)=sin(\frac{pos}{10000^{\frac{2i}{d_{model}}}}) </math>PE(pos,2i)=sin(10000dmodel2ipos)
<math xmlns="http://www.w3.org/1998/Math/MathML"> P E ( p o s , 2 i + 1 ) = c o s ( p o s 1000 0 2 i d m o d e l ) PE(pos,2i+1)=cos(\frac{pos}{10000^{\frac{2i}{d_{model}}}}) </math>PE(pos,2i+1)=cos(10000dmodel2ipos)

其中,pos为位置,i为维度, <math xmlns="http://www.w3.org/1998/Math/MathML"> d m o d e l d_{model} </math>dmodel为模型维度。

作用:将位置信息融入输入向量,使模型能区分序列中不同位置的语义。

六、应用与扩展

基础应用

机器翻译、文本摘要、语音识别、问答系统等序列到序列任务。

变体模型

BERT:仅使用编码器部分,通过掩码语言模型(MLM)和下一句预测(NSP)预训练,开创预训练模型先河。

GPT系列:仅使用解码器部分,通过自回归(Autoregressive)方式生成文本,推动生成式 AI 发展。

核心优势

长距离依赖建模能力强,避免 RNN 的梯度消失问题。

并行计算效率高,适合大规模数据训练。

注意力机制可解释性较强,通过可视化权重能直观理解模型关注的重点。

七、小结

Transformer 通过自注意力机制替代传统序列模型中的循环结构,实现了对序列信息的并行处理和长距离依赖建模。其核心组件(多头注意力、位置编码、前馈网络)的设计使其在效率和性能上超越了传统模型,为后续大语言模型和多模态模型的发展奠定了基础。

相关推荐
لا معنى له16 小时前
残差网络论文学习笔记:Deep Residual Learning for Image Recognition全文翻译
网络·人工智能·笔记·深度学习·学习·机器学习
菜只因C17 小时前
深度学习:从技术本质到未来图景的全面解析
人工智能·深度学习
Allen_LVyingbo17 小时前
面向医学影像检测的深度学习模型参数分析与优化策略研究
人工智能·深度学习
Coding茶水间19 小时前
基于深度学习的PCB缺陷检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
大千AI助手19 小时前
Softmax函数:深度学习中的多类分类基石与进化之路
人工智能·深度学习·机器学习·分类·softmax·激活函数·大千ai助手
韩曙亮20 小时前
【人工智能】AI 人工智能 技术 学习路径分析 ② ( 深度学习 -> 机器视觉 )
人工智能·深度学习·学习·ai·机器视觉
黑客思维者20 小时前
Salesforce Einstein GPT 人机协同运营的核心应用场景与工作流分析
人工智能·gpt·深度学习·salesforce·rag·人机协同·einstein gpt
薛定e的猫咪21 小时前
【论文精读】ICLR 2023 --- 作为离线强化学习强表达能力策略类的扩散策略
人工智能·深度学习·机器学习·stable diffusion
子午1 天前
【食物识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积网络+resnet50算法
人工智能·python·深度学习
Dev7z1 天前
基于深度学习和图像处理的药丸计数与分类系统研究
图像处理·人工智能·深度学习