CNN及DPCNN的学习

CNN(卷积神经网络) 基本模块##

  1. 卷积层
    由一组科学系的滤波器(filter)或内核(kernels)组成,他们具有很小的感受视野。在前馈期间,每个滤波器对输入进行卷积,计算滤波器和输入之间的点积,并产生该滤波器的二维激活图。
    卷积层示意图

    相对于全连接的神经网络, 引入卷积层可以减少训练的参数数量。

1.1 例子


filter参数(识别曲线)
选取区域
曲线区域与过滤器点积
非曲线区域与过滤器点积
  1. ReLU层(修正线性单元)
    每个卷积层之后,通常会立即应用一个非线性层(或者激活层)。目的是给刚经过卷积层中线性计算操作的系统引入非线性特征。常用的激活函数有:双曲正切和S型函数。但相对来说,ReLU层效果要更好一些。它能够帮助减轻梯度消失的问题,加快训练的速度。ReLU 层对输入内容的所有值都应用了函数 f(x) = max(0, x)

2.1 梯度消失的原因
z4 = σ(w4σ(w3σ(w2σ(w1x))))
∂z4/∂w1 = σ'(z4)w3σ'(z4)w3....
导数依赖于权重和激活函数的求导,如果σ'(zn)wn<1,随着神经网络层数增加,求导结果越来越小,使深层的网络对浅层的网络的影响变得越来越小。(梯度爆炸则是>1情况下)

  1. 池化层(Pooling Layer)
    在几个 ReLU 层之后,程序员也许会选择用一个池化层(pooling layer)。它同时也被叫做下采样(downsampling)层。在这个类别中,也有几种可供选择的层,最受欢迎的就是最大池化( max-pooling)。它基本上采用了一个过滤器(通常是 2x2 的)和一个同样长度的步幅。然后把它应用到输入内容上,输出过滤器卷积计算的每个子区域中的最大数字。这到达了两个主要目的。第一个是权重参数的数目减少到了75%,因此降低了计算成本。第二是它可以控制过拟合(overfitting)


    池化层
  2. Dropout层
    dropout是一种正则化的方法,用来解决CNN过拟合问题。设置概率,随机去除隐层的神经元个数。

DPCNN(Deep Pyramid Convolutional Neural Networks)

  1. 简介
    DPCNN被发表在自然语言处理领域顶级会议ACL2017(原文)。这篇paper提出了一个低复杂度词级别的卷积神经网络架构。该网络可以用于文本分类,有效地表示文本中的长范围关联。

  2. 架构


    DPCNN及其它网络结构图
  • Text region embedding, 将常用的词嵌入模型推广到覆盖一词或多词的文本域嵌入。
  • 紧接着是叠加的卷积块(由两个个卷积层和一个shortcut[残差网络]构成),与池化层交错,使用stride 2向下采样。
  • 最后的池化层把每个文档的数据聚合为一个向量。以上所有的池化层都是用最大池化层。
  1. 文本区嵌入(Text region embedding)
    v: size of vocabulary
    考虑下面三种类型k-词区表示。
    (1)序列输入,kv维串联,k个one-hot向量
    (2)bow输入,一个v维的bow向量
    (3)n-gram词袋输入。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章主要分为:一、深度学习概念;二、国内外研究现状;三、深度学习模型结构;四、深度学习训练算法;五、深度学习的优点...
    艾剪疏阅读 22,024评论 0 58
  • CNN on TensorFlow 本文大部分内容均参考于: An Intuitive Explanation o...
    _Randolph_阅读 12,291评论 2 31
  • 时间过得很快,昨天还在下雨,今天已是晴天。 记得每一次为你撑起的伞,每一次都会淋湿我的左肩。 记得昨天,你还在哭着...
    斷了風箏的線阅读 5,123评论 0 1
  • 烈酒伴着劲风, 你还在细数那段长桥遗梦。 没有人会在意, 这一片灯红酒绿人来人往, 谁为谁而迷惘, 谁为谁而彷徨。...
    伽蓝听雨阅读 942评论 1 1
  • 本文参考:【原】npm 常用命令详解从0开始发布一个无依赖、高质量的npm包Yarn 官网 上一篇文章 npm总结...
    双面小Q阅读 6,791评论 0 6