Transformer是什么
Transformer是Google在2017年的论文《Attention Is All You Need》中所提出的一种Seq2Seq的模型,该模型完全的抛弃了以往深度学习所使用的CNN、RNN等结构而全部使用Attention结构。Transformer的效果和并行性都非常好,其作为一个整体能被用于机器翻译、语音识别、文本摘要等传统Seq2Seq被应用的领域,基于其Encoder部分所构建的Bert、基于其Decoder部分所构建的GPT都是目前NLP领域十分热门的模型。
Transformer的结构
总体结构
Transformer采用Seq2Seq架构,分为Encoder和Decoder模块,Encoder由6个Encoder子模块堆叠而成,Decoder由6个Decoder子模块堆叠而成。下图为其总览图:
每一个Encoder子模块和Decoder子模块的内部结构如下图:
可以看到,每个Encoder子模块包含两层,一个self-attention层和一个前馈神经网络;每个Decoder子模块包含三层,在self-attention层和前