您的位置:首页 > 理论基础 > 计算机网络

Understanding Convolutional Neural Networks for NLP(理解NLP中的卷积神经网络) 阅读笔记

2016-07-19 15:39 519 查看
目前正在学习把深度学习应用到NLP,主要是看些论文和博客,同时做些笔记方便理解,还没入门很多东西还不懂,一知半解。贴出来的原因,一是方便自己查看,二是希望大家指点一下,尽快入门。

原博客:http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/

什么是卷积?

每一次卷积相当于把低级的特征转换成更高级更抽象的特征

图片卷积的时候需要注意位置不变性和组合性,在NLP中则不需要,因为在图片中相近的像素语义也相近,但是在NLP中附近的词语语义却不同。

在nlp中高层的特征如何代表下层的特征没有图片的那么直观,RNN更加直观

在NLP中,按行(每一行即一个词)进行卷积,卷积核的宽度为词向量的宽度,高度通常是2-5个词

CNN的优势在于速度非常快,代价低。可以自动抽取好的特征。cnn中训练好的第一层卷积层类似于n-grams,但是比n-grams表示得更加紧凑

CNN的超参数

如何将卷积核应用到左上角没有邻居元素的像素呢?对没有邻居的元素的输出使用零填充。使用零填充的叫做wide convolution,没有使用零填充的叫做narrow convolution

步长:通常步长为1,大的步长可以减少特征数量。一个大步长的CNN其效果与RNN相似

池化层是一个关键的步骤,通常是在卷积层之后。池化层是从输入中选取子样本。通常是求每个filter结果的最大值。

池化的原因:可以使用不同长度的输入或者不同大小的filter,经过池化之后得到相同大小的输出用于分类;另外,池化缩小了特征的维度但是保留了最显著的信息,模型会损失词语位置这不太重要的信息而保留了最重要的信息,例如表示情感的词语。

在图片处理中,池化还提供了不变性的平移和旋转

通道:
是从不同的视图观察输入的信息。在图片中,从rgb不同的颜色通道进行处理;同样,在nlp中可以从不同的词向量通道进行处理,或者是从同一个句子的不同语言表达或者语义转换,作为不同的通道。

CNN在NLP中的应用

分类问题:情感分类,垃圾邮件检查,主题分类;卷积和池化会损失词顺序的特征,另外序列标注,词性标注和命名实体识别这些就难以应用到纯的CNN中(或者可以把位置特征作为一种输入)

....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cnn nlp 深度学习