美文网首页
Modeling Localness for Self-Atte

Modeling Localness for Self-Atte

作者: 哒丑鬼 | 来源:发表于2018-12-16 21:04 被阅读0次

    这篇文章与Self-Attention with Relative Position RepresentationsConvolutional Self-Attention Network一样,都是考虑了token与token之间相对位置对attention的影响。和Convolutional Self-Attention Network是同一作者,发在EMNLP上。

    背景知识

    这篇文章把普通的self-attention的输出表示为:
    \begin{aligned} z _ { i } &= \sum _ { j = 1 } ^ { n } \alpha _ { i j } \left( x _ { j } W ^ { V } \right)\\ \alpha _ { i j } &= \frac { \exp e _ { i j } } { \sum _ { k = 1 } ^ { n } \exp e _ { i k } } \\ e _ { i j } &= \frac { \left( x _ { i } W ^ { Q } \right) \left( x _ { j } W ^ { K } \right) ^ { T } } { \sqrt { d _ { z } } } \end{aligned}

    注:e_{ij}的计算方式采用的是Scaled Dot-Product,详见Attention Mechanism

    Localness Modeling

    Localness Modeling as a Gaussian Bias

    在普通self-attention的基础上,这篇文章引入了高斯分布,上述self-attention的计算可以修改为:
    \begin{aligned} z _ { i } &= \sum _ { j = 1 } ^ { n } \alpha _ { i j } \left( x _ { j } W ^ { V } \right)\\ \alpha _ { i j } &= \frac { \exp (e _ { i j } + G_{ij}) } { \sum _ { k = 1 } ^ { n } \exp (e _ { i k }+G_{ik}) } \\ e _ { i j } &= \frac { \left( x _ { i } W ^ { Q } \right) \left( x _ { j } W ^ { K } \right) ^ { T } } { \sqrt { d _ { z } } } \end{aligned}
    其中,
    G _ { ij } = - \frac { \left( j - P _ { i } \right) ^ { 2 } } { 2 \sigma _ { i } ^ { 2 } }
    其中,P_i被称为中心位置,而一般\sigma _ { i }被设置为\frac { D _ { i } } { 2 }D_i代表窗口大小。

    这里G的设计与DiSAN: Directional Self-Attention Network for RNN/CNN-Free Language Understanding这篇文章中的backward/forward mask的设计思路一致

    中心位置和窗口大小通过下面这个式子计算得出:
    \left[ \begin{array}{c}{P_{i}} \\ {D_{i}}\end{array}\right]=I \cdot \operatorname{sigmoid}\left(\left[ \begin{array}{c}{p_{i}} \\ {z_{i}}\end{array}\right]\right)
    上述这个式子的目的是将P_iD_i调节到0和n(输入序列的长度)之间。

    Central Position Prediction

    p _ { i } = U _ { p } ^ { T } \tanh \left( W _ { p } x _ { i } \right)

    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:
    z = U _ { d } ^ { T } \tanh \left( W _ { d } \overline { \mathbf { K } } \right)

    Query-Specific Window

    每一个query对应一个window
    z _ { i } = U _ { d } ^ { T } \tanh \left( W _ { p } x _ { i } \right)

    相关文章

      网友评论

          本文标题:Modeling Localness for Self-Atte

          本文链接:https://www.haomeiwen.com/subject/zyzxkqtx.html