【NAACL 2018】Self-attention考虑相对位置,谷歌Vaswani团队最新工作

【导读】谷歌Vaswani团队最新工作,在Transformer的基础上利用相对位置或者序列元素之间的距离对self-attention进行扩展,既能有效提高翻译质量,又能提高效率。

【NAACL 2018论文】

Self-Attention with Relative Position Representations

论文链接:https://arxiv.org/abs/1803.02155

摘要



Vaswani等人在2017年介绍了一个完全依靠注意力机制的序列表示方法——Transformer,取得目前最好的机器翻译成绩。与递归神经网络和卷积神经网络相比,它没有在网络结构中显示地建模相对或绝对位置信息。相反,它需要在输入中添加绝对位置的表示。在这项工作中作者提出了另一种方法,将自注意力机制扩展到有效地考虑相对位置的表示,或序列元素之间的距离。在WMT2014从英语到德语和从英语到法语的翻译任务中,本文方法相比绝对位置表示分别提高了1.3 BLEU 和0.3 BLEU。值得注意的是,作者观察到将相对位置和绝对位置表示结合在一起,并不会进一步改进翻译质量。作者描述了本文方法的一个有效实现,并将其转换为一个关系感知的自注意力机制(relation-aware self-attention mechanisms)的实例,该机制可以推广到任意图形标记输入(graph labeled inputs)。

前言



目前sequence to sequence 学习的方法主要利用递归,卷积,attention,或者结合递归和attention。这些方法以不同的方式合并有关元素顺序位置的信息。递归神经网络(RNNs)通常计算隐藏状态ht,作为它们在时间t时的输入和先前的隐状态ht−1的函数,通过时序结构直接捕获时间维度上的相对位置和绝对位置。非递归模型不一定按顺序考虑输入元素,因此可能需要显式编码位置信息才能使用序列顺序。

一种常见的方法是使用与输入元素相结合的位置编码来向模型提供位置信息。这些位置编码可以是位置的确定性函数或学习表示。卷积神经网络本质上捕获每个卷积核大小内的相对位置。然而,它们仍然从位置编码中受益。

对于既不使用卷积也不使用递归的Transformer来说,引入位置信息的显式表示是一个特别重要的考虑因素,因为该模型在其他方面完全不受序列顺序的影响。因此,基于注意力的模型使用了基于距离的位置编码或偏置注意权重(biased attention weights)。

在本文中,作者提出了一种将相对位置表示引入Transformer自注意力机制的有效方法,即使完全取代其绝对位置编码,在两种机器翻译任务中,翻译质量也有了显著的提高。

作者的方法可以作为一种特例,将Transformer的自注意力机制扩展到考虑输入的任意两个元素之间的任意关系,这是作者计划在今后的标有向图建模工作中探索的方向。

背景知识



1. Transformer

Transformer采用由堆叠编码器和解码器层组成的编码器-解码器结构。编码器层由两个子层组成:self-attention层,然后是一个位置感知的前馈层。解码器层由三个子层组成:self-attention,然后是编码器-解码器attention,然后是一个位置感知的前馈层。它使用每个子层周围的残差连接,然后再进行层归一化。解码器在其self-attention中使用掩码以防止给定的输出位置在训练期间包含关于未来输出位置的信息。

在第一层之前,在编码器和解码器输入元件中添加基于频率变化的正弦信号的位置编码。与学习的绝对位置表示相比,作者假设正弦波位置编码将帮助模型推广到训练过程中未见的序列长度,使它能够学习参加相对位置,这一性质是由作者的相对位置表示所共有的,与绝对位置表示相比,相对位置表示与总序列长度是不一致的。

残差连接有助于将位置信息传播到更高的层。

2. Self-Attention

自注意力层采用h attention heads。为了形成子层输出,每个head的结果被连在一起,并应用参数化线性变换。每个attention heads在n个元素的输入序列x=(x1;…;xn)上操作,并计算新序列z=(z1;…;zn),其长度与x相同。

每个输出元素zi被计算为线性变换输入元素的加权和:

(1)

每个权重系数αij,使用一个Softmax函数计算:

而eij是使用比较两个输入元素的兼容性函数计算的:

(2)

为兼容性函数选择了缩放的点积,这使其能够进行有效的计算。输入的线性变换增加了足够的表现力。

是参数矩阵。这些参数矩阵对每一层和每一个attention head是唯一的。

算法结构



1. 位置感知的Self-Attention

作者提出了一个自注意力的扩展,考虑输入元素之间的成对关系。在这个意义上,作者将输入建模为标记的、有向的、完全连通的图。

