Transformer:
一、 总体架构
Transformer是“编码器—解码器”架构,由编码器(encoder)和解码器(decoder)组成,其都是多头自注意力模块的叠加。其中,input sequence分成两部分,分别为源(input)输入序列和目标(output)输出序列。前者输入编码器,后者输入解码器,两个序列均需进行embedding表示并加入位置信息。
二、 encoder
1. 总体架构:
Transformer编码器由多个相同的层叠加而成,每个层都有两个子层(sublayer),第一个是多头自注意力(multi-head self-attention)汇聚;第二个子层是基于位置的前馈神经网络。每个子层都采用了残差链接。
2. 架构设计:
- 首先对输入序列进行词嵌入表示并加入位置信息。
- 之后,将当前编码器层的输入序列放入多头自注意力层生成新的向量。具体来说,在计算编码器的自注意力时,查询、键和值都来自于前一个编码器层的输出。
- 将多头自注意力层的输出与当前编码器层的输入做残差连接并将结果做layer normalization。
- 将layer normalization后的结果放入全连接层(feed forward)层。该层的作用是对自注意力层中输出的所有位置表示进行变换,所以其被称为基于位置的前馈神经网络。
- 之后进行残差连接并进行layer normalization。
- 将结果送入下一个编码器层重复次。
三、 decoder
1.总体架构
文章出处登录后可见!
已经登录?立即刷新