Transformer中的编码器不止一个,而是由一组N个编码器串联而成,一个编码的输出作为下一个编码器的输入,如下图所示,每一个编码器都从下方接收数据,再输出给上方,以此类推,原句中的特征会由最后一个编码器输出,编码器模块的主要功能就是提取原句中的特征
我们又可以将编码器中的结构进行细分
由上图可知,每一个编码器的构造都是相同的,并且包含两个部分
1:多头注意力层
2:前馈网络层
下面我们对其进行讲解
一、自注意力机制
让我们通过一个例子来快速理解自注意力机制
a dog ate the food because it was hungry
想必大家都能看懂这句英文的意思,句中的it可以指代dog也可以指代food,我们自然是很好理解,但是对于计算机而言该如何决定呢?自注意力机制有助于解决这个问题
以上句为例,我们的模型首先需要计算出单词A的特征值,其次计算dog的特征值,以此类推,当计算每个词的特征值时,模型都需要遍历每个词与句子中其他词的关系,模型可以通过词与词之间的关系来更好的理解当前词的意思
比如当计算it的特征值时,模型会将it与句子中的其他词一一关联,以便更好的理解它的意思
如下图所示&