摘要
(1)Attentive Pooling,可用于discriminative model训练的双向注意机制。使池化层能够感知当前输入对,这样两个来自输入项的信息就可以直接影响彼此的计算。共同学习相似性度量,从而得到每个输入的attention vector.
(2)AP独立于下层的学习,可以被应用到RNN或CNN
(3)AP在所有基准中性能都是最好的
一、Introduction
具有注意力机制的NN最近在CV和NLP任务中都很成功,但大多数关注点在于为生成任务设计的基于RNN的单项注意力机制。当前围绕pair-wise ranking 或 classification展开的机器学习任务中,最先进的模型通常由输入对的基于神经网络的表示、discriminative ranking或classification模型组成,AP通过对两种输入的表示及其相似性度量进行联合学习,可以显著提高此类discriminative models在pair-wise ranking 或 classification方面的性能。
模型的好处:
(1)由于双向注意,模型将成对输入投射到一个公共表示空间中,以便以更合理的方式进行比较,即使它们在某些应用程序(例如,问答中的问题和答案)的语义上可能并不总是可比的。
(2)模型能够有效地匹配具有显著长度变化的成对输入。
(3)双向注意机制独立于下层的表征学习。例如,AP可以应用于CNN和RNN。
(4)AP-CNN在InsuranceQA、TREC-QA和WikiQA这三个数据集取得了最先进的结果。将AP-CNN和AP-biLSTM应用于答案选择任务(给定一个问题q和一个候选答案池P={a1,a2,····,ap},搜索并选择正确回答q的候选答案a(a∈ P)),进行大量的实验,使用三个公开的基准数据集InsuranceQA、TREC-QA和WikiQA进行实验,发现对于这三个数据集,AP-CNN和AP-biLSTM分别优于不使用attention的CNN和biLSTM。
(5)AP使CNN对大型输入文本更具鲁棒性。
(6)AP-CNN需要的卷积滤波器比常规CNN少得多,因为它不仅依赖于最终向量表示来捕获输入问题和答案之间的相互影响,可以加快训练过程。
(7)AP是一种通用方法,可以应用于不同类型的NN执行对两个输入的匹配,可在多个领域使用。
二、用于答案选择的神经网络
最近提出的两种用于答案选择的神经网络体系结构
1. word embedding
Word (
,固定长度的 word embedding)
embedding matrix(V, a fixed-sized vocabulary, d, word embeddings的维度)
input pair (q, a) (问题q包含 M tokens,候选答案 a 包含 L tokens)
所以,第一层的输出为:
2. Convolution或biLSTM
2.1Convolution
定义矩阵
c 个filters(c和k为超参数)
计算公式:
2.2biLSTM:
hidden vector h(t)(size H),update:
将两个方向的输出做concatenation,
生成矩阵
3.Scoring and Training Procedure
使用column-wise max-pooling,tanh函数对矩阵Q和A进行计算
使用余弦相似度计算输入对的相似性
通过SGD最小化损失函数训练模型,每次输入
训练损失函数用的是hinge loss(pair-wise loss function):
三、用于答案选择的Attentive Pooling Networks
AP是使池化层能够感知当前输入对的方法,来自问题q的信息可以直接影响答案表示ra的计算,反之亦然。其主要思想是通过对输入对中的映射单元学习相似度矩阵,利用单元之间的相似度得分来计算attention vector。 当AP应用于CNN时,我们称之为AP-CNN,网络学习卷积输入序列上的相似性度量。当AP应用于biLSTM时,我们称之为AP-biLSTM时,网络在处理两个输入序列时学习由biLSTM产生的隐藏状态的相似性度量。
1. 通过Conv或biLSTM计算出
2. 得到
对于Conv,矩阵G包含q和a的卷积k大小上下文窗口之间的软对齐的分数。
对于biLSTM,矩阵G包含q和a中每个标记的隐藏向量之间的软对齐分数。
3. 计算
,答案a中第j个单词及周围上下文对问题q的重要性
,问题q中第j个单词及周围上下文对答案a的重要性
4. 使用softmax函数计算attention vector
5. 计算得到 (可理解为将对应权重放入)
6. Scoring and Training Procedure
和QA-CNN和QA-biLSTM相同,使用余弦相似度计算输入对的相似性
通过SGD最小化损失函数训练模型,每次输入
训练损失函数用的是hinge loss(pair-wise loss function):
四、相关的工作
有一些最近提出的方法在answer selection任务中引入了注意力机制。Tan等人2015[1]提出了一种基于biLSTM的attentive reader,它根据问题的embedding来强调答案的某些部分,而AP-CNN和AP-biLSTM考虑了问题和答案之间的相互依赖关系。
在双向关注的背景下, Rocktäschel等人2015[2]提出了一种双向注意方法,其灵感来自biLSTM,读取序列及其反向,以改进编码。他们的方法仅为RNN设计,而AP可以很容易地应用于CNN和RNN。Yin等人2015[3]提出了一种针对CNN的双向注意力机制。他们的方法和这项工作之间的一些主要区别是:
(1)他们使用欧式距离来计算两个输入文本之间的相互影响,而在这项工作中,我们应用相似度量学习,它有可能学习更好的方法来度量输入项的分段之间的交互;
(2)模型(Yin等人,2015[3])在alignment matrix上使用sum-pooling计算注意力向量,并使用注意力更新的卷积输出作为另一层卷积层的输入。在这项工作中,通过在alignment matrix上使用max-pooling,再加上softmax,显式地创建一个用于执行池化的attention vector。实验结果表明,这个改变显著提高了在WikiQA数据集上的性能。
五、实验设置
数据集信息:
对InsuranceQA dataset:
(1)使用被Feng 等人通过word2vec训练的100-dimensional vectors
(2)context window size:3
对TREC-QA和WikiQA dataset:
(1)使用通过word2vec训练的300-dimensional vectors
(2)context window size:4
超参数设置:
使用所选的超参数,通常使用15到25个训练周期来获得最佳结果
学习率,set the learning rate for epoch t:
六、实验结果
1. AP-CNN比QA-CNN需要更少的卷积滤波器,因为它不仅仅依赖于最终的向量表示来捕获输入问题和答案之间的交互作用。因此,尽管AP-CNN的架构更为复杂,但其训练时间比QA-CNN快两倍
2. attentive pooling有助于使CNN对更大的输入文本具有鲁棒性。对于QA-CNN和AP-CNN,两个系统对于较短的答案性能更好。然而,当QA-CNN的性能随着考虑更大的答案而继续下降时,AP-CNN的性能在达到∼90 tokens长度后的性能似乎是稳定的。
3. 对于三个数据集,AP-CNN的性能优于QA-CNN,AP-biLSTM的性能优于QA-biLSTM。 AP确实将更多的注意力集中在与问题有一些相互影响的答案的部分,反之亦然
七、总结
(1)AP比最近提出的双向注意机制更普遍,因为:
(a)它学习如何计算输入对中项之间的相互影响;
(b)它可以应用于CNNs和RNNs;
(2)我们证明了,在answer selection任务中,AP可以被有效的应用于CNNs和biLSTM;
(3)我们的实验结果表明,AP有助于CNN处理长输入文本;
(4)我们为InsuranceQA和TREC-QA数据集提供了新的最先进的结果。
(5)对于WikiQA数据集,我们的结果是迄今为止对于不使用手工制作特性的方法所报告的最好的结果。
参考文献:
[1] Tan, Ming, dos Santos, Cicero, Xiang, Bing, and Zhou, Bowen. Lstm-based deep learning models for non-factoid answer selection. CoRR, abs/1511.04108, 2015.
[2] Rocktäschel, Tim, Grefenstette, Edward, Hermann, Karl Moritz, Kocisky, Tomás, and Blunsom, Phil. Rea-soning about entailment with neural attention. CoRR, abs/1509.06664, 2015.
[3] Yin, Wenpeng, Schütze, Hinrich, Xiang, Bing, and Zhou, Bowen. ABCNN: attention-based convolutional neu-ral network for modeling sentence pairs. CoRR, abs/1512.05193, 2015.