论文笔记,文末有论文引用
1、通过word2vec中的CBOW模式训练词向量
2、将词向量输入如下模型
设置不同窗口的卷积核将词向量降维后,做最大池化,这里有一些细节:
-
图中词向量为双通道的,这里是指在实验中采用了基于word2vec的词向量只修改模型参数,和同时修改词向量,以及用双通道同时保留两个词向量这样的三种实验方法
-
卷积核为2*6的形状(以红色为例) 在倒数第二层做dropout,利用伯努利分布随机得到p,w->pw,p为0时的权重就被舍弃了
-
梯度下降时用l2规范w,当||w||>s(定义好的),令||w||=s
论文中并没有阐述滑动step,但从文字描述来看应该是step=1,按照这个来看图中word为2时的卷积层向量应该是81而不是71,这里我不知道是我理解有问题还是论文中只是示意图,并没有严格去看这一问题,按照我的理解应该是如下
实验:
用了四个模型,
• CNN-rand: 随机初始化词向量
• CNN-static: 使用word2vec初始化词向量,并在后面的训练中只学习模型参数,不修改词向量
• CNN-non-static: 使用word2vec初始化词向量,同时学习模型参数和词向量
• CNN-multichannel:将前面两个结合,改成双通道
参数: -
卷积核3,4,5三个
-
dropout rate=0.5
-
l2的约束s=3
结果
参考文献:
[1] Kim Y . Convolutional Neural Networks for Sentence Classification[J]. Eprint Arxiv, 2014.