一、TextCNN
TextCNN详细过程
二、DPCNN
1、背景
近期在分析长短文本的分类问题,所以探索并比较了一些模型选型方案,一般简单的短文本分类模型可以将TextCNN模型作为baseline,但是如果文本较长,TextCNN就不太适用了。因为TextCNN是浅层网络【ShallowCNN,下图(b)所示】,对文本的长距离依赖捕获能力有限,若想要克服TextCNN的缺点,显然要用到特征提取能力更强的DeepCNN。
那么该如何构造这种DeepCNN的网络结构呢?比如最简单的直接一堆等长卷积可否?显然这样会让越来越多的词位信息包含进来,但效率太低了,显然会增加网络的计算量,不能有!
既然等长卷积会让每个词位的embedding描述语义描述的更加丰富准确,那么我们退而求其次,适当堆两层来提高词位embedding表示的丰富性,意思一下~。
在此之前,以TextCNN为代表的word-level级别的文本分类模型提出后,后面就没有比较有效的CNN系列模型。因此,论文提出了一种word-level级别的网络DPCNN,由于TextCNN不能通过卷积捕获文本的长距离依赖,而DPCNN通过不断加深网络,可捕获文本的长距离依赖关系。
2、网络结构特征
DPCNN(a)图,TextCNN(b)图。我们可以对比着看。
DPCNN模型的网络结构主要包括:
- 1.Text region embedding层(word embedding经1层卷积后的输出);
- 2.等长卷积层(2层CNN);
- 3.带有Downsampling的等长卷积块层(6层)【Figure1(a)中的蓝色框部分】;
- 4.全连接层。
Region embedding的区别: 等长卷积: 1/2池化层:
残差网络:
既然是深层CNN模型,那么就不得不关注梯度弥散/爆炸、网络退化等问题。
3、DPCNN总结
|