GoogleBrain提出基于固定尺寸记忆表示的注意力模型

发布时间:2017-07-13

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

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

论文摘要:

    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上下文,进行线性组合。这中方法比基于解码器编码内同的诸葛计算上下文更加节省计算量。

论文:Efficient Attention using a Fixed-Size Memory Representation

来源:雷锋网