深度学习模型参数计算:深度学习之Attention模型详解
深度学习模型参数计算:深度学习之Attention模型详解(1) 是否来自相同的building block;(2) 是否来自相同卷积窗口大小下的卷积结果;(3) 是否来自相同的pooling层;(4) 是否来自相同的Feature Map;Structured Similarity Measurement Layer的目标是计算句子表达的相似度。作者认为最后生成的句子向量中的每一个部分的意义各不相同,直接应用传统的相似度计算方法如余弦相似度在两个句子向量上并不是最优的,应该对句子向量中的各个部分进行相应的比较和计算(Structured Comparision)。为了使得句子向量中的局部间的比较和计算更加有效,我们需要考虑如下方面:b. 卷积窗口大小:不同卷积窗口的大小捕捉不同n-gram的长度下的信息,这里窗口大小是{1 2 3,∞} 表示输入句子中unigrams bigrams trigrams和不使用卷积层。c. 池化方式:池
过去的模型,把输入的句子独立对待,忽略了句子的上下文交互。attention也就是因此而引入的。
本文的基础模型结构是:MPCNN(multi-perspective con- volutional neural network model),主要包括两个部分:1,multi-perspective sentence model;2, structured similarity measurement layer。
- multi-perspective sentence model
multi-perspective sentence model 使用的是卷积神经网络,通过使用不同类型的卷积核,不同类型的池化方式,不同大小的卷积窗口,来得到每个句子的不同粒度的表达。
a. 卷积层有两种卷积的方式:(1)粒度为word的卷积;(2)粒度为embedding 维度上的卷积。前者相当于n-gram特征抽取,后者抽取的是向量每一维度上的信息。作者认为后面这种方式由于粒度更小有助于充分地提取出输入的特征信息。作者使用了这两种方式以获得更丰富的表达。
b. 卷积窗口大小:不同卷积窗口的大小捕捉不同n-gram的长度下的信息,这里窗口大小是{1 2 3,∞} 表示输入句子中unigrams bigrams trigrams和不使用卷积层。
c. 池化方式:池化层可以保留一个卷积模型中最显著和最通用的特性,这里使用max,min,mean三种方式。
- Structured Similarity Measurement layer
Structured Similarity Measurement Layer的目标是计算句子表达的相似度。
Structured Similarity Measurement Layer的目标是计算句子表达的相似度。作者认为最后生成的句子向量中的每一个部分的意义各不相同,直接应用传统的相似度计算方法如余弦相似度在两个句子向量上并不是最优的,应该对句子向量中的各个部分进行相应的比较和计算(Structured Comparision)。为了使得句子向量中的局部间的比较和计算更加有效,我们需要考虑如下方面:
(1) 是否来自相同的building block;(2) 是否来自相同卷积窗口大小下的卷积结果;(3) 是否来自相同的pooling层;(4) 是否来自相同的Feature Map;
至少满足以上两个条件时,才比较句子中的相应部分时,作者采用了两种算法比较相似性。一种只针对粒度为词的卷积,另一种则同时针对粒度为词的卷积和粒度为embedding 维度上的卷积。
在句子局部的相似度计算之后,作者叠加了两层的线性层,并在中间使用了tanh激活函数,最后使用log-softmax输出。更多的细节参考He et al. 2015。
Attention-Based Input Interaction Layer
本文作者在上述模型的基础上,增加了一层基于attention的交互层。其目的就是在刚做完embedding以后,给两个句子更相关的部分赋予更多的权值。
输入序列 其中 铜鼓计算对应向量的余弦相似度得到attention。
得到了attention权值矩阵后,可以计算每个句子对应的attention向量,并归一化:
最后拼接起来得到attention 的re-weighted向量:
作者没有添加额外的参数,只是简单的余弦距离去作为attention权值然后做归一化,并在实验中取得了不错的结果。
ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs
本文的任务是(sentence pair)句子配对。这包括了Answer Selection(AS),Paraphrase identification(PI),Textual entailment(TE)。
基础模型:BCNN(Basic Bi-CNN)。BCNN有四个部分:1. 输入层,2. 卷积层,3. 池化层,4. 输出层。特别要指出卷积层。这里卷积层采用的是宽卷积(Wide convolution)。即对句子的边缘部分进行,使得输出的序列长度大于输入的序列长度。(宽卷积常用于卷积核大小相对于输入向量长度较大时)
这里提出了三种ABCNN
- ABCNN-1
ttention 矩阵的计算: