CS224N(11)-NLP中的卷积神经网络

ConvNets for NLP

一、From RNNs to Convolutional Neural Nets

RNN无法捕获没有前缀上下文的短语的信息。并且其最后一个向量通常过多的捕获最后一个单词的信息,而softmax通常仅计算最后一个向量的信息。

CNN的核心思想是计算句子中由每个可能的单词组成的子序列的向量表示。并且其通常不考虑短语的语法性。

CNN最常见于图像领域,它通常用于从图像中提取特征,这里不详细讲解。那么它是如何应用于NLP的呢?

CNN被用于NLP和被用于CV最大的不同在于CNN在NLP中使用时,一般使用的是1D卷积。而1D卷积就非常类似于NLP中语言模型所涉及的n-grams模型。

我们以下面这个图为例子,来简要介绍下NLP中CNN的参数:

1、滤波器(filter or kernel):也被称为卷积核,其目的在于局部捕获特征,而不是像全连接层那样,这样有利于减少参数的数目,减少计算量。
2、padding:在特征图四周补充0值(在NLP是在上下补充),其目的在于增加各个边的pixels的数目,保持特征图不要太小,

1.这样可以避免丢失原图信息,保持特征图与原图大小一致,
2.可以使更深层的layer的input依旧保持有足够大的信息量,
3.padding出来的pixel的值都是0,不存在噪音问题。

3、stride:步幅,即卷积核每次移动的长度。
4、pooling:即池化,主要分为下面几种:

1.max pooling:选取通过卷积操作得到的矩阵中每列的最大值
2.average pooling:选取通过卷积操作得到的矩阵中每列的平均值
3.k-max pooling:选取通过卷积操作得到的矩阵中每列的前k个最大值
4.local-max pooling:选取在通过卷积操作得到的矩阵上自定义区域内每列的最大值

5、dilation:也被称为:空洞卷积、膨胀卷积。

膨胀卷积的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。在自然语言处理中需要较长的sequence信息依赖的问题中,都能很好的应用。

二、Single Layer CNN for Sentence Classification

1、论文简介

相关论文及地址
1、Yoon Kim (2014): Convolutional Neural Networks for Sentence Classification. EMNLP 2014. https://arxiv.org/pdf/1408.5882.pdf
Code: https://arxiv.org/pdf/1408.5882.pdf [Theano!, etc.]
2、A variant of convolutional NNs of Collobert, Weston et al. (2011)

论文目标在于对句子进行分类,主要是情感分析,还有句子主客观分类,以及问题分类。

这篇论文中设计模型的结构如下:

其结构很简单,使用了一层卷积层以及一层池化层。每个句子向量由每句话中的词向量组成。
CNN中单个通道特征的计算公式如下:

且最后的结果是一个特征图:

此外模型使用的是max-pooling,它能捕获句子中最重要的信息,且使用了多个权重不同的卷积核,并且大小也不一致,这样模型可以捕获unigrams、bigrams、tri-grams、4-grams特征。最后,模型还是用了双通道,每个通道的初始值为由word2vec或glove预训练好的词向量,在训练过程中,冻结一个通道,另外一个随着训练不断地改变。

2、模型的改进

后来,Zhang and Wallace提出了上述网络地改进版,A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification
论文出处:https://arxiv.org/pdf/1510.03820.pdf

3、常见的tricks

在NLP中常见CNN架构一般都会采用一些tricks。比如:

1.dropout:它会使用概率p(超参数)为1,来创建伯努利随机变量的掩蔽向量r,在训练过程中随机删除部分特征,可以防止共适应问题,并且在测试阶段不会进行dropout。
2.L2正则化:同dropout一样,目的都在于防止过拟合
3.残差连接:Residual和Highway,当网络结构很深的时,效果很好。
4.Batch Normalization:通常在CNN中使用,其通过缩放激活来转换批处理的卷积输出,使其具有零均值和单位方差,这也是统计Z变换,因为它是批量更新,因此每次的波动不会对模型产生太大影响,使用BatchNorm会使模型对参数初始化不太敏感,因为输出会自动重新调整,而且使模型中学习率的调整更加方便。
4.1×1卷积核:1.实现跨通道的交互和信息整合,2.进行卷积核通道数的降维和升维

4、模型比较

Bag of Vectors:当后面跟着几个ReLU层地时候,是一个表现非常好的baseline。
Window Model:适用于不需要广泛上下文的问题的单词分类。例如,POS,NER。
CNNs:适用于分类,短语需要零填充,但其难以解释,易于在GPU上并行化,效率高且用途广泛。
RNN:认知合理(从左到右阅读),不是最好的分类(如果只使用最后状态),比CNN慢得多,有利于序列标记和分类,非常适合语言模型,引入注意力机制后表现十分出色。

CNN不仅可以用于分类任务,还可以用于机器翻译和Seq2Seq模型中。

5、Learning Character-level Representations for Part-of-Speech Tagging

模型结构图如下:

该模型主要是对字符进行卷积以生成单词嵌入并且使用固定窗口来处理PoS标记的字嵌入

6、Character-Aware Neural Language Models

结构图如下:


该模型主要利用了基于字符的单词嵌入以及利用卷积,HighwayNet和LSTM

7、Very Deep Convolutional Networks for Text Classification

虽然LSTM、CNN、Attention等模型在NLP中都得到了广泛的应用,但是这些模型的结构通常都不是特别深。而本次介绍的VDCNN就是一个结构非常深的网络。

该模型在设计上非常像一个视觉中常用到的VGGnet或ResNet。

其卷积块部分的结构如下所示:

每个卷积块是两个卷积层,每个卷后面是批量范数和ReLU非线性,采用大小为3的卷积并且采用填充以保留(或在本地池化时减半)维度

7、Quasi-Recurrent Neural Network

虽然RNN在NLP中的应用很广泛且效果也不错,但是它不能采取并行操作,因此它的速度非常慢。但CNN可以并行,因此有人结合CNN和RNN两个模型来构造一个新的模型,下面我们介绍下QRNN,它与LSTM以及CNN的结构简要对比如下:

跨时间并行的卷积计算公式如下:

并且跨通道的并行门控伪循环过程在池化层中完成:

QRNN的不足:

1.不适用于字符级LM和LSTM,难以建模更长的依赖关系。
2.通常需要更深的网络才能获得与LSTM一样好的性能,但深度很深仍然更快,并且使用深层的结构来代替循环

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容