标签:介绍 数据 msu 解析 function 过程 分享 word 池化
Kal的这篇文章引用次数较高,他提出了一种名为DCNN(Dynamic Convolutional Neural Network)的网络模型,在上一篇(Kim’s Paper)中的实验结果部分也验证了这种模型的有效性。这个模型的精妙之处在于Pooling的方式,使用了一种称为动态Pooling
的方法。
下图是这个模型对句子语义建模的过程,可以看到底层通过组合邻近的词语信息,逐步向上传递,上层则又组合新的Phrase信息,从而使得句子中即使相离较远的词语也有交互行为(或者某种语义联系)。从直观上来看,这个模型能够通过词语的组合,提取出句子中重要的语义信息(通过Pooling),某种意义上来说,层次结构的feature graph
的作用类似于一棵语法解析树。
DCNN能够处理可变长度的输入,网络中包含两种类型的层,分别是一维的卷积层和动态k-max的池化层(Dynamic k-max pooling)。其中,动态k-max池化是最大化池化更一般的形式。之前LeCun将CNN的池化操作定义为一种非线性的抽样方式,返回一堆数中的最大值,原话如下:
The max pooling operator is a non-linear subsampling function that returns the maximum of a set of values (LuCun et al., 1998).
而文中的k-max pooling方式的一般化体现在:
DCNN的网络结构如下图:
网络中的卷积层使用了一种称之为宽卷积(Wide Convolution)
的方式,紧接着是动态的k-max池化层。中间卷积层的输出即Feature Map
的大小会根据输入句子的长度而变化。下面讲解一下这些操作的具体细节:
1. 宽卷积
相比于传统的卷积操作,宽卷积的输出的Feature Map
的宽度(width)会更宽,原因是卷积窗口并不需要覆盖所有的输入值,也可以是部分输入值(可以认为此时其余的输入值为0,即填充0)。如下图所示:
图中的右图即表示宽卷积的计算过程,当计算第一个节点即s1s1时,可以假使s1s1节点前面有四个输入值为0的节点参与卷积(卷积窗口为5)。明显看出,狭义上的卷积输出结果是宽卷积输出结果的一个子集。
2. k-max池化
给出数学形式化的表述是,给定一个kk值,和一个序列p∈Rpp∈Rp(其中p≥kp≥k),k-max pooling
选择了序列pp中的前kk个最大值,这些最大值保留原来序列的次序(实际上是原序列的一个子序列)。
k-max pooling
的好处在于,既提取除了句子中的较重要信息(不止一个),同时保留了它们的次序信息(相对位置)。同时,由于应用在最后的卷积层上只需要提取出kk个值,所以这种方法允许不同长度的输入(输入的长度应该要大于kk)。然而,对于中间的卷积层而言,池化的参数kk不是固定的,具体的选择方法见下面的介绍。
3. 动态k-max池化
动态k-max池化操作,其中的kk是输入句子长度
和网络深度
两个参数的函数,具体如下:
其中ll表示当前卷积的层数(即第几个卷积层),LL是网络中总共卷积层的层数;ktopktop为最顶层的卷积层pooling对应的kk值,是一个固定的值。举个例子,例如网络中有三个卷积层,ktop=3ktop=3,输入的句子长度为18;那么,对于第一层卷积层下面的pooling参数k1=12k1=12,而第二层卷积层对于的为k2=6k2=6,而k3=ktop=3k3=ktop=3。
动态k-max池化的意义在于,从不同长度的句子中提取出相应数量的语义特征信息,以保证后续的卷积层的统一性。
4. 非线性特征函数
pooling层与下一个卷积层之间,是通过与一些权值参数相乘后,加上某个偏置参数而来的,这与传统的CNN模型是一样的。
5. 多个Feature Map
和传统的CNN一样,会提出多个Feature Map以保证提取特征的多样性。
6. 折叠操作(Folding)
之前的宽卷积是在输入矩阵d×sd×s中的每一行内进行计算操作,其中dd是word vector的维数,ss是输入句子的词语数量。而Folding
操作则是考虑相邻的两行之间的某种联系,方式也很简单,就是将两行的vector相加;该操作没有增加参数数量,但是提前(在最后的全连接层之前)考虑了特征矩阵中行与行之间的某种关联。
1. 模型训练及参数
2. 实验结果
在三个数据集上进行了实验,分别是(1)电影评论数据集上的情感识别,(2)TREC问题分类,以及(3)Twitter数据集上的情感识别。结果如下图:
可以看出,DCNN的性能非常好,几乎不逊色于传统的模型;而且,DCNN的好处在于不需要任何的先验信息输入,也不需要构造非常复杂的人工特征。
《Kalchbrenner N, Grefenstette E, Blunsom P. A convolutional neural network for modelling sentences》
标签:介绍 数据 msu 解析 function 过程 分享 word 池化
原文地址:https://www.cnblogs.com/zle1992/p/9093152.html