CNN及DPCNN的学习

2018-10-27  本文已影响0人  zcyzcy

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及其它网络结构图
  1. 文本区嵌入(Text region embedding)
    v: size of vocabulary
    考虑下面三种类型k-词区表示。
    (1)序列输入,kv维串联,k个one-hot向量
    (2)bow输入,一个v维的bow向量
    (3)n-gram词袋输入。
上一篇下一篇

猜你喜欢

热点阅读