输入元素xi,xj之间的边由a_ij^V 和a_ij^K 表示,学习两种不同的边缘表示的动机是a_ij^V 和a_ij^K分别适合方程3和4使用。不需要额外的线性变换。这些表示可以在attention head之间共享。

作者修改公式(1)将边缘信息传播到子层输出:

(3)

如果任务中由给定的attention head选择的边缘类型的信息对下游编码器或解码器层很有用,则这种扩展可能很重要。然而,这对于机器翻译来说可能并不是必需的。

重要的是,作者还修改了公式(2),在确定compatibility时考虑了边:

使用简单加法将边表示合并到等式(3)和(4)中的主要动机是为了使实现更有效。

2. 相对位置表示

图:示例边表示相对位置,或元素之间的距离。作者学习了在一个裁剪距离K内的每个相对位置的表示。这个图假设2<=k<=n−4。注意不是所有的边都显示出来了。

对于线性序列,边可以捕捉输入元素之间相对位置差异的信息,作者考虑的最大相对位置被剪裁到一个最大绝对值k。作者假设精确的相对位置信息在一定距离之外是不有用的。修剪最大距离还使模型能够推广到训练期间未观察到的序列长度。因此,作者考虑2k+1唯一的边缘标签。

然后作者学习相对位置表示

3. 有效实现

对于长度为n的,有h个attention heads的序列,通过在每个head上共享相对位置表示,作者将存储相对位置表示的空间复杂度从

降低到

。此外,相对位置表示可以跨顺序共享。因此,总体自注意力空间复杂性从

变为

当作者考虑相对位置时,表示因位置pair的不同而不同。这使得作者无法计算单个矩阵乘积中所有位置pair的所有eij。作者也希望避免广播相对位置表示。然而,这两个问题都可以通过将方程的计算分开来解决。方程(4)分为两项:

(5)

实验



表1:WMT2014从英语到德语和从英语到法语的翻译任务的结果

表2:改变裁剪距离k的实验结果

表3:去掉相对位置表示的实验结果

结论



本文提出了一种对自注意力的扩展,它可以用于包含序列的相对位置信息,从而提高了机器翻译的性能。在今后的工作中,作者计划将这种机制扩展为考虑任意有向、有标记的图输入到Transformer。作者还感兴趣的是将输入表示和边缘表示结合在一起的非线性兼容性函数。对于这两个扩展,一个关键的考虑因素将是高效实现。

原文链接:

https://arxiv.org/pdf/1803.02155.pdf

原文发布于微信公众号 - 专知(Quan_Zhuanzhi)

原文发表时间:2018-05-25

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

RNN在自然语言处理中的应用及其PyTorch实现

1552
来自专栏机器之心

教程 | 如何使用贪婪搜索和束搜索解码算法进行自然语言处理

2935
来自专栏SeanCheney的专栏

《Scikit-Learn与TensorFlow机器学习实用指南》 第15章 自编码器

自编码器是能够在无监督的情况下学习输入数据的有效表示(叫做编码)的人工神经网络(即,训练集是未标记)。这些编码通常具有比输入数据低得多的维度,使得自编码器对降维...

1363
来自专栏AI科技评论

干货 | 完全图解RNN、RNN变体、Seq2Seq、Attention机制

AI科技评论按:本文作者何之源,原文载于知乎专栏AI Insight,AI科技评论获其授权发布。 本文主要是利用图片的形式,详细地介绍了经典的RNN、RNN几个...

4764
来自专栏专知

深度学习文本分类方法综述(代码)

【导读】本文是数据科学家Ahmed BESBES的一篇博文,主要内容是探索不同NLP模型在文本分类的性能,围绕着文本分类任务,构建当前主流的七种不同模型:用词n...

1.1K3
来自专栏ATYUN订阅号

【深度学习】UPN分支介绍—深度信念网络基础原理与架构

图像来源(http://www.cognitivetoday.com/wp-content/uploads/2016/10/DCN-600×392.png) 我...

3706
来自专栏机器之心

观点 | 从信息论的角度理解与可视化神经网络

选自TowardsDataScience 作者:Mukul Malik 机器之心编译 参与:Pedro、思源 信息论在机器学习中非常重要,但我们通常熟知的是信息...

6195
来自专栏人工智能LeadAI

GoogLeNet的心路历程(二)

本文介绍关于GoogLeNet的续作,习惯称为inception v2,如下: [v2] Batch Normalization: Accelerating D...

3646
来自专栏轮子工厂

神经网络的相关概念

感知机是由科学家Frank Rosenblatt发明于1950至1960年代,它受到了Warren McCulloch 和Walter Pitts的更早工作的启...

933
来自专栏WOLFRAM

用Wolfram语言绘制一笔画环形迷宫

3524

扫码关注云+社区

领取腾讯云代金券