A Convolutional Neural Network for Modelling Sentences(DCNN)阅读笔记

本文是关于Dynamic Convolutional Neural Network的阅读笔记,介绍了DCNN如何利用宽卷积和动态k-max池化保留句子中的词序信息和相对位置,适用于不同长度的句子。在电影评论情感预测和问题类型分类的实验中展示了其有效性。
摘要由CSDN通过智能技术生成

Dynamic Convolutional Neural Network

一、介绍

一篇14年的很经典的论文, 模型采用动态k-max pooling取出得分topk的特征值,能处理不同的句子,不依赖解析树。网络包含两种类型的层:一维的卷积层和动态k-max池化层(Dynamic k-max pooling)。

k-max pooling:

  • pooling的结果不是返回一个最大值,而是返回k组最大值,这些最大值是原输入的一个子序列;
  • pooling中的参数k可以是一个动态函数,具体的值依赖于网络的其他参数。

二、模型的特点

  1. 保留了句子中词序信息和词语之间的相对位置;
  2. 宽卷积的结果是传统卷积的一个扩展,某种意义上,也是n-gram的一个扩展,更加考虑句子边缘的信息;
  3. 模型不需要任何先验知识,并且模型考虑了句子中相隔较远的词语之间的语义信息。

三、模型结构及原理

可以发现和textCNN不同, 这里卷积是做的二维卷积.

1. 宽卷积

卷积层使用 宽卷积(Wide Convolution) 的方式。
与传统卷积操作相比,宽卷积输出Feature Map宽度更宽,因为卷积窗口并不需要覆盖所有的输入值。
感觉就是先padding吧.

右图就是宽卷积计算过程,当计算第一个节点s1时,可以假定s1节点前面有四个输入值为0的节点参与卷积(卷积窗口为5)。

2. k-max池化

k-max pooling选择序列p中的前k个最大值,这些最大值保留原来序列的词序。
k-max pooling的好处在于,既提取句子中的较重要信息(不止一个),同时保留了它们的次序信息。同时,由于应用在最后的卷积层上只需要提取出k个值,所以这种方法允许不同长度的输入。

3. 动态k-max池化

所谓动态k-max池化, 就是k值是动态变化的.
k是输入句子长度和网络深度两个参数的函数。
K l = max ⁡ ( k t o p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值