文章大纲
简介
循环神经网络,虽然它很强大,但是也存在一些弊端。其中比较突出的问题是,循环神经网络每个循环单元都有向前依赖性,也就是当前时间步的处理依赖前一时间步处理的结果。这个性质可以使序列的“历史”信息不断被传递,但是也造成模型运行效率的下降。
特别是对于自然语言处理任务,序列往往较长,无论是传统的 RNN 结构,还是更为复杂的 LSTM 结构,都需要很多次循环单元的处理才能够捕捉到单词之间的长距离依赖。
由于需要多个循环单元的处理,距离较远的两个单词之间的信息传递变得很复杂。
针对这些问题,研究人员提出了一种全新的模型——Transformer。与循环神经网络等传统模型不同,Transformer 模型仅仅使用自注意力机制和标准的前馈神经网络,完全不依赖任何循环单元或者卷积操作。自注意力机制的优点在于可以直接对序列中任意两个单元之间的关系进行建模,这使得长距离依赖等问题可以更好地被求解。此外,自注意力机制非常适合在 GPU 上进行并行化,因此模型训练的速度更快。表对比了 RNN、CNN 和 Transformer 层类型的复杂度1