CNN用于句子分类时的超参数调试经验

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_34613450/article/details/82256613

根据“A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification”这篇paper得到的经验。这篇paper的主要工作是对“Convolutional Naural Networks for Sentence Classification”这篇论文的模型进行了各种各样的对比试验,进而得到了一些关于超参数的设置经验。其实论文前面几章对实验内容和结果进行了详细介绍,但是我们可以直接在第五章中获得我们想要得到的超参数设置经验。接下来就记录一下:

  1. 对于预训练的词向量(glove, word2vec)而言,二者对不同分类任务各有优劣,但效果都比one-hot编码要强(虽然one-hot编码方式在文本分类任务中取得了比较好的效果)。
  2. 卷积核的窗口大小对实验结果有着比较重要的影响。首先,ws在1-10之间取值较好,且如果训练集中的句子长度较大(100+)时,我们可以考虑使用较大的ws以获取上下文关系。其次,对不同尺寸ws的窗口进行结合会对结果产生影响。当把与最优ws相近的ws结合时会提升效果,但是如果将距离最优ws较远的ws相结合时会损害分类性能。一般取为3-5~~
  3. 卷积核数量num_filters也对实验结果比较重要。最好不要超过600,超过600可能会导致过拟合。一般设为100-200~~
  4. pooling方式就使用1-max就可以。mean或者k-max pooling效果都不太好
  5. l2正则化效益很小,相比而言,dropout在神经网络中有着广泛的使用和很好的效果,dropout一般设为0.5
  6. 激活函数的话,目前广泛应用的是ReLU、tanh函数。

猜你喜欢

转载自blog.csdn.net/weixin_34613450/article/details/82256613