雷锋网 AI 科技评论按:近几天,一篇 ICLR 2019 的拒稿引起了部分研究人员的注意。它不仅是一个能够处理可变长度序列的模型,在多个任务中刷新了当前的最好性能,而且它还是 Transformer 模型的第三代升级。它的名字叫作「Transformer-XL」(加大号的 Transformer)。
2017 年 6 月,谷歌大脑在论文《Attention Is All You Need》中提出了一个完全基于注意力机制的编解码器模型 Transformer ,它完全抛弃了之前其它模型引入注意力机制后仍然保留的循环与卷积结构,然后在任务表现、并行能力和易于训练性方面都有大幅的提高。Transformer 从此也成为了机器翻译和其它许多文本理解任务中的重要基准模型。
2018 年 7 月,谷歌大脑在新论文《Universal Transformer》中对最初的 Transformer 进行了拓展,让它具有通用计算能力(也就是「图灵完备」)。他们使用了一种新型的、注重效率的时间并行循环结构,这样的设计让它不仅比 RNN 中使用的串行循环速度更快,也让 Universal Transformer 比标准的前馈 Transformer 更加强大,在更多任务中取得了有力的结果。(雷锋网 AI 科技评论详细解析文章见 这里)
谷歌大脑的第三代 Transformer 也在 2018 年下半年完成。他们首先投稿了 ICLR 2019,近期论文评审结果陆续揭晓后他们把论文上传到了 arXiv。
这篇论文《Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context》(Transformer-XL: 超越固定长度内容之外的注意力语言模型, https://arxiv.org/abs/1901.02860, https://openreview.net/forum?id=HJePno0cYm)把注意力放在了拓展模型大小,以及给模型增加可变长度序列的处理能力上。论文由谷歌大脑、谷歌 AI 的研究人员和 CMU 教授、苹果机器学习总监 Ruslan Salakhutdinov 和他的学生们共同完成。
论文摘要如下:
Transformer 网络其实有潜力学习更长期的依赖关系,但是在目前的语言建模任务的环境设置之下,网络的输入被限制为固定长度的内容。为了发掘这种潜力,作者们提出了一种新的神经网络架构,Transformer-XL,它可以让 Transformer 网络在长度不固定的内容中学习依赖,同时还不会干扰时空一致性。具体来说,Transformer-XL 由一个小节级别的循环机制和一个新设计的位置编码器模式组成。这种方法不仅让模型可以捕捉到长期的依赖,同时也可以解决内容分块的问题。这样的方法的效果是,Transformer-XL 学到的依赖要比 RNN 学到的长 80%,比最初的 Transformer 网络长 450%,在长、短序列上都取得了更好了性能,而且在推理时最高也要比最初的 Transformer 网络快超过 1800 倍。除此之外,作者们也刷新了多项任务中的最好成绩,text8 数据集从 1.13 提升至 1.08,WikiText-103 上从 20.5 提升至18.3,One Billion Word 数据集上从 23.7 提升至 21.8,Penn Treebank 数据集上从 55.3 提升至 54.5(而且不需要精细调节)。模型的代码、预训练模型、超参数都会同时提供 Tensorflow 和 PyTorch 版本。
值得说明的是,和 RNN 网络相比,Transformer 架构的网络家族可以轻松地加大网络规模,不仅更早的论文中 64 层的 Transfomer 拥有 2.35 亿个参数,这次 24 层的 Transformer-XL 更是达到了 2.77 亿的参数规模(当然也取得了更好的表现)。
即便这篇论文投稿到 ICLR 2019 并被拒了(拒稿原因包括「创新点不多」、「无法证明性能提升来自于工程手段还是新的思路」、「应当包括来自机器翻译任务的 ASR 表现」、「没有进行更丰富多样的实验」等),包括 David Ha 在内的许多学者还是认为这是一篇优秀的论文。David Ha 的评价是:它非常有用,在论文的补充材料中提供的代码可以在语言建模之外的许多任务中发挥作用。
感兴趣的读者可以详细阅读论文,并自己尝试作者们提供的预训练模型。
论文地址:https://arxiv.org/abs/1901.02860
代码开源:https://github.com/kimiyoung/transformer-xl,包含 PyTorch 和 TensorFlow 的模型实现,而且带有预训练的模型
雷锋网 AI 科技评论报道