学界 | Google Brain提出基于固定尺寸记忆表示的注意力模型,翻译任务推理速度提高20%

AI科技评论按:Attention模型是近些年来自然语言处理领域重要的进展之一。注意力模型是从认知心理学中人脑注意力模型中引入的概念,在人观察世界时,对不同对象的关注程度是不同的,比如你在看书仔细品味文章中的一句话时,虽然你能看到整页的文字,但是注意力的焦点集中在这个句子上,其他文字虽然还在你的眼中,但是实际分配到的注意力是很少的。自然语言处理中也是同理,输入文本的不同部分对输出的贡献是不同的,即需要分配的注意力权重不同。使用注意力模型能够得到更好的生成结果。

由于标准的基于内容的attention机制主要应用在sequence-to-sequence模型中,由于该方法需要在每个时间状态下大量比较编码器和解码器的状态,因此需要大量计算资源。Google Brain的研究者Denny Britz, Melody Y. Guan和Minh-Thang Luong提出了固定尺寸记忆表示的高效注意力模型,能够将翻译任务推理速度提高20%。

以下为 AI 科技评论据论文内容进行的部分编译。

论文摘要:

Sequence-to-sequence模型在许多任务得到了最好的效果,例如神经机器翻译(Neural Machine Translation,NMT),文本概括(text summarization),语音识别,图像配字幕,以及对话建模等。

最流行的attention方法基于编码器-解码器架构,包含两个循环神经网络和attention机制使得目标与源符号对齐。在这种结构中使用的典型attention机制计算在每个解码步骤中基于解码器当前的状态计算新的attention上下文。更直观的说法是,这对应于每个单个目标符号输出之后查看源序列。

受人类是如何处理句子的启发,研究者认为在每个步骤中可能没有必要回顾整个原始源序列。因此,研究者提出了一种替代attention机制,可以使得计算时间复杂度的降低。该方法在读取源数据时,预测K attention上下文向量。并学习在每个解码步骤中使用这些向量的加权平均值。因此,一旦编码了源序列,就避免回头看。结果显示,这可以加速推理。同时,在玩具数据集和WMT翻译数据集上,该方法达到了与标准attention机制相若的性能。结果还显示,随着序列变长,该机制能够实现更多的加速。最后,通过可视化attention分数,研究人员验证了该技术能够学习有意义的对比,并且不同的attention上下文向量专注于源的不同部分。

上图为该方法与标准注意力模型的结构对比。在编码阶段预测K个attention向量,在解码阶段线性组合这些预测。在上图中K=3。可以将基于记忆的注意力模型解释为“预测”编码期间由标准attention机制产生的一组注意上下文。如上图,K=3,在这种情况下,在编码阶段预测所有3种attention上下文,并在解码过程中学习选择合适的attention上下文,进行线性组合。这中方法比基于解码器编码内同的诸葛计算上下文更加节省计算量。

实验结果

玩具数据集结果:

由于计算时间复杂度的下降,该方法能够得到更高的性能表现,尤其是对于那些较长的序列,或者那些能够被紧凑表示为一个固定尺寸记忆矩阵的任务。为了研究速度和性能之间的权衡,研究者比较了该方法和标准模型在具有和不具有attention的情况下在Sequence Copy Task上的表现。

下表展示了该模型在不同序列长度和K的情况下的BLEU分数。较大的K可以计算复杂的源表示,值为1的K限制了源表示为单个向量。可以看到,性能一直随着K的增加而增加,这取决于数据长度,更长的序列需要更复杂的表示。无论是否具有位置编码,结果在玩具数据集上几乎相同。尽管表示能力较低,但该方法仍与标准attention机制模型一样能够拟合数据。两者都以显著的差距击败non-attention基线。最后一列表明了该方法能够极大的加速推理过程,随着序列长度变长,推理速度的差距越来越大。

下图左侧展示了序列长度为200的学习曲线。可以看到K=1不能拟合数据分布,而K∈{32,64}几乎与基于attention的模型一样快。越大的K能够导致更快的收敛速度,较小的K的性能与non-attention基线相似。右图展示了在softmax和sigmoid之间改变编码器和解码器评分函数的效果。所有组合都可以拟合数据,但有些收敛速度比其他更快。

