Deep pyramid Convolutional Neural Networks for Text Categorization
摘要:
本文提出了一个低复杂度,词级别用于文本分类的深度卷积神经网络,该模型可以有效的获得文本长距离联系的表示。针对文本分类,有一些深并且复杂的模型被提出,但它都假设相当大的训练数据可以使用。随着网络的加深,计算复杂度也会提升,导致实际应用困难。并且,近期研究表明了浅层词级别的CNN比深度网络精度更高,并且更快。本文提出DPCNN去捕获文本的全局表示。并且在加深网络的同时,不会大幅增加计算量。
简介:
近些年,研究表明,可以使用词序信息的神经网络是非常有效的。CNN是交替使用卷积层和池化层的前馈神经网络。本质上讲,卷积层把每个文字的小范围数据转化成一个向量,并且可以并行计算。作为对比,RNN具有形成循环的连接。在用于文本中时,每个循环元素逐个使用词,和他自己上一时刻的输出,RNN对并行计算不友好。虽然CNN和RNN都具有词序信息,但是CNN更简单,并且支持并行化操作。使得CNN在大训练语料数据下更具吸引力。
已经有一些研究,在大训练语料下,使用CNN进行文本分类。例如(Conneau et al., 2016),使用32层字级别CNN被证明性能优于9层字级别的CNN。然而(Johnson and Zhang, 2016),使用浅的1层字级别CNN,获得了更高的精度。尽管字级别的方法词典更小,但是浅层的词级别CNN更优。这揭示了,词的信息可以获得更强大的表示。这些结果启示我们去设计一个更深的词级别CNN用于文本分类。注意,这不是直接将字级别的CNN替换成词这么简单,(Zhang et al., 2015)已经证明做还损失精度。
Deep pyramid CNN中的“pyramid”结构,使得模型可以有效获得文本的大范围表示(通过堆砌网络层获得更大的感受野)。
模型总览:
首先,第一层“text region embedding”将通常使用的word embedding转化为text region的region embedding,覆盖一个或多个单词。接下来交叉堆砌卷积块(两个卷积层和一个短连接)和下采样层。最后的池化层将整个文本表示为一个向量。
DPCNN有以下关键点:(这部分参考知乎夕小瑶的回答)
(1)下采样时不增加特征图的个数。(加深网络不大幅增加计算量的关键)
多次下采样增加感受野,获得更大范围内文本的联系。同时不增加feature maps的数量,确保不大幅增加计算量。
为什么图像中每次下采样都会增加feature maps数量呢,而文本不用呢?
图像特征与文本特征的区别。图像的特征存在从“点,线,弧”低维特征到“眼,鼻,嘴”高维特征的层次化区分。而文本特征没有这种明显的层次化特征进阶。文本特征很大程度上满足“语义取代”特性(高维的语义可以由低维语义表示)。如“不要”“太好”进行语义合并后“很好”的意思。而图像很少存在“语义取代”的现象。也文本就是说可以用低维语义空间表示高维的语义,所以我们没必要动整个语义空间。而图像中则需要不断调整语义空间,使得图像的语义随着网络加深不断跳向更高级别的语义空间。
以下是夕神关于这部分的回答(侵删):
(2)先激活的短连接
为什么要用短连接?
个人理解是跟ResNet论文一样--经验论。实现发现增加深度,性能反而下降(网络退化)。可能是在增加深度时,后层学习恒等映射是困难的。所以增加短连接直接给下一层恒等映射的信息。
补充夕神的回答:
1.梯度爆炸/梯度弥撒问题:深度网络的放射矩阵近似连乘
2.深度模型的冷启动:初始化模型时一般会使用很小接近0的初始化参数。导致模型后续每层的输入都接近0。使得网络在刚开始训练要迭代好久才能启动。
问什么先激活?论文没看懂,文章中说是先激活,在进行跨层相加时是线性的结果进行相加,而不是非线性的。这样更容易训练深度模型。类似于LSTM中的constant error carousels。
(3)使用无监督的embedding获得更好的Text region embedding。
多种不同尺度无监督预训练的n-gram embedding(预训练n-gram嵌入使用tv-embedding训练)。将这些embedding加在一起得到region embedding。
论文总结:
探索:
1)词序信息在文本分类中很重要,RNN和CNN都能获得词序信息->由于CNN更简单并且容易并行,所以考虑使用CNN->
2)CNN研究中,浅层词级别的CNN效果深度深度字级别的CNN->使用词级别作为输入
3)CNN的词序信息有限(感受野),通过加深网络可以获得更大感受野(可以获得文本中更大范围的关联信息),但是被证明加深网络词级别CNN性能反而下降。
目的:
设计一个词级别的深度CNN。
Tricks:
- 预训练的region embedding
- Pre-activation shortcut connections
- 下采样不增加feature maps