文本分类模型(二)——DPCNN

DPCNN是一种深度卷积神经网络,旨在解决文本分类任务,通过加深网络结构来捕获长距离依赖。它引入了残差连接和金字塔形状的下采样设计,提高了准确率和计算效率。在实验中,DPCNN在文本二分类和多分类任务中表现出高准确性,且可通过TensorBoard进行可视化监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文本分类模型(二)——DPCNN

一、概述

  DPCNN(Deep Pyramid Convolutional Neural Networksfor Text Categorization),是RieJohnson和腾讯AI-Lab等提出的一种深度卷积神经网络,可以称之为"深度金字塔卷积神经网络"。相关论文链接Deep Pyramid Convolutional Neural Networks for Text Categorization

  文献中提出了一种基于word-level级别的网络——DPCNN。由于TextCNN不能通过卷积获得文本的长距离依赖关系,而论文中DPCNN通过不断加深网络,可以抽取长距离的文本依赖关系。实验证明在不增加太多计算成本的情况下,增加网络深度就可以获得最佳的准确率。‍

  DPCNN的深度与padding后的最大句子长度有关系,例如 m a x _ l e n = 64 = 2 5 max\_len=64=2^5 max_len=64=25,即长度为64的句子只够5次pooling/2,因此DPCNN更加适合长文本。

二、背景

  Deep Pyramid Convolutional设计的目的,一是提高准确率;另一个则是在提高准确率的前提下,尽量的提升计算效率。

  文本分类是一个十分重要的任务,其应用场景包括垃圾邮件检测,情感和主题分类等。研究显示:深度为32层字符级CNN显示出优于深度为9层字符级CNN;非常浅的1层单词级CNN被证明比非常深的字符级CNN更加准确且快得多。结合这两点,对深度的单词级CNN进行探究,文献中提出了一种深度但低复杂度的网络架构,名为DPCNN(深度金字塔卷积神经网络)。

  DPCNN主要的特色是引入了残差结构,增加了多尺度信息,并且增加了用于文本分类CNN的网络深度,以提取文本中远程关系特征,并且并没有带来较高的复杂度。

三、DPCNN特点

  • 1.减采样的设计。每层设计步长为2的卷积层,保持filter数目不变(默认250),像一个金字塔的形状(pyramid)。研究发现下采样时增加feature map的数量除了白白增加了工作量以外,对提升准确率没有很大的帮助。DPCNN中将每层的计算量减半,保持filter(feature mapping)的数目不变,省去维度匹配的计算时间,而且准确率不会受影响,
  • 2.残差连接的设计。该结构仿照了resnet的shortcut的设计思路,并且将原有的卷积计算 σ ( W x + b ) \sigma(Wx+b) σ(Wx+b),修改为先将x进行激活 W σ ( x ) + b W\sigma(x)+b Wσ(x)+b,这样可以带来更好的效果;此外filter数目不变,可以省略维度匹配的时间。这种设计使得网络可以扩展为深层网络进行参数的训练。
  • 3.Region Embeeding层。该结构接在embedding层后面。DPCNN的embedding层是one-hot的形式。在region=k的范围内,对word进行线性映射( W x + b Wx+b Wx+b),实质上相当于CNN+one-hot的实现。
  • 4.Block结构:在每个卷积块之后都用大小为3的feature map进行stride为2的max-pooling。这样可以得到相邻3个文本区域的之间特征表示,而且stride为2的pooling操作将每个文本的中间表示直接减少了一半,从而使得每个卷积层的计算复杂度直接减少一半。此外pooling操作使得卷积操作的有效覆盖面积加倍。

四、DPCNN原理

4.1 模型结构

在这里插入图片描述

  DPCNN主要的组成结构包括:

  • Redion embedding层(文本区域嵌入层)
  • 两个convolution block,每层block由两个固定卷积核为3的conv卷积函数构成,两个block构建的层可以pre-activation直接连接
  • Repeat结构,与上一层相似,只不过在conv之前、pre-activate之后增加了Max-polling层

4.2 结构细节

  1.模型输入:输入词维度为[batch_size, seq_len]。

  2.Region Embeeding层

  将TextCNN的包含多尺寸卷积滤波器的卷积层的卷积结果称之为Region embedding,意思就是对一个文本区域/片段(比如3-gram)进行一组卷积操作后生成的embedding。

  此外为了进一步提高性能,还使用了tv-embedding (two-views embedding)进一步提高DPCNN的accuracy,也就是引入预训练的词向量.

  经过embedding层,词向量维度为:[batch_size, seq_len, embedded_size]

  3.等长卷积层

  等长卷积(equal-width convolution):步长 s = 1 s=1 s=1,两端补零 p = ( m − 1 ) / 2 p=(m-1)/2 p=(m1)/2,卷积后输出长度为 n n n。DPCNN模型中采用两层(+relu)每层均为250个尺寸为3的卷积核。
该层采用了pre-activation的做法,卷积运算是 W σ ( x ) + b W\sigma(x)+b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值