卷积神经网络

卷积神经网络

  卷积神经网络(Convolutional Neural Network,CNN或ConvNet)是一种具有局部连接、权重共享等特性的深层前馈神经网络。卷积神经网络最早是主要用来处理图像信息。如果用全连接前馈网络来处理图像时,会存在以下两个问题:

  1. 参数太多:如果输入图像大小为100×100×3(即图像高度为100,宽度为100,3 个颜色通道:RGB)。在全连接前馈网络中,第一个隐藏层的每个神经元到输入层都有100×100×3 = 30, 000 个相互独立的连接,每个连接都对应一个权重参数。随着隐藏层神经元数量的增多,参数的规模也会急剧增加。这会导致整个神经网络的训练效率会非常低,也很容易出现过拟合。
  2. 局部不变性特征:自然图像中的物体都具有局部不变性特征,比如尺度缩放、平移、旋转等操作不影响其语义信息。而全连接前馈网络很难提取这些局部不变特征,一般需要进行数据增强来提高性能。

卷积

  卷积(Convolution),也叫摺积,是分析数学中一种重要的运算。在信号处理或图像处理中,经常使用一维或二维卷积。


卷积神经网络_第1张图片
一维卷积

卷积神经网络_第2张图片
一维卷积
卷积神经网络_第3张图片
二维卷积

卷积神经网络_第4张图片
二维卷积

卷积层

  卷积层的作用是提取一个局部区域的特征,不同的卷积核相当于不同的特征提取器。上一节中描述的卷积层的神经元和全连接网络一样都是一维结构。既然卷积网络主要应用在图像处理上,而图像为两维结构,因此为了更充分地利用图像的局部信息,通常将神经元组织为三维结构的神经层,其大小为高度M×宽度N×深度D,有D个M × N 大小的特征映射构成。
  特征映射(Feature Map)为一幅图像(或其它特征映射)在经过卷积提取到的特征,每个特征映射可以作为一类抽取的图像特征。为了提高卷积网络的表示能力,可以在每一层使用多个不同的特征映射,以更好地表示图像的特征。

卷积神经网络_第5张图片
卷积层

卷积神经网络_第6张图片
卷积层

池化层(汇聚层)

卷积神经网络_第7张图片
池化层

卷积神经网络_第8张图片
池化层

常用网络结构

LeNet-5

  LeNet-5[LeCun et al., 1998] 虽然提出的时间比较早,但是是一个非常成功的神经网络模型。基于LeNet-5 的手写数字识别系统在90 年代被美国很多银行使用,用来识别支票上面的手写数字。

Inception 网络

  在卷积网络中,如何设置卷积层的卷积核大小是一个十分关键的问题。在Inception 网络中,一个卷积层包含多个不同大小的卷积操作,称为Inception 模块。Inception 网络是由有多个inception 模块和少量的汇聚层堆叠而成。

其它卷积方式

转置卷积

卷积神经网络_第9张图片
转置卷积

卷积神经网络_第10张图片
转置卷积

卷积神经网络_第11张图片
转置卷积

卷积神经网络_第12张图片
转置卷积

空洞卷积

卷积神经网络_第13张图片
空洞卷积

卷积神经网络_第14张图片
空洞卷积

Text-CNN

  卷积神经网络(CNN)利用具有应用于局部特征的卷积滤波器的层(LeCun等,1998)。最初发明用于计算机视觉的CNN模型随后被证明对NLP有效,并且在语义分析(Yih等人,2014),搜索查询检索(Shen et al。,2014),句子建模(Kalchbrenner)方面和其他传统的NLP任务(Collobert等,2011)取得了优异的成果。

  Text-CNN就是将卷积神经网络应用于文本方面,下面是一个双通道的一维卷积模型示意图:

卷积神经网络_第15张图片
在这里插入图片描述

  Text-CNN 的 tensorflow 代码实现。

参考文献

《神经网络与深度学习》
《Convolutional Neural Networks for Sentence Classification》

你可能感兴趣的:(卷积神经网络)