本文提出了一个全新的模型架构Transformer,在Transformer模型提出前,机器翻译主要使用的模型是Seq2Seq和加入attention机制的Seq2Seq。Transformer与这些模型的基本架构类似,都由Encoder和Decoder组成,但不同之处在于Transformer模型中没有使用RNN/LSTM或CNN,仅仅使用了attention机制,就完成了输入到输出之间的并行计算。Transformer的优点可以总结为以下几点:
- Seq2Seq模型的Encoder将输入序列编码为一个固定长度的向量表示,输入向量的所有语义信息都包含在了一个向量中,当输入向量长度很长的时候,这样做会损失输入向量的很多语义信息。Transformer模型很好的解决了这一问题。
- 传统的Seq2Seq模型以及加入attention机制的Seq2Seq模型,因为模型由RNN/LSTM组成,所有无法实现输入输出的平行化(在Encoder端模型需要依次读取到所有的输入后才可以得到输出)。Transformer模型同样很好的解决了这一问题。
1.模型整体架构
本文提出了Transformer模型,模型架构图如上图所示。从图中可以看出,Transformer也是由一个Encoder和一个Decoder组成。inputs输入经过编码后得到input embedding,input embedding加入位置信息编码positional encoding一起输入到Encoder。经过Encoder的编码处理后,将Encoder得到的输出输入到Decoder中。Decoder同样接收Decoder的输入,输入