ACL 2017

论文《Deep Pyramid Convolutional Neural Networks for Text Categorization》学习笔记参考资料:夕小瑶:从DPCNN出发,撩一下深层word-level文本分类模型

Abstract

该论文提出了一种低复杂度的词级深层CNN用于文本分类,该模型可以对文本中的长期依赖有效建模。

1 Introduction

近些年,可以利用词序信息的神经网路在文本分类任务中显示出了其有效性。

虽然CNN和RNN都可以利用词序信息,但是CNN因为其简洁与可并行而更受欢迎,尤其是训练集比较大的时候。

同字元级CNN相比,词级CNN的层数要更浅。尽管字元级CNN的优点是不需要处理大量不同的单词,但是词级的CNN往往是更有效的。这证实了「单词」的知识能产生更好的表示。

因此,作者想要探索一种深层词级CNN的结构用于文本分类。作者将提出的模型称为深层金字塔形的CNN,因为该模型每层的计算量呈指数下降。

在将离散的文本信息转换为连续表示之后,DPCNN简单地堆叠卷积模块和负采样层(可能就是指max-pooling层)。整个模型的计算量被限制在小于两倍convolution blocks的范围。同时,金字塔的结构也使模型能够发现文本中的长程依赖关系。

2 Word-level deep pyramid CNN(DPCNN) for text categorization

DPCNN总体的结构是这样的:

第一层采用text region embedding,其实就是对一个ngram文本块进行卷积,得到的feature maps作为该文本块的embedding。

然后是convolution blocks的堆叠,就是两个卷积层与shortcut的组合。convolution blocks中间夹pooling层,采用max-pooling,设置步长为2以进行负采样。

最后一个pooling层将每个文档的数据整合成一个向量。

2.1 Network architecture

feature maps数目固定的负采样:由size 3 stride 2 的max-pooling实现。该pooling层跟在convolution blocks后面。带来两点好处:限制了计算量,同时使模型捕获了序列的长程依赖。

预激活的shortcut connections:采用了一致映射的shortcut connections,即z+f(z)的形式。其中f(z)是被短路的卷积层,计算的时候采用预激活。

W和b都是可训练的参数,x是text region embedding,采用sigmoid激活。shortcut connections使深层模型更好训练;通过实验发现,预激活的效果要比后激活好。

不需要进行维度对齐:所有的shortcut都采用简单的一致映射,不需要进行复杂的维度对齐,因为shortcut没有跳过负采样层。

2.2 Text region embedding

basic region embedding

在region embedding层,模型为文本的每个单词的k-word区域计算Wx+b。激活被推迟到下一层的预激活。

假设字典大小是v,有下面3种k-word区域的文本表示方法:(1)kv维的one-hot向量;(2)v维的bow向量;(3)n-gram的bow向量,当n=1时同(2)。

region embedding层相当于卷积层,在本文中是对齐的卷积层,输出的向量维度与输入的序列长度相同,只是没有激活函数。

enhancing region embedding with unsupervised embeddings

可能就是在基础region embedding上加了预训练的词向量。

3 Experiment

3.1 Experimental setup

讲了很多细节的参数。

text region embedding的输入尺寸采用{1,3,5},输出维度是250。

3.2 Result

作者使用了15层的DPCNN,即7个convolution blocks和1个text region embedding。

4 Conclusion

词级的DPCNN,计算量小,且可捕捉长程依赖。

不过在训练集较小的情况下,相比单层CNN似乎没有太多的优势。

真正的效果如何,还要做实验。


推荐阅读:
相关文章