[深度学习]transformer(介绍)

237 阅读4分钟

关键词

NLP领域的绝对领导者, 序列数据, 上下文依赖, 例如机器翻译, 文本摘要, 大型语言模型.

并行计算, 没有循环, 没有卷积, 自注意力机制.

对算力要求很大, 如果你有很厉害的算力gpu, tpu等资源作为支持.

Transformer是一种基于自注意力机制(Self-Attention) 的深度学习模型架构,最初在2017年由Google提出,主要用于序列到序列(Seq2Seq) 的任务(如机器翻译)。如今它已成为自然语言处理(NLP)、计算机视觉(CV)和多模态领域的核心架构。


1. Transformer的核心特点

核心机制:自注意力(Self-Attention)

  • 允许模型在处理序列时,同时关注所有位置的信息,从而捕捉长距离依赖关系。
  • 不同于RNN/LSTM需要逐步处理序列,Transformer可以并行计算,训练效率更高。

主要结构

  1. 编码器(Encoder):将输入序列转换为隐藏表示。
  2. 解码器(Decoder):基于编码器输出生成目标序列。
  3. 多头注意力(Multi-Head Attention):并行运行多个自注意力层,捕捉不同维度的关系。
  4. 前馈神经网络(Feed-Forward Network):对每个位置独立进行非线性变换。
  5. 位置编码(Positional Encoding):为输入添加位置信息(因为Transformer本身不具备顺序感知能力)。

2. Transformer与经典机器学习算法/模型的比较

(1)与传统机器学习模型对比

模型类型代表算法与Transformer的区别
统计模型朴素贝叶斯、隐马尔可夫模型依赖人工特征和概率假设,而Transformer自动学习特征表示
浅层神经网络MLP、简单RNN参数量小,难以捕捉复杂上下文;Transformer参数量大,适合大数据场景

(2)与RNN/LSTM对比

特性RNN/LSTMTransformer
序列处理方式按时间步顺序处理并行处理所有位置
长距离依赖可能梯度消失/爆炸自注意力直接建模任意距离依赖
训练速度较慢(无法完全并行)更快(适合GPU并行)
位置感知天然有序需额外添加位置编码

(3)与CNN对比

特性CNN(如TextCNN)Transformer
感受野局部卷积,需深层叠加自注意力直接获得全局视野
参数共享卷积核共享,平移不变性参数依赖位置间关系
适用领域图像、局部文本特征长文本、跨模态任务

(4)与生成对抗网络(GAN)对比

  • GAN:专注于生成逼真数据,通过生成器与判别器的对抗训练。
  • Transformer:本身是序列建模工具,但可用于生成任务(如GPT系列),更注重序列的概率建模。

3. Transformer的衍生模型

  • BERT:仅使用编码器的预训练模型,用于文本理解。
  • GPT系列:仅使用解码器的自回归生成模型。
  • ViT:将图像分块后视为序列,用Transformer处理图像分类。
  • 多模态模型(如CLIP、DALL-E):结合图像和文本的Transformer架构。

4. 核心优势与局限

优势

  1. 并行计算:训练速度远快于RNN。
  2. 全局依赖建模:自注意力直接连接所有位置。
  3. 可扩展性:模型规模随数据量增长(如GPT-3有1750亿参数)。
  4. 跨领域通用性:适用于NLP、CV、音频等多模态任务。

局限

  1. 计算复杂度高:自注意力复杂度为序列长度的平方级(O(n²))。
  2. 数据需求大:需要海量数据才能充分训练。
  3. 缺乏归纳偏置(如CNN的局部性、RNN的顺序性),可能在小数据上表现不佳。

总结

Transformer是一种基于自注意力的模型架构,与传统机器学习算法(如SVM、决策树)相比,它是一种端到端的深度神经网络;与RNN/CNN相比,它突破了序列建模的串行瓶颈,实现了更高效的并行化和全局上下文建模。它的出现标志着深度学习从“循环与卷积”时代进入“注意力时代”,并成为当今大模型(如BERT,GPT)的基石。