Transformer总体架构图
输入部分
- 源文本嵌入层及其位置编码器
- 目标文本嵌入层及其位置编码器
Input Embedding
OutputEmbedding - 文本嵌入层的作用
- 无论是源文本嵌入还是目标文本嵌入,都是为了将文本中词汇的数字表示转变为向量表示,希望在这样的高维空间捕捉词汇间的关系。
Positional Encoding
- 位置编码器的作用
- 因为在Transformer的位置编码器结构中,并没有针对词汇位置信息的处理,因此需要在Embedding层后加入位置编码器,将词汇位置不同可能会产生不同语义的信息加入到词嵌入张量中,以弥补位置信息的缺失。
输出部分
- 线性层
- 通过对上一步的线性变化得到指定维度的输出,也就是转换维度的作用
- softmax层
- 使最后一唯的向量中的数字缩放到0-1的概率值域内,并满足他们的和为1.
Linear
Softmax
- 使最后一唯的向量中的数字缩放到0-1的概率值域内,并满足他们的和为1.
编码器部分
- 编码器的作用:
- 编码器用于对输入进行指定的特征提取过程,也称为编码,由N个编码器层堆叠而成。
- 编码器层的作用:
- 作为编码器的组成单元,每个编码器层完成一次对输入的特征提取过程,即编码过程 。
- 由N个编码器堆叠而成
- 每个编码器由两个子层连接结构组成
- 第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接
- 第二个子层连接结构包括一个前馈全连接子层和规范化层以及一个残差连接
Multi-head Attention 多头自注意力
Add & Norm 规范化层
Feed Forward 前馈全连接子层
解码器部分
- 由N个解码器堆叠而成
- 每个解码器由三个子层连接结构组成
- 第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接
- 第二个子层连接结构包括一个多头注意力子层和规范化层以及一个残差连接
- 第三个子层连接结构包括一个前馈全连接子层和规范化层以及一个残差连接
- 解码器层的作用
- 作为解码器的组成单元,每个解码器层根据给定的输入向目标方向进行特征提取操作,即解码过程。
- 解码器的作用
- 根据编码器的结果以及上一次预测的结果,对下一次可能出现的“值”进行特征表示。
Masked Multi-head Attention 掩码的多头自注意力
Multi-head Attention 多头自注意力
Add & Norm 规范化层
Feed Forward 前馈全连接子层
- 根据编码器的结果以及上一次预测的结果,对下一次可能出现的“值”进行特征表示。
掩码张量
- 作用
- 让另外一个张量中的一些数值被遮掩,也可以说是被替换,它的表现形式是一个张量
注意力机制
-
什么是注意力
- 我们观察事物时,之所以能够快速判断一种事物(允许判断错误),是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断,而并非是从头到尾的观察一遍事物后,才能有判断结果,正是基于这样的理论,产生了注意力机制
- 注意力机制是注意力计算规则能够应用的深度学习网络的载体,除了注意力计算规则外,还包括一些必要的全连接层以及相关张量处理,使其与应用网络融为一体,使用自注意力计算规则的注意力机制称为自注意力机制。
-
注意力计算规则
- 它需要三个指定的输入Q,K,V,然后通过公式得到注意力的计算结果,这个结果代表query在key和value作用下的表示,而这个具体的计算规则有很多种。
- Q是一段准备被概况的文本,K是给出的提示,V是大脑中的对提示K的延伸
- 当Q=K=V时,称作自注意力机制
多头注意力机制
前馈全连接层
- 什么是前馈全连接层
- 在Transformer中前馈全连接层就是具有两层线性层的全连接网络
- 前馈全连接层的作用
- 考虑注意力机制可能对复杂过程的拟合程度不够,通过增加两层网络来增强模型的能力
子层连接结构
如同所示,输入到每个子层以及规范化层的过程中,还使用了残差连接(跳跃连接),因此我们把这一部分结构整体叫做子层连接(代表子层及其链接结构),在每个编码器层中,都有两个子层,这两个子层加上周围的链接结构就形成了两个子层的连接结构