这篇文章与Self-Attention with Relative Position Representations和Convolutional Self-Attention Network一样,都是考虑了token与token之间相对位置对attention的影响。和Convolutional Self-Attention Network是同一作者,发在EMNLP上。
背景知识
这篇文章把普通的self-attention的输出表示为:
注:的计算方式采用的是Scaled Dot-Product,详见Attention Mechanism
Localness Modeling
Localness Modeling as a Gaussian Bias
在普通self-attention的基础上,这篇文章引入了高斯分布,上述self-attention的计算可以修改为:
其中,
其中,被称为中心位置,而一般被设置为,代表窗口大小。
这里的设计与DiSAN: Directional Self-Attention Network for RNN/CNN-Free Language Understanding这篇文章中的backward/forward mask的设计思路一致
中心位置和窗口大小通过下面这个式子计算得出:
上述这个式子的目的是将与调节到0和(输入序列的长度)之间。
Central Position Prediction
Window Size Prediction
作者提出了三种预测window size的方法,并在实验中发现query-specific window是更好的一种。
Fixed-Window
最简单的就是使用固定长度的window,按照之间一些相似的探索(Effective Approaches to Attention-based Neural Machine Translation),这篇文章把长度设置为10。
Layer-Specific Window
将该层所有的token平均,计算出一个共享的window size:
Query-Specific Window
每一个query对应一个window