文章目录
- 1 Transformer简介
- 2 模型应用
-
- 2.1 加载数据
- 2.2 定义Transformer层
- 2.3 定义嵌入层
- 2.4 定义模型
- 2.5 训练模型
- 2.6 整体代码
- 2.7 模型预测
- 3 参考附录
1 Transformer简介
一、背景
在深度学习的早期阶段,卷积神经网络(CNN)在图像识别和自然语言处理领域取得了显著的成功。然而,随着任务复杂度的增加,序列到序列(Seq2Seq)模型和循环神经网络(RNN)成为处理序列数据的常用方法。
尽管RNN及其变体在某些任务上表现良好,但它们在处理长序列时容易遇到梯度消失和模型退化问题。为了解决这些问题,Transformer模型被提出。而后的GPT、Bert等大模型都是基于Transformer实现了卓越的性能!
二、模型原理
Transformer模型主要由两部分组成:编码器和解码器。
每个部分都由多个相同的“层”组成。
每一层包含两个子层:自注意力子层和线性前馈神经网络子层。
自注意力子层利用点积注意力机制计算输入序列中每个位置的表示,而线性前馈神经网络子层则将自注意力层的输出作为输入,并产生一个输出表示。
此外,编码器和解码器都包含一个位置编码层,用于捕获输入序列中的位置信