论文:A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional
Neural Networks for Sentence Classification
2016年的论文,中国人的论文,作者写得很认真,每次实验的都非常详细(如交叉验证,实验多次等),这篇博客略去了对实验细节的介绍,只阐述结果。
Abstract
近年来,CNN已被证明可用于序列分类,并且能获得很好的效果(strong performance)。但要真正在实践中,使用CNN进行序列分类,还需要知道CNN的各项参数(如卷积核的大小和个数)对序列分类的影响,方便调参。
作者基于一层CNN构建序列分类模型,在9个数据集上进行了大量实验,包括与SVM和逻辑回归的比较,也包括CNN不同参数的实验。
本文的贡献在于,对使用CNN做序列分类给出了很多实用建议,也在实验中论证了CNN分类序列的合理性。
Introduction
目前,序列分类的CNN模型的构造如下图所示(来自论文Convolutional Neural Networks for Sentence Classification):
- 输入序列是
I like this movie very much !
,长为7,每个token都被embedding成5维向量,因此模型的输入是7x5的矩阵。 - 模型的第一层是卷积层,卷积层共有6个卷积核: k1, k2, k3, k4, k5, k6,它们的大小分别是4x5, 3x5, 2x5。
- 那么,输入经过卷积,再经过激活函数,获得6个feature map,大小分别为4、4、5、5、6、6。
- 6个feature map