目录
-
- Transformer
- Transformer 架构
- 对比 seq2seq
- 多头注意力(Multi-head attention)
- 带掩码的多头注意力(Masked Multi-head attention)
- 基于位置的前馈网络(Positionwise FFN)
- 残差连接和归一化(Add & norm)(加 & 规范化)
-
-
- 1、加入归一化能够更好地训练比较深的网络,**但是这里不能使用批量归一化,批量归一化对每个特征/通道里元素进行归一化**
- 2、层归一化对每个样本里的元素进行归一化
-
- 信息传递
- 预测
- 总结
- 多头注意力代码实现
- Transformer代码实现
Transformer
- Transformer 模型是完全基于注意力机制,没有任何卷积层或循环神经网络
- Transformer 最初应用在文本数据上的序列到序列学习,现在已经推广到各种现代的深度学习中,如语言、视觉、语音和强化学习领域
Transformer 架构
基于编码器-解码器的架构来处理序列对,Transformer 的编码器和解码器是基于自注意力的模块叠加而成的,源(source,输入)序列和目标(target,输出)序列的嵌入(embedding)表示通过加上位置编码(positional encoding)加入位置信息,再分别输入到编码器和解码器中
1、Transformer 的编码器是由多个相同的层叠加而成的,每个层都有两个子层(每个子层都采用了残差连接,并且在残差连接的加法计算之后,都使用了层归一化,因此 Transformer 编码器都将输出一个 d 维表示向量)
- 第一个子层是多头自注意力汇聚
- Transformer 块中的多头注意力实际上就是自注意力(自注意力同时具有并行计算和最短的最大路径长度这两个优势)
- 在计算编码器的自注意力时,key 、value 和 query 的值都来自前