DPCNN论文阅读总结

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:

  1. 预训练的region embedding
  2. Pre-activation shortcut connections
  3. 下采样不增加feature maps
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值