机器翻译数据集结果:

接下来,研究者测试了基于记忆的attention方法能否拟合复杂的真实数据集。研究人员使用了WMT’15的4个大型机器翻译数据集:English-Czech, EnglishGerman, English-Finish, 和English-Turkish。

上表展示了该模型即使在拥有16K词汇的大型复杂数据集上仍有更快的解码速度。该时间实在整个验证集上测量的解码时间,没有包括模型设置和数据读取的时间,为运行10次的平均时间。数据中平均序列长度为35,对于其他有更长序列长度的任务,该方法应该会有更显著的速度提升。

左:en-fi的训练曲线 右:en-tr的训练曲线

上图展示了在编码器和解码器中使用sigmoid和softmax函数的效果。Softmax/softmax的性能表现最差,其他的组合表现几乎相当。

可视化Attention:

上图为在序列长度为100的玩具数据集中对每个样本进行解码的每个步骤中的attention分数。(y轴:源符号; x轴:目标符号)

上图为在序列长度为11的样本上的K=4的解码的每个步骤的attention分数,(y轴:源; x轴:目标)

上图为在使用sigmoid评分函数和K=32的模型下,对每个步骤进行解码的en-de WMT翻译任务的attention分数。左侧子图分别显示每个单独的attention向量,右侧子图显示attention的完整组合。

论文地址:https://arxiv.org/abs/1707.00110,AI 科技评论编译

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-07-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法工程师

机器学习之——自动求导

作者:叶虎 小编:张欢 随机梯度下降法(SGD)是训练深度学习模型最常用的优化方法。在前期文章中我们讲了梯度是如何计算的,主要采用BP算法,或者说利用链式法则...

3268
来自专栏小詹同学

你不得不了解的8种神经网络结构!

中长文预警!文末附赠大量资源!切勿错过! 机器学习已经在各个行业得到了大规模的广泛应用,并为提升业务流程的效率、提高生产率做出了极大的贡献。目前机器学习主要在以...

4446
来自专栏目标检测和深度学习

你不得不了解的8种神经网络结构!

机器学习已经在各个行业得到了大规模的广泛应用,并为提升业务流程的效率、提高生产率做出了极大的贡献。目前机器学习主要在以下方面应用: 模式识别:实际场景中的目标、...

4088
来自专栏机器之心

教程 | 通过PyTorch实现对抗自编码器

选自Paperspace Blog 作者:Felipe 机器之心编译 参与:Jane W、黄小天 「大多数人类和动物学习是无监督学习。如果智能是一块蛋糕,无监督...

4096
来自专栏绿巨人专栏

强化学习读书笔记 - 00 - 术语和数学符号

40311
来自专栏Jayden的专栏

机器学习的一些术语

卷积神经网络最初是用来处理多维数组数据,比如,一张由三个2D数组组成、包含三个彩色通道像素强度的彩色图像。大量的数据模式都是多个数组形式:1D用来表示信号和序列...

1310
来自专栏大数据挖掘DT机器学习

【机器学习】迭代决策树GBRT

一、决策树模型组合 单决策树C4.5由于功能太简单,并且非常容易出现过拟合的现象,于是引申出了许多变种决策树,就是将单决策树进行模型组合,形成多决策...

3276
来自专栏云时之间

NLP系列学习:概率图模型简述

在之前的一段时间里,忙于周围的乱七八糟的事情,在更新了上一期之后自己也很久没有更新,自己也想,如果自己没有用一种良好的心态去回忆总结自己所学的知识,即使花费再多...

41511
来自专栏绿巨人专栏

神经网络学习笔记-04-循环神经网络算法解释

3285
来自专栏机器之心

NAACL2018 | 杰出论文:RNN作为识别器,判定加权语言一致性

选自arXiv 机器之心编译 参与:Pedro、刘晓坤 4月11日,NAACL 2018公布了四篇杰出论文,分别关注于词表征、语句映射、文本生成和RNN。机器之...

2795

扫码关注云+社区