论文笔记(NLP)——Convolutional Neural Networks for Sentence Classification
本篇论文探讨了基于预训练词向量构建的简单CNN模型在句级分类任务中的应用。实验证明,在仅进行少量参数微调和使用固定词向量的情况下,该模型在多个基准数据集上表现优异。通过微调特定任务相关的词向量,可以进一步提升模型性能。本文的研究表明,在7个任务中成功提升了4项关键指标,其中包括情感分析与问题分类等核心领域。
- model

如图所示,在句子中每一个词均被表示为k维空间中的向量x_i。假设整个句子共有n个词,则该整个句子可被表示为一个n\times k维度的空间矩阵

每个卷及操作都涉及一个filter w∈R^{hk}产生一个新的特征

。filter应用在每一个句子中单词的每一个窗口产生一个feature map

经过max pooling处理后,在feature map中筛选出最具代表性的特征元素作为后续识别的基础参数。本研究设计了一种多维度特征提取模型,在词嵌入层上设置了两个不同的通道:一个是基于前馈训练过程始终保持稳定的固定嵌入空间;另一个则是在反向传播优化阶段动态调整学习参数以捕捉更多潜在语义信息。
在整个前向传播过程中应用masking向量r来进行参数 Dropout 优化以防止模型过拟合现象的发生

在测试阶段,以概率p对权重进行缩放。
- Datasets and Experimental Setup
3.1 Hyperparameters
- filter windows(h)是3,4,5
- 卷积器的数量是100
- dropout率为0.5
- L2正则是3
- mini-bach是50
3.2 Model Variations

CNN-rand:基准级数,在这种架构中,默认情况下会将所有单词随机赋值并持续更新其值以适应语义信息。
CNN-static:基于Word2Vec预训练词向量构建的语言模型架构,在这种设置下,
已知单词及其随机初始化后的未知词汇会被固定不变,
只有网络中的其他参数会随着输入数据进行优化学习。
CNN-non-static:与上述两种情况相同,
但在具体实现时,
会对不同任务分别调整各预训练词嵌入层的内容。
CNN-multichannel:包含两个独立词嵌入层的语言模型,
其中每个滤波器同时作用于这两个通道,
但仅在其中一个通道上传播梯度信息,
因此该模型能够通过微调一个词嵌入层来提升性能,
而另一个则始终保持固定状态不发生变化。
其中每个通道的基础词嵌入均源自Word2Vec。
- Conclusion
基于卷次操作的预训练词向量对实验效果有很大的提升。
