卷积神经网络相关

  • 在NLP中,虽然文本是序列数据,上下文信息需要模型具有记忆模块,但CNN依然有一定的应用价值。
  • CNN中的卷积类似于n-gram。提取的是局部的信息。
  • CNN在训练时可以并行运算,RNN由于需要先前的信息,串行运算。

文本CNN与图像的区别:

  • 文本做的是一维卷积,卷积核只在序列维度上移动,保证embedding的维度不变。
  • 2D图像是二维卷积,卷积核是在两个维度上移动的。
  • 通道个数都是自由的,取决于模型设计。但文本本身是单通道的,图片是有可能是多通道的(RGB)

卷积的计算

文本

cnn 和nlp CNN和NLP之间有关系吗_特征提取

  • 不同颜色,说明是不同尺寸的卷积核。都是3,说明都是三通道的。
  • 这边注意下,feature的长度取决于卷积核,但不同长度的一个feature最终经过Pooling就只有一个值,所以同一颜色色块的数目只取决于通道个数。
图像

cnn 和nlp CNN和NLP之间有关系吗_深度学习_02

  • 在这里,图片是三通道的。 5 * 5 * 3,那么卷积核(正方形)(k * k * 3),接下来通道数就是有几组,这边是有两组,步长为2 ,padding到7 。
  • 所以就是 3 * 3 * 2(3 = (7-3)/2 + 1)的结果。

特殊的卷积

cnn 和nlp CNN和NLP之间有关系吗_特征提取_03


11的小卷积,减少通道的个数。——11的参数量很小,缩减参数个数。

大卷积提特征。

应用

CNN就可以理解为一个特征提取器,或者编码器。就是把词向量矩阵进行编码,得到相应的信息。

最早的就是TextCNN那篇。
随后虽然说RNN直接上更适合文本,但实际上在很多工作中依然有用CNN作为句子的编码器(特征提取器)

Hybrid Attention-Based Prototypical Networks for Noisy Few-Shot Relation Classification

cnn 和nlp CNN和NLP之间有关系吗_卷积核_04


在这篇2019年AAAI的工作中,不仅encoder是CNN,同时还是将卷积作为同一个类别支持样本句向量的特征提取器。

无独有偶,同样是小样本关系抽取,2019 ACL的这篇论文,同样选择CNN作为encoder。

Multi-Level Matching and Aggregation Network for Few-Shot Relation Classification

cnn 和nlp CNN和NLP之间有关系吗_卷积核_05


为什么?两篇对于词向量的表示,都选择了PCNN的做法,也就是除了word2vec,还有实体在句子中的位置

cnn 和nlp CNN和NLP之间有关系吗_卷积_06

直觉来分析,可能在关系抽取任务中,一个好的句向量编码,不一定要能记住过往所有的信息。因为决定关系的除了句子,更重要的是两个实体。PCNN这种方式,或许能让模型更好地看到实体的信息,所以2014年的工作,到2019年的顶会,依旧被follow。