赛尔实验室新作:如何使用选择机制提升自注意力网络能力

给大家介绍一篇今天刚看到的“小巧精致”的paper,论文的核心思想就是在自注意力阶段加入了选择机制,使得自注意力更加集中,可以作为通用手段用于各种自注意力的模型中提升效果,值得一看。

paper: https://www.aclweb.org/anthology/2020.acl-main.269.pdf

code: https://github.com/xwgeng/SSAN (2020-08-29日,还未放出)

原文地址:https://mp.weixin.qq.com/s/lHGe_sQsxfVNIJl_S924Vw (本文内容大部分都来自于这篇原文,加入少许自己的见解,所以作为转载文章发布)

1. 简介

自注意力网络(SANs)在许多自然语言处理任务中取得显著的成功,其中包括机器翻译、自然语言推理以及语义角色标注任务。相比传统的循环神经网络以及卷积神经网络,自注意力网络优势在于其高度的运算并行性以及更加灵活的建模输入元素的依存关系能力。传统的自注意力网络模型在计算每个元素的表示的时候,将所有的输入的元素考虑在内,而不管其对于当前元素的相关性。本问题提出通用的基于选择机制的自注意力网络模型(SSANs),其可以针对每个计算表示的元素,动态地选择其相关性的子集,以此作为输入进行后续的自注意力网络的计算。实验结果显示,SSANs模型在多个典型的自然语言处理任务上相比传统的自注意力网络模型获得提升。通过多个探测任务进行分析,SSANs相比传统的SANs模型有更强的词序信息编码能力以及结构信息建模能力。

2. 模型结构

2.1 传统的自注意力网络

现在的自注意力网络是传统的注意力网路的特例,其计算注意力权重的两个元素来源同样的输入序列。给定输入隐层表示,自注意力网络SANs首先将H分别线性变换成、以及。自注意力网络的输出O计算过程如下:img其中是基于点积的注意力机制,其计算过程如下:img其中√d是缩放因子且d是隐含层状态表示的维度。传统的自注意力网络结构如图 1所示。

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第1张图片图1 传统的自注意力网络框架

传统自注意力机制的两个问题:

1.单词顺序编码。SAN仅依靠既没有递归也没有卷积结构的注意力机制,没有结合序列顺序信息,即使将位置信息注入带有附加位置嵌入的输入单词嵌入中,SAN在学习单词顺序信息方面仍然很弱。

2.结构建模。由于缺乏学习结构信息的监督信号,SAN没办法学习到一个句子的语法信息和短语结构。

2.2 基于选择机制的自注意力网络

相比传统的自注意力网络,本文引入一个选择器模块(Selector),其主要针对每个待计算表示的元素,动态地选择输入元素的集合中的一个子集作为其相关元素集合,基于此集合进行后续的常规的自注意力网络的计算,其整体的框架如图 2所示。

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第2张图片图2 基本自注意力机制的自注意力网络框架

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第3张图片

 

个人理解,这里简单来说就是之前的SAN是Q、K矩阵一乘出来权重,乘个V就是最终输出向量,这里呢每个权重还额外乘了个sigmiod算一算(就是π(A)),你要是小于某个阈值我就当你是0,大于这个阈值你是原来的权重乘个系数,然后再和V相乘作为最终输出,这就叫做选择机制。

Gumbel-Sigmoid 本文使用gumbel-softmax对隐含变量A的梯度进行评估,其主要将离散的采样过程连续化,这样使用正常的BP算法就可以实现对其梯度评估。相比REINFORCE算法,其稳定性更高。本文策略网络使用sigmoid作为激活函数,其可以看作是softmax的特例,在我们这里每个词的输出π(A)就是两种情况嘛,Es或者0,从而依据gumbel-softmax函数计算方法,可以推导出gumbel-sigmoid形式如下:

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第4张图片

 

其中G'和G''是gumbel noise。

3 实验结果

基于选择机制的自注意力网络模型在三个典型的NLP任务上取得一致的提升。

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第5张图片

4 实验分析

4.1 词序信息编码能力评价

为了评价SSANs的对于局部词序信息以及全局词序信息编码的能力,本文引入两个特定的检测任务分别评价模型对于两种类型信息编码的能力。其中,局部词序信息检测任务目标是分类是否句子中存在两个相邻词的进行交换,而全局词序信息检测任务随机选择句子中的某个词语,并将其插入到另一个位置,而任务的目标就是通过分类找到被插入的词汇以及其原来所在的位置。实验结果显示,SSANs在两个任务上,相比传统的SANs,均取得较大的提升。通过分析其相应的自注意力网络权重发现,SSANs能够根据任务将更多的注意力权重分配到重要的信息建模上。

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第6张图片

 

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第7张图片

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第8张图片

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第9张图片图4 全

4.2 结构信息建模能力评价

为了评价SSANs对于结构信息的建模能力,本文首先引入两个检测任务评价模型对于结构信息的捕捉能力。其中一个任务目标是测试模型是否可以根据组合语法树的深度对于输入的句子进行分类,而另一个任务的目标是对输入句子按照其组合语法树根节点之下的成分类型进行分类。实验结果发现,SSANs在两种类型的任务上均取得提升,并且对于复杂的问题有更好处理能力。此外,模型根据注意力网络的权重构建组合语法树,SSANs构建的语法树质量好于SANs模型的结果。

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第10张图片

 

赛尔实验室新作:如何使用选择机制提升自注意力网络能力_第11张图片

5 结论

本文提出一种通用的基于选择机制的自注意力网络模型,其可以针对每个计算表示的元素,动态地选择其相关性的子集,以此作为输入进行后续的自注意力网络的计算。其在多个自然语言任务上,与传统的自注意力网络相比,取得一致提升。通过实验分析发现,基于选择机制的自注意力网络可以在一定程度上缓解注意力网络存在的词序信息编码和结构信息建模能力不足的问题。

你可能感兴趣的:(语言模型,神经网络,自注意力)