lecture11 - ConvNets for NLP

课程内容

卷积神经网络简介(Convolutional Neural Networks)

网络具体的细节许多博客都有所记载了,这里想记录一下在NLP的应用中比较不同的概念:
首先是池化层(Pooling),一般来说,在传统的CV应用中,池化作为一种下采样技术,通常有Max Pooling/Average Pooling。但是在下面即将提到的模型中,通常使用的池化层有Max Over-Time Pooling/Avg Over-Time Pooling/K-Max Over-Time Pooling,原本的Max Pooling则称为Local Max Pooling。
CV中的padding操作通常针对整张图片的长宽两个维度,在NLP中,padding是给序列填充TOKEN,从图片的视角去看就是仅在一个维度进行padding。

卷积神经网络在自然语言处理的应用(CNNs in NLP)

在NLP领域,相比于常见的RNN,CNN还是有其自身的特点的。Manning在课上说了几点:
首先,CNN将序列划分为独立的几个子序列,每一次信息提取不需要关注到前面序列的所有信息。
在某些任务中,这种独立性可能会有比较好的效果,例如文本分类(Text Classification),因为一个序列中可能表明情感倾向的可能仅有几个词,因此,将包含这些词的子序列独立看待理应比编码所有序列信息能得到更多的情感信息。
同时, RNN在不使用Attention机制的时候会受到序列最后的单词影响较大,用于编码整个句子的隐状态会很受最后一个词的影响。

数据预处理(Preprocessing)

我们知道,经过卷积操作,序列会被压缩,变短,于是,为了保持原有的序列长度,保留更多的句子信息,我们会对句子进行padding。使其卷积后序列长度保持不变:
在这里插入图片描述
可以看到我们添加了两个空TOKEN,均使用零向量初始化。假定使用Kernal_size为3的filter进行卷积操作。
卷积后的序列长度由下式可得:
C o n v S e q = ( S e q L e n g t h − f i l t e r S i z e + 1 ) ConvSeq = (SeqLength - filterSize + 1) ConvSeq=(SeqLengthfilterSize+1)
代入计算后,序列仍然长度为7,与真正的序列长度保持一致。

池化层(Pooling)

池化层单拿出来说是因为这节课上variants比较多的就是它了,逐个说一下:
1、Max Over-Time Pooling
不太清楚为啥叫这个名字,这种池化操作就是在filter卷积后,取每个通道的最大值,一个直观的理解是,最大的值代表这个通道最强的特征,我们知道,filter的数量决定了feature map的通道数,可以认为每个通道捕捉到序列不同的语义信息。这样,池化后的feature map形状大小为[filter数量,1]。
在这里插入图片描述
2、Avg Over-Time Pooling
基本做法与1一样,只不过这个是取每个通道中的均值。
在这里插入图片描述
3、K-Max Over-Time Pooling
顾名思义,K-Max代表每一次保留每个feature map前K个最大值。
在这里插入图片描述
4、dilated convolution
这种卷积将不连续的单词作为输入进行卷积,可以用较小的filter捕捉到大范围的特征。
在这里插入图片描述
如上图所示,将1,3,5行作为卷积对象,得到feature map,2,4,6行同理。

网络模型

Simple CNN for Classification

这是一个比较简单的模型结构,一个浅层的CNN。
在这里插入图片描述
图上讲得很清楚,句子使用预训练的词向量表示,文章中句子是双通道的,其中一个通道保持冻结,另外一个通道的词向量则继续训练。
filter有三个尺寸,并且该模型仅有一个卷积层,池化层使用Max Over-Time Pooling,最后所有feature map被放进全连接层然后加上softmax输出分类结果。

VD-CNN(Very-Deep CNN)

这是一个字符级的模型,初衷就是希望像CV领域一般在NLP领域也建立比较深层的网络模型。
在这里插入图片描述
可以看到这个模型更加像视觉领域的模型,也有shortcut的存在。具体情形还是得拿原文细品。

准循环神经网络(Quasi-RNN)

RNN的缺点很明显,就是并行性很差,Q-RNN就试图优化这个问题,这个模型结合了卷积网络与循环网络的特点。
在这里插入图片描述
这里也没有说太多细节,从课件上看,应该是将RNN中计算门的机制改为卷积计算。具体的也得找别的博客补补。

此外,课上提了一些关于防止网络过拟合的技巧,这部分是可以单开博客来叙述的,就不写在这了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值