知乎专栏:10分钟带你深入理解Transformer原理及实现
关于encoder和decoder
Encoder总览
Encoder端由N(原论文中N=6)个相同的大模块堆叠而成,其中每个大模块又由两个子模块构成,这两个子模块分别为多头self-attention模块,以及一个前馈神经网络模块。
需要注意的是,Encoder端每个大模块接收的输入是不一样的,第一个大模块(最底下的那个)接收的输入是输入序列的embedding(embedding可以通过word2vec预训练得来),其余大模块接收的是其前一个大模块的输出,最后一个模块的输出作为整个Encoder端的输出。
Decoder总览
Decoder端同样由N(原论文中N=6)个相同的大模块堆叠而成,其中每个大模块则由三个子模块构成,这三个子模块分别为多头self-attention模块,多头Encoder-Decoder attention交互模块,以及一个前馈神经网络模块。
同样需要注意的是,Decoder端每个大模块接收的输入也是不一样的,其中第一个大模块(