本文不是一篇全文解读,仅谈一谈该模型的关键优势,了解我们在构建深度学习模型时使用 Transformer 模型的适用条件是什么。
什么是 Transformer?
Transformer 是 Google 的研究者于 2017 年在《Attention Is All You Need》一文中提出的一种用于 seq2seq 任务的模型,它没有 RNN 的循环结构或 CNN 的卷积结构,在机器翻译等任务中取得了一定提升。
动机
RNN、LSTM 和 GRU 网络已在序列模型、语言建模、机器翻译等应用中取得不错的效果。循环结构 (recurrent) 的语言模型和编码器 - 解码器体系结构取得了不错的进展。
但是,RNN 固有的顺序属性阻碍了训练样本间的并行化,对于长序列,内存限制将阻碍对训练样本的批量处理。
注意力机制 (attention) 已经成为各类任务中序列建模 (sequencem modeling) 和转导模型 (transduction model) 中的组成部分,允许对输入输出序列的依赖项进行建模,而无需考虑它们在序列中的距离。但之前的注意力机制都与 RNN 结合使用。
本文提出的 Transformer,是一种避免循环 (recurrent) 的模型结构,完全依赖于注意力机制对输入输出的全局依赖关系进行建模。因为对依赖的建模完全依赖于注意力机制,Transformer 使用的注意力机制被称为自注意力(self-attention)。
Transformer 为什么使用了自注意力
探讨使用自注意力层构建 Transformer 的原因,就是将自注意力层与循环层或卷积层做比较。