TextCNN简介

 论文名:  TextCNN: Convolutional Neural Networks for Sentence Classification

摘要:

1. 使用简单的CNN模型在预训练词向量基本上进行微调就可以在文本分类任务上得到很好的结果。

2. 通过对词向量进行微调而获得的任务指向的词向量能够得到更好的结果。

3. 我们也提出了一种即使用静态预训练词向量又使用任务指向词向量的文本分类模型。

4. 最终我们在7个文本分类任务中的四个上都取得了最好的分类准确率。

TextCNN结构:

TextCNN简介_第1张图片

TextCNN简介_第2张图片

 

TextCNN 的 Dropout:

           原理: 在神经网络的传播过程中,让某个神经 元以一定的概率p停止工作,从而增加模 型的泛化能力。

TextCNN简介_第3张图片

 

TextCNN 的 L2 正则:

 TextCNN简介_第4张图片

降低过拟合程度:

        正则化之所以能够降低过拟合的原因在于,正则化是结构风险最小化的一种策略实现。给loss function加上正则化项,能使得新得到的优化目标函数h = f+normal,需要在f和normal中做一个权衡(trade-off),如果还像原来只优化f的情况下,那可能得到一组解比较复杂,使得正则项normal比较大,那么h就不是最优的,因此可以看出加正则项能让解更加简单,符合奥卡姆剃刀理论,同时也比较符合在偏差和方差(方差表示模型的复杂度)分析中,通过降低模型复杂度,得到更小的泛化误差,降低过拟合程度。

L1正则化和L2正则化:

         L1正则化就是在loss function后边所加正则项为L1范数,加上L1范数容易得到稀疏解(0比较多)。L2正则化就是loss function后边所加正则项为L2范数的平方,加上L2正则相比于L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度。

实验结果与分析:

在7个文本分类任务中的四个上取得了最好 的分类效果。

• CNN-rand: 使用随机初始化的词向量

• CNN-static: 使用静态预训练的词向量

• CNN-non-static: 使用微调的预训练的 词向量

• CNN-multichannel: 同时使用静态预训 练的词向量和微调的预训练的词向量

TextCNN简介_第5张图片

对于预训练词向量的微调可以改变词对之间 的相似度关系。

例如以下的静态和非静态的处理

TextCNN简介_第6张图片

超参分析

• Embedding方式

• 卷积核大小

• 卷积核个数

• 激活函数

• Dropout

• L2正则

关键点


• 预训练的词向量——Word2Vec 、Glove

• 卷积神经网络结构——一维卷积、池化层

• 超参选择——卷积核选择、词向量方式选择 创新点

• 提出了基于CNN的文本分类模型TextCNN

• 提出了多种词向量设置方式

• 在四个文本分类任务上取得最优的结果

• 对超参进行大量实验和分析

总结:

• 在预训练模型的基础上微调就能够得到非常好的结果,这说明预训练词向量学习到了一些通用的特征。

• 在预训练词向量的基础上使用简单模型比复杂模型表现的还要好

• 对于不在预训练词向量中的词,微调能够使得它们能够学习更多的意义。

 

你可能感兴趣的:(NLP,深度学习,算法)