Self-Attention with Relative Position Representations(2018)

在这里插入图片描述

transformer与递归和卷积神经网络不同,它不显式地对其结构中的相对或绝对位置信息进行建模在这项工作中,本文提出了另一种方法,扩展自我注意机制,以有效地考虑相对位置的表示,或序列元素之间的距离。

在这项工作中,我们提出了一种将相对位置表征结合到transformer self-attention中的有效方法。即使完全替换其绝对位置编码,我们也在两个机器翻译任务上证明了翻译质量的显著提高。

主要对相对位置编码做了一个扩展,attention中在第一层之前,将基于变化频率的正弦的位置编码与编码器和解码器输入相加。与学习绝对位置表示的方法不同,atttention作者假设正弦位置编码将通过允许模型学习以及相对位置,从而帮助模型泛化,可以计算在训练过程中没有见过的序列长度。与绝对位置表示法不同,本文的相对位置表示方法共享了这一属性,它不随总序列长度而变化。

残差连接有助于将位置信息传递到高层layer。

原来的self-attention公式:
a t t e n t i o n = s o f t m a x ( Q K T d ) V attention = softmax(\frac{QK^T}{\sqrt{d} } )V attention=softmax(d QKT)V
a t t e n t i o n = Z i = ∑ j n α i j ( x i j W V ) attention =Z_i = \sum_{j}^{n}\alpha _{ij}(x_{ij}W^{V}) attention=Zi=jnαij(xijWV)
( Q K T / d ) : e i j = ( x i W Q ) ( x j W k ) T d z (QK^T/\sqrt[]{d} ):e_{ij}=\frac{(x_iW^{Q})(x_jW^{k})^T}{\sqrt[]{d_z} } (QKT/d ):eij=dz (xiWQ)(xjWk)T
s o f t m a x ( Q K T d ) : α i j = exp ⁡ e i j ∑ k = 1 n exp ⁡ e i k softmax(\frac{QK^T}{\sqrt[]{d} }):\alpha_{ij}=\frac{\exp e_{ij}}{\sum\nolimits_{k=1}^{n}\exp e_{ik} } softmax(d QKT):αij=k=1nexpeikexpeij
V : x i j W V V:x_{ij}W^V V:xijWV

扩展:将V和K进行扩展,分别添加一个额外的值 a i j V , a i j K a_{ij}^{V},a_{ij}^{K} aijV,aijK进去
在这里插入图片描述

输入元素 x i 与 x j x_i 与x_j xixj之间的边表示为 a i , j V , a i , j K ∈ R d a a_{i,j}^V,a_{i,j}^K \in R^{d_a} ai,jV,ai,jKRda
在这里插入图片描述
这里W的下标表示相对于当前位置的偏移量,例如 a 2 , 1 a_{2,1} a2,1 2 是当前位置,1是前一个位置,下标就是-1 (1-2), a 2 , 4 a_{2,4} a2,4 ,当前为2 ,相关位置为4,就是向后偏移两个位置,因此下标为2(4-2),也就是相对位置距离,这也符合了标题的相对位置信息。

对于线性序列来说,“边(EDGE)”可以捕获不同元素之间相对位置差异的信息,我们考虑最大相对位置被限制为最大绝对值K。假设超过某个距离之后,精确的相对位置信息是没有用的。裁剪修改最大距离可以是模型泛化能力更好,可以泛化到训练期间没有见过的序列。综上,作者考虑2K+1个独立的 edge label。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值