yangyang12138

导航

Transfromer模型

1.概述

transformer是一种应用很广泛的语义模型,最近很多NLP场景已经应用了transformer,有的是使用transformer的整个seq2seq架构,也有很多任务只使用其encoder部分,包括最近很火的GPT/BERT。

2.整体框架

 

3.encoder-decoder框架

1).输入层

这一层仅仅是做了embedding操作,然后将token映射成向量。

然后将position和embedding做positional encoding操作。

为了能和embedding层的信息做sum,positional encoding layer与embedding层保持相同的维度数。
paper中提供了两种positon embedding 的方法,一种是直接训练得到,另一种是sine/cosine 来表征token的位置信息,具体公式如下

 

其中pos表示token的位置,即当前token是第几个token;i 表示dimension。

2).Encoder层

Multi-Head Attention

 

Scaled Dot-Product Attention

 

Feed Forward

Position-wise Feed-Forward Networks 是由两个使用ReLU作为激活函数的线性变换构成的,具体数学表达式如下

在这里插入图片描述

 

3).Decoder

除Multi-Head Attention以外与encoder一样

Multi-Head Attention
这里的Multi-Head Attention与Encoder中的区别是此处的 Q=上一层decoder编码结果,K=V=Encoder编码结果
添加这个layer的作用(或者说目的)是引入encoder的信息,并根据上一层Masked Multi-Head Attention的输出,focus在与生成下一个word最相关的words上
 

 

posted on 2020-05-14 23:57  杨杨09265  阅读(296)  评论(0编辑  收藏  举报