基于Transformer和GPT的自然语言处理深度迁移学习
1. Transformer架构概述
Transformer架构由Google开发,其灵感来源于当时表现最佳的翻译模型,这些模型结合了卷积和循环组件以及注意力机制。传统模型采用编码器 - 解码器架构,编码器将输入文本转换为中间数值向量表示(上下文向量),解码器再将该向量转换为输出文本。注意力机制通过建模输出和输入各部分之间的依赖关系,提升了模型性能。不过,传统模型中的循环组件具有顺序性,长输入序列处理难以并行化,跨序列并行化也容易受GPU内存限制。
Transformer摒弃了循环结构,采用自注意力机制。自注意力本质上是将注意力应用于同一序列的输入和输出,能学习序列各部分之间的依赖关系。相较于循环模型,Transformer具有更好的并行性。
Transformer架构的高层表示如下:
- 架构的编码(左侧)部分堆叠相同的编码器,堆叠数量是可调整的超参数,原始论文使用六个。
- 解码(右侧)部分同样堆叠六个相同的解码器。
- 输入和输出通过选择的嵌入算法转换为向量,如word2vec等词嵌入算法,或应用于独热编码字符向量的CNN。
- 利用位置编码来编码输入和输出的顺序信息,使模型在丢弃循环组件的同时保持顺序感知。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(输入文本):::process --> B(嵌入算法):::process
B --> C(编码器堆栈