【学习笔记】Transformer

一、Transformer结构

【学习笔记】Transformer
Transformer模型,由6个Encoder和6个Decoder组成,输入和输出通过同一个训练好的词嵌入层(Word Embedding)将输入字符转换为维度d的向量。

1、Encoder
Transformer对编码器(Encoder)与解码器(Decoder)两端的序列分别添加位置编码(Positional Encoding)。之后,编码经过含有多头自注意力机制(Multi-head Self-Attention)、位置前向传播网络(Position-wise Feed-Forward Network)、残差连接(Residual Connection)和层归一化(Layer Normalization)的计算单元。

1)Positional Encoding
表示单词在句中的位置与词句的相对位置,在Transformer中与句子的嵌入表示相加,获得输入。

2)Multi-Head Attention
多头自注意力机制。计算输入的表示与输出的表示间的得分score,作为判断输出单词的依据。
【学习笔记】Transformer
同一序列中词的关系直接由socre值计算得到,不会因为传播而造成信息损失,有利于长距离依赖。

3)Position-Wise Feed-Forward Network
是一个全连接前馈网络。
【学习笔记】Transformer
Position-Wise 即以单个位置为单位进行前馈。

4)Layer Normalization
Batch Normalization 对 Batch Size 依赖很大,当Batch Size 过小时,BN 层的均值和标准差计算与整个数据集的实际统计数据相差过大,就使得其丧失了归一化效果。所以出现Layer Normalization
Layer Normalization:即通过对在相同时间步的神经元的输入求其均值与标准差,在这个方向上对输入进行归一化,可以理解为 BN 的转置。
【学习笔记】Transformer
2、Decoder
Transformer 解码器(Decoder)与编码器(Encoder)具有相同的计算单元,不同的是,模型仍是 Seq2Seq 结构,因此,为了令解码器不提前得知未来信息,使用 Masked Multi-head Attention 隐藏下文。

上一篇:transformer-encoder用于问答中的意图识别


下一篇:手把手教你用Keras实现英文到中文机器翻译 seq2seq+LSTM