Transformer

从全局角度概括Transfomer

Transformer_第1张图片
Transformer_第2张图片
Transformer_第3张图片
6个encoder结构是完全相同的(但参数上不同),6个decoder结构是完全相同的(但参数上不同)。

先来介绍下input embedding和output embedding:

input embedding是编码器的输入,output embedding是解码器的输入。

input embedding和output embedding 是通过token embedding matrix 得到的,需要先构建token embedding matrix,维度是vocab_size乘d_model(vocab_size是词汇量的大小,d_model是词向量的长度,也就是说每一个词都用一个d_model维的向量表示,所有的词合起来就构成了这个矩阵),然后用tf.nn.embeddinglookup函数在matrix里按照x查询得到input embedding,x是由词的id构成的向量,设x的长度为T1,那么最终得到的input embedding的维数就是T1乘d_model。output embedding和input embedding的得到方式相同,不同的地方在于把x换成decoder_inputs,以机器翻译为例,要把T1长的英文翻译成T2长的中文,那么x是T1长的英文词id,decoder inputs就是对应T2长的中文词id,所以最终得到的output embedding是T2乘d_model维。

位置编码详细解读

Transformer_第4张图片



rnn共享一套参数
就算你有100个timestamp(100个字、100个词)但是只有一套参数(U、W、V)
rnn梯度消失:rnn的梯度是梯度和,梯度消失不是变为0而是总梯度被近距离梯度阻挡,远距离梯度忽略不计

rnn的输入有先后,transfomer的输入是一起处理的,这样做增快了速度,但是忽略单词的先后关系,所有transfomer要位置编码

Transformer_第5张图片

我爱你
pos我,k爱,pos+k你

多头注意力机制详解

Transformer_第6张图片
Transformer_第7张图片

Transformer_第8张图片
Q先和K点乘,反应两个向量之间的相似度


详细介绍一下
Transformer_第9张图片

attention:将特征和目标进行相似度匹配(Y1和X1~4,Y2和X1~4,Y3和X1~4)
Transformer_第10张图片
Transformer_第11张图片
g(x)是一个加和函数


query是汤姆,key1是Tom,key2是Chase,K3是Jerry
Transformer_第12张图片

value和key是同一个东西

Transformer_第13张图片
自注意力机制指的是QKV是同一个东西,也就是Tom chase jerry
Transformer_第14张图片


Transformer_第15张图片
Transformer_第16张图片

这里的embedding加上了位置编码

Transformer_第17张图片
Transformer_第18张图片
Transformer_第19张图片
多头将原始信息打到不同的空间

残差详解

Transformer_第20张图片
Transformer_第21张图片
Transformer_第22张图片
Transformer_第23张图片
残差结构确保不会出现梯度消失

Batch Normal详解

Transformer_第24张图片
BN在NLP中效果很差,所以大多数情况下使用LN
Transformer_第25张图片

Transformer_第26张图片
BN针对所有样本的每一个特征
Transformer_第27张图片
Transformer_第28张图片
Transformer_第29张图片
Transformer_第30张图片

Layer Normal详解

Transformer_第31张图片
Transformer_第32张图片
不能我和今、爱和天、中和天这么做均值和方差(BN)
而应该我爱中国共产党、今天天气真不错做均值和方差(LN)
Transformer_第33张图片

Decoder详解

Transformer_第34张图片
Transformer_第35张图片
Transformer_第36张图片
因为在预测阶段是没有后面的信息的,所以需要mask
Transformer_第37张图片
Transformer_第38张图片
Transformer_第39张图片
Transformer_第40张图片
encode的KV,decode的Q
Transformer_第41张图片
Transformer_第42张图片

你可能感兴趣的:(transformer,深度学习,自然语言处理)