一、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.全连接层。
文章图片
文章图片
等长卷积:
文章图片
1/2池化层:
文章图片
残差网络:
既然是深层CNN模型,那么就不得不关注梯度弥散/爆炸、网络退化等问题。
文章图片
3、DPCNN总结 【深度学习|TextCNN和DPCNN】
文章图片
推荐阅读
- 深度学习知识总结|从RNN到Attention到Transformer系列-Encode-Decode(Seq2Seq)介绍及代码实现
- 使用R进行时间序列分析
- R的基本编程技巧
- R中的自相关
- 将机器学习模型转换为Python中的API
- Python地理空间数据简介
- 下划线(_)在Python中的作用
- 在R中合并数据集
- 蒙特卡洛方法简介