Add. Transformer Architecture

pull/2/head
benjas 6 years ago
parent 71453ca031
commit 89ff06d886

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

@ -144,3 +144,49 @@ Multi-Head架构图如下
> 残差连接:X如果处理完残差变小,则使用该X,如果残差反而大了,则使用原有的X。也就是堆叠的层数中,我们保证了堆叠的过程中,结果一定不会比原来差。
#### Decoder
- Attention计算不同:只需要用Q去查encode的K,V即可
- 加入MASK机制:遮挡部分值,不使用它,比如内积会将每个相乘相加,而在计算内积的过程不能让它知道全部信息,比如下面的I am a student,遮挡掉student,否则相当于透题。
![1609748548046](assets/1609748548046.png)
最终输出结果
- 得到最终预测结果
- 损失函数cross-entropy即可
![1609748796629](assets/1609748796629.png)
#### Transformer整体架构
- Self-Attention
- Multi-Head
- 多层堆叠,位置编码
- 并行加速训练
![1609748883096](assets/1609748883096.png)
**Encode端**
- input:输入X1、X2、...、Xn;
- 初始化:初始化词编码,先随机出词的编码再进行调整,但现在一般使用预训练好的模型,也就是没有了这个步骤;
- Positional Encoding:加入位置编码;
- Nx:N层堆叠Self-Attention;
- Multi-Head:多头Self-Attention;
- 残差连接:随着堆叠层数,可能结果会变差,残差连接则能保证学习至少不比原来差;
**Decode端**
- MASK机制:遮挡掉部分,不使用后面的结果;
- 获取K,V的结果;
- Nx:N层堆叠;
- Linear:得到所有的编码,Linear成向量;
- Softmax:将向量进行分类;
这就是Transformer的整体结构。

Loading…
Cancel
Save