DPCNN(Deep Pyramid CNN),是2017年腾讯AI-Lab提出的一种用于文本分类的网络,可以称之为"深度金字塔卷积神经网络"。
论文:Deep Pyramid Convolutional Neural Networks for Text Categorization
在之前的博客 TextCNN:用于文本分类的CNN网络 中讲了TextCNN 捕获长距离文本特征的能力并不理想,在此之后,学术界做了很多尝试来改进此性能;直到 DPCNN 的提出很好地解决了这个问题。
DPCNN是一种基于word-level级别的网络,关于NLP中的tokenizers可以参考 tokenizers小结
DPCNN是如何捕捉长距离文本依赖的呢? 可以从它的网络结构中找到答案:
DPCNN使用 size=3 和 stride=2 的 MaxPooling 进行下采样,这样序列的长度就被压缩成了原来的一半,其能够感知到的文本片段就比之前长了一倍。 这就是DPCNN具有提取长距离文本特征的能力的原因。
经过几次下采样,特征层的大小不断减半,形成了一个金字塔的形状,因此称为Deep Pyramid。之所以说 Deep 是因为用了ResNet, 2017年时候ResNet刚提出并且是用于CV领域的,因此在NLP领域的使用还算有创新。
与 TextCNN 相同,DPCNN 中用的是 Conv1d,BatchNorm1d 和 MaxPool1d