Transformer

Transformer Seq2seq model with Self-attention
Transformer是一种基于自注意力机制Self-attention )的深度学习模型框架,最早用于处理序列数据,尤其在自然语言处理(NLP)中取得了突破性成果,如今也广泛应用于计算机视觉、语音处理等领域。
与传统的递归神经网络(RNN)、卷积神经网络(CNN)不同,Transformer完全基于注意力机制,摒弃了序列依赖和局部卷积,能够并行处理整个输入序列。

提出背景

在Transformer出现之前,序列建模主要靠:

这些方法存在的核心问题:

基本原理

核心思想总结为一句话:

让每个位置的元素根据输入序列中所有其他位置的信息自适应地建模依赖关系

靠什么做到?

核心架构

标准的Transformer模型分为两大部分:
每个Encoder和Decoder都是堆叠多个层(Layer)**组成的。

模块 作用
Encoder(编码器) 输入处理,提取上下文信息
Decoder(解码器) 生成输出,常用于翻译、文本生成等任务

Encoder

每个Encoder Layer包含:

Decoder

每个Decoder Layer包含:

关键机制

自注意力(Self-Attention)

让序列中的每一个元素都对其它所有元素进行加权求和,从而动态建模它与其它元素的依赖关系。

Attention(Q,K,V)=softmax(QKTdk)V

多头注意力(Multi-Head Attention)

不同头可以关注不同层次、不同角度的信息(局部、全局、不同语义特征)

残差连接 + 层归一化(Residual + LayerNorm)

位置编码(Positional Encoding)

由于Transformer完全放弃了RNN的顺序性,需要显式告诉模型"顺序信息"。这样模型就能利用不同频率编码位置信息。

PE(pos,2i)=sin(pos100002i/dmodel)PE(pos,2i+1)=cos(pos100002i/dmodel)
模型 特点 应用领域
BERT Encoder部分,预训练-微调范式 自然语言理解(NLU)
GPT系列 Decoder部分,生成式预训练模型 文本生成(NLG)
Vision Transformer(ViT) 直接把图像切成Patch后用Transformer处理 图像分类
DETR Transformer用于目标检测 计算机视觉
Speech-Transformer 语音识别与理解 语音处理

发展方向

Pasted image 20240513234553.png

Pasted image 20240513235157.png

Pasted image 20240513235314.png