本文目录:
前言:前面的文章讲解了RNN及其案例,这篇文章开始讲解Transformer,首先简单介绍Transformer。
一、Transformer的诞生
Transformer 是一种基于自注意力机制(Self-Attention)的深度学习模型架构,由Google团队在2017年的论文《Attention Is All You Need》中首次提出。它彻底改变了自然语言处理(NLP)领域,并逐渐扩展到计算机视觉、语音处理等其他领域。
论文《Attention Is All You Need》的官方地址是:
👉 https://arxiv.org/abs/1706.03762
2018年10月,Google发出一篇论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》, BERT模型横空出世, 并横扫NLP领域11项任务的最佳成绩!
**论文地址**: https://arxiv.org/pdf/1810.04805.pdf
而在BERT中发挥重要作用的结构就是Transformer, 之后又相继出现XLNET,roBERT等模型击败了BERT,但是他们的核心没有变,仍然是:Transformer。
(一)背景与动机
在Transformer出现之前,主流的序列建模任务(如机器翻译、文本生成)主要依赖以下两种架构:
RNN(循环神经网络):按顺序处理输入数据,但存在长程依赖问题(难以捕捉远距离词之间的关系)和并行化困难(必须逐步计算)。
CNN(卷积神经网络):通过卷积核捕捉局部特征,但对全局关系的建模能力较弱。
为了解决这些问题,Transformer摒弃了传统的循环或卷积结构,完全依赖注意力机制,实现了:
并行化计算:所有输入位置的词同时处理。
长程依赖建模:通过自注意力直接捕捉任意两个词之间的关系。
(二)Transformer的核心思想
1.自注意力机制(Self-Attention)
核心功能:计算输入序列中每个词与其他词的相关性权重,动态生成词的上下文相关表示。
公式:
其中,Q(Query)、K(Key)、V(Value)是通过输入向量线性变换得到的矩阵,dk是向量的维度。
2.多头注意力(Multi-Head Attention)
将自注意力机制重复多次(多个“头”),每个头学习不同的注意力模式,最后拼接结果,增强模型对不同语义关系的捕捉能力。
3.位置编码(Positional Encoding)
由于Transformer没有循环或卷积结构,需要通过位置编码向输入序列注入位置信息(使用正弦/余弦函数或可学习的参数)。
(三)Transformer的架构
模型分为编码器(Encoder)和解码器(Decoder)两部分:
1.编码器
输入嵌入 + 位置编码。
多层编码器块(通常6层),每块包含:
多头自注意力层 + 残差连接 & 层归一化。
前馈神经网络(FFN) + 残差连接 & 层归一化。
2.解码器
输出嵌入 + 位置编码。
多层解码器块(与编码器层数相同),每块增加:
掩码多头注意力(防止解码时看到未来信息)。
编码器-解码器注意力层(关注编码器的输出)。
二、Transformer的特别优势
相比之前占领市场的LSTM和GRU模型,Transformer有两个显著的优势:
并行高效:Transformer能够利用分布式GPU进行并行训练,提升模型训练效率.
可扩展性:在分析预测更长的文本时, 捕捉间隔较长的语义关联效果更好.
三、 Transformer的应用市场
在著名的SOTA机器翻译榜单上, 几乎所有排名靠前的模型都使用Transformer。
跨领域应用:
NLP:BERT、GPT、T5等预训练模型均基于Transformer。
Transformer典型变体与应用
BERT(双向编码器):仅使用编码器,适合文本分类、问答等任务。
GPT(生成式预训练):仅使用解码器,擅长文本生成。
T5:编码器-解码器完整结构,统一文本到文本的任务格式。
计算机视觉:Vision Transformer(ViT)将图像分块处理为序列。
多模态:如CLIP、DALL·E结合文本和图像。
今日分享到此结束。