DiSAN(18’AAAI)

在这里插入图片描述

 DiSAN: Directional Self-Attention Network for RNN/CNN-Free Language Understanding
 https://github.com/taoshen58/DiSAN

motivation

取代RNN和CNN,提出只有attention组成的适用于不同NLP任务的框架

Multi-dimensional Attention

在这里插入图片描述
传统attention和mulit-attention对比(均为MLP类型):
传统attention:略
mulit-attention:(attention权重维度和word_emb相同)
在这里插入图片描述
加入偏置:
在这里插入图片描述
attention输出(每个维度的权重和对应的word_emb维度相乘,最后加权):
在这里插入图片描述
s s s最后也是 d e d_e de
强调:在自然语言中,单词嵌入通常会受到多义性的影响。由于传统的注意力是基于单词嵌入为每个单词计算一个重要性分数,所以它不能区分同一个单词在不同上下文中的含义。然而,multi-attention为每个单词的每个特征计算一个分数,因此它可以选择在任何给定的上下文中最能描述单词特定含义的特征,并将该信息包含在句子编码输出中。

Two types of Multi-dimensional Self-attention

  1. token2token

探索一个序列中 x i x_i xi x j x_j xj的依赖,用 x j x_j xj取代 q q q:
在这里插入图片描述
然后计算multi-attention分布矩阵P ∈R^(d_e×n),所以,对xj的输出:
在这里插入图片描述
所以对所有元素的输出:
在这里插入图片描述

  1. source2token
    探索 x i x_i xi和整个序列 x x x的依赖,并将序列 x x x压缩成一个向量:
    在这里插入图片描述
    然后multi-attention矩阵: P P P 1 _1 1 : _: : n _n n=softmax( f f f x i x_i xi)) ∈ R R R d ^d d e ^e e × ^× × n ^n n
    然后对应加权

Directional Self-Attention(DiSA)

在这里插入图片描述

DiSA由一个完全连接的层组成,其输入是token嵌入 x x x,一个“masked”多维token2token自我注意块来探索依赖性和时间顺序,以及一个融合门来组合注意块的输出和输入。

输入序列: x x x=[ x 1 x_1 x1,…, x n x_n xn] ,经过一个全连接层得到隐藏状态: h h h=[ h 1 h_1 h1,…, h n h_n hn]:
在这里插入图片描述
在这里插入图片描述
然后对h应用token2token multi-attention,但是做了两个修改使attention具有方向性

  1. 对公式(10)应用位置mask:mask矩阵 M M M:
    在这里插入图片描述
    并增加一个参数c=5降低模型整体参数
    为什么mask可以建模方向性的attention:来看原文怎么说:
    在这里插入图片描述
    另外,同样禁用了对自身的关注:
    在这里插入图片描述
    并使用mask矩阵将时间顺序信息编码到注意力输出中。在本文中,使用两种掩模,即forward mask 和backward mask:
    在这里插入图片描述
    forward使句子中的token只关注其前面的token,backward mask反之。
    经过这些处理后,可以得到注意力矩阵P,然后对应位置加权得到s:
    在这里插入图片描述
    最后DiSA的输入有一个门口单元结合u和h:
    在这里插入图片描述

Directional Self-Attention Network

在这里插入图片描述
对于输入序列x,分别经过forward mask self-attention和backward mask self-attention得到 u f u_f uf u b u_b ub R R R d ^d d e ^e e × ^× × n ^n n
然后连接 u f u_f uf u b u_b ub:[ u f u_f uf; u b u_b ub]∈ R R R 2 ^2 2 d ^d d e ^e e 作为token2token self-attention输出s∈ R R R 2 ^2 2 d ^d d e ^e e
得到的向量可以用作下游NLP任务

Experiments

Natural Language Inference

参数大小和性能:
在这里插入图片描述

Sentiment Analysis

在这里插入图片描述

Semantic Relatedness

在这里插入图片描述

Sentence Classifications

在这里插入图片描述

可视化分析

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43390809/article/details/111084638
18
今日推荐