Deep Pyramid Convolutional Neural Networks for Text Categorization阅读报告

Deep Pyramid Convolutional Neural Networks for Text Categorization阅读报告

论文来源: “Rie Johnson,Tong Zhang,Deep Pyramid Convolutional Neural Networks for Text Categorization[C],Annual Meeting of the Association for Computational Linguistics(ACL),2017
https://www.aclweb.org/anthology/papers/P/P17/P17-1052/
一、
研究背景
文本分类是一个十分重要的任务,其应用场景包括垃圾邮件检测,情感和主题分类等。
近几年,神经网络利用词序进行文本分类的方法非常有效。最早是简单的浅层卷积神经网络,最近提出了更为复杂的深层神经网络,需要大概一百万的文档作为训练数据;最近有几项关于CNN的研究用于大型训练数据设置中的文本分类。在(Conneau et al., 2016)中,深度为32层字符级CNN显示出优于(Zhang et al., 2015)的深度为9层字符级CNN。在(Johnson and Zhang, 2016)中,非常浅的1层单词级CNN被证明比非常深的字符级CNN更加准确且快得多(Conneau et al., 2016)。结合以上两方面的研究启发,尝试对深度的单词级CNN进行探究,提出了一种深度但低复杂度的网络架构,名为DPCNN(深度金字塔卷积神经网络)

二、DPCNN模型简介
在这里插入图片描述
过程:
1、***Unsupervised embeddings:***预训练得到了word embedding,这里采用的是tv-embedding(由于在ShallowCNN的unsupervise embedding中使用tv-embedding能被证实能够显著提高模型准确性,而在之前提到DCPNN可以认为是ShallowCNN的一种深度的扩展,因此本文在Unsupervised embedding过程中也使用的是tv-embedding)
***tv-embedding:***是将文本区域定义为view-1,相邻区域定义为view-2。然后使用未标记的数据,训练只有一个隐藏层的神经网络,目的是用view-1去预测view-2。获得的隐藏层是以view-1作为输入的embedding函数,这个函数即用作Unsupervised embeddings过程的函数。
2、Text region embedding, 将常用的词嵌入模型推广到覆盖一词或多词的文本域嵌入,在region embeddin层中,文档的每个单词计算Wx + b,其中输入x以某种直接的方式表示围绕单词的k字区域(即窗口),并且权重W和偏差b用其他层的参数。
考虑下面三种类型k-词区表示。
v: 词汇量的大小
(1)顺序输入:由 k 个单词的 one-hot 形式的向量 (维度为 v) 串联而成,k个one-hot向量
(2)词袋模型输入:一个v维的词袋向量
(3)n-gram:由区域中的单个词、两个词组或者三个词组构成的词袋表示。
3、在得到文本的向量表示之后,将这些特征向量依次输入到后面的卷积块中进行卷积操作提取文本信息,每个卷积块都由两个卷积层以及残差网络连接构成。而卷积块与卷积块之间又由stride为 2 的池化层进行连接。
4、网络模型的最后一个池化层用于接受最后一个卷积块的输入(模型中所有的池化层均采用max pooling),最终得到表示文本的特征向量。

三、DPCNN模型特点:
1、前人提出的一些模型在做下采样时增加feature map的数量,本文研究发现这样做除了白白增加了工作量以外,对提升准确率没有很大的帮助,故本文固定了feature map的数量为250。
2、在每个卷积块之后都用大小为 3 的feature map进行stride为 2 的max-pooling操作。这样既可以得到相邻3个文本区域的之间特征表示,stride为2的pooling操作又将每个文本的中间表示直接减少了一半。使得每个卷积层的计算复杂度直接减少一半,因此命名为“金字塔”。并且stride为2的pooling操作使得卷积操作的有效覆盖面积加倍,在经过n轮pooling操作之后,即能够得到个单词之间的特征表示。
3、DPCNN每层的计算时间固定为单个卷积块计算时间的两倍,即为常数级。因此,DPCNN 模型不仅在模型计算上具有有效性,还能更好的表示长距离的关系,从而学习到更多的全局信息。
4、在卷积块的设计中使用了 shorcut(残差网络)连接的方式,使得网络可以扩展为深层网络进行参数的训练。
5、虽然 shortcut 的用法是从 ResNet中借鉴过来的,但是 DPCNN模型比 ResNet 更加简单,因为 DCPNN 中的 shortcut 连接接近等值连接, 这个过程不需要做任何的维度匹配工作。

四、实验设置:
1、数据集:使用下图AG、SoGou等8个数据集:
在这里插入图片描述
数据预处理将大写字母转换为小写字母。将可变大小的文档处理为可变大小,没有任何缩短或填充;词汇大小限制为30K字。
2、参数设置:
epoch:epoch=n(AG:n=50 ,Dbpedia、Yelp.f/p:n=30,其他:n=15)
batch_size=100
learning-rate:前4/5n epoch训练集学习率设为为η,剩下的1/5 epoch 设置为0.1η(错误率平稳时降低学习速率)
卷积核数(filters):250
损失函数:softmax
优化方法:小批量随机梯度下降(mini-batch SGD momentum=0.9)
Regularition:(权重衰减系数)parameter=0.0001的L2正则化+保留比例为0.5的dropout
权重:高斯分布初始化(零均值、标准差=0.01)
区域嵌入层:输入使用bow输入
区域大小:{1,3,5}
从训练集中提取了10K文档,用作每个数据集的验证集,并根据验证集上的性能完成元参数调整。
文章中还有些内容没太理解,后续修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值