已开源!谷歌将AutoML应用到Transformer架构,实现机器翻译最佳性能

2019-06-20 16:32:00 浏览数 (1)

铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI

AutoML在NLP领域中的应用又多了新资源。

谷歌最新博客表示,此前在语言建模和翻译等序列任务中,Transformer架构已经展现出了极大的优势,但这些架构几乎均为手动设计,与视觉领域差异巨大。

能不能用更自动的方式应用这一高效的架构?

谷歌研究人员就此一试,找到一种新的Transformer架构,代号Evolved Transformer(简称ET)来测试自动机器学习方法AutoML在Transformer架构中应用如何。

和以往其他Transformer不同,ET能够根据特定任务进行定制,在机器翻译领域得到了最先进的结果,并且对语言建模任务也进行了改进。

这条推特发出后收获了不少关注,目前有800多个点赞,近300人转发了这项研究。

网友对此表示认可,表示和人类教机器相比,机器教机器才是正解嘛!

目前,Evolved Transformer已开源,也是Google基于TensorFlow新架构Tensor2Tensor的一部分了,任何人都可以免费使用。

“混合体”架构

想要在翻译任务上进行大规模NAS(神经网络架构搜索),必须先要评估每个架构的适应性任务。在这个预热阶段,有两种方法。

一种是通过暖启动(warm starting)的方式,研究人员在初始种群中用Transformer进行播种,不采用随机模型,这有利于在搜索空间中的搜索。

第二种方法被称为Progressive Dynamic Hurdles (PDH),增强了进化搜索,将更多资源分配给更强健的候选者,若模型不好则PDH就会终止评估,重新分配资源。

利用这两种方法,研究人员在机器翻译上进行大规模NAS,找到了Evolved Transformer。

和大多数序列到序列的神经网络架构类似,Evolved Transformer的编码器能将输入序列作为嵌入,解码器能将嵌入输出序列。

Evolved Transformer还有一个有趣的特点,它的编码器和解码器模块底部的卷积层的添加模式很有意思,在两个地方都以类似的分支模式添加,即在合并到一起时,输入通过两个独立卷积层。

上图为Evolved Transformer(右)与最初Transformer编码器架构对比。

虽然最初的Transformer架构依赖于自注意,但Evolved Transformer为一个混合结构,利用了自注意和宽卷积。

SOTA结果

研究人员进行了不同类型的测试,证明Evolved Transformer是有效的。

先是用英语到德语的翻译任务,对Evolved Transformer和原始Transformer进行对比。

结果显示,在所有参数size下,Evolved Transformer的BLEU和perplexity performance的表现均超越原始Transformer。

此外,在WMT14 En-De英语-德语测试集上,Evolved Transformer实现了最佳性能,BLEU得分为29.8,SacreBLEU得分为29.2。

研究人员还在不同NLP任务上对比了这两种Transformer架构。

他们测试了用不同语言对的翻译任务,Evolved Transformer有所提升,其margin与英语-德语类似。因为新模型高效利用参数,因此对中型模型的提升较大。

在利用LM1B进行语言建模时,Evolved Transformer性能提升了将近两个perplexity。

传送门

Google官方博客: https://ai.googleblog.com/2019/06/applying-automl-to-transformer.html

开源地址:https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/models/evolved_transformer.py

论文地址: https://arxiv.org/abs/1901.11117

0 人点赞