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

卷积神经网络CNN的原理(一)---基本概念

2018-10-20 16:40 691 查看

  什么是卷积神经网络呢?这个的确是比较难搞懂的概念,特别是一听到神经网络,大家脑海中第一个就会想到复杂的生物学,让人不寒而栗,那么复杂啊.卷积神经网络是做什么用的呢?它到底是一个什么东东呢?

卷积神经网络的灵感源一种生物进程,其中神经元之间的联结模式和动物视觉皮层组织非常相似。所以发明者把它叫做卷积神经网络.只是做了类比,没有生物学知识的同学不要怕,只要有良好的数学基础(这个也不是很容易喔).

下面看看各方神圣对CNN的概念的定义吧:

  科学的说法:

  卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。 它包括卷积层(convolutional layer)和池化层(pooling layer)。

  通俗的说法:

  简单说,卷积神经网络是一种类似于人工神经网络的深度学习模型或多层感知机,常用于分析和处理视觉数据。

  个人理解:

  卷积神经网络是一种能够有效对数据进行分类的神经网络算法,它的特点是简单,高效.

  卷积神经网络为什么那么火?它的优点是什么呢?试用场景又是什么呢?

  卷积神经网络包括一维卷积神经网络、二维卷积神经网络以及三维卷积神经网络。一维卷积神经网络常应用于序列类的数据处理;二维卷积神经网络常应用于图像类文本的识别;三维卷积神经网络主要应用于医学图像以及视频类数据识别。

可见,CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形

  发展历史:

  20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks-简称CNN)。现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输

原始图像,因而得到了更为广泛的应用。 K.Fukushima在1980年提出的新识别机是卷积神经网络的第一个实现网络。随后,更多的科研工作者对该网络进行了改进。其中,具有代表性的研究成果是Alexander和Taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。

  几个概念:

  1 什么是卷积?

  2 什么是神经网络?

  卷积神经网络的步骤解析:

卷积神经网络模型通常建立在前馈神经网络模型基础上,只是隐藏层换成了卷积层、池化层、全连接层

  卷积层:

在卷积层中,我们会计算输入图像某个区域和权重矩阵(称为过滤器)之间的点积结果,过滤器会在整个图像上滑动,重复相同的点积计算操作。这里不得不提两样东西:

 

  • 过滤器的通道必须和输入图像的通道数量一致。
  • 通常,随着网络的层级越深入,你使用的过滤器也会更多,其背后的原理就是我们使用越多的过滤器就意味着会有更多的边缘和特征检测。
 

卷积层输出的通道数量和卷积计算期间使用的过滤器数量相同。

  池化层:

有两种最常用的池化方式——平均池化和最大池化,其中后者用的更多些。在卷积神经网络中,池化层用于降低空间维度,但不会降低网络的深度。在使用最大池化层时,我们是取用输入区域(一个 n X m 矩阵)中的最大(图像中最敏感的区域)特征点,而使用平均池化层时,我们取用输入区域的平均特征点。     非线性层:

在非线性层中,我们大多时候使用 ReLU 激活函数,或者 S 型激活函数和 Tan-H 激活函数。 ReLU 激活函数会为输入图像中的每个负值返回 0,每个正值则返回同样的值。

  全连接层:

 在全连接层中,我们会将最后一个卷积层的输出压平,并把当前层的每个节点和下一层的节点相连。其实全连接层就是一种常规的人工神经网络,如下图所示。全连接层中的操作和人工神经网络中的操作是一某一样的:

   综上所述,一个神经网络的整个过程基本完成,下面我们总结一下卷积神经网络的过程:

一  卷积运算:前一层的特征图与一个可学习的卷积核进行卷积运算,卷积的结果经过激活函数后的输出形成这一层的神经元,从而构成该层特征图,也称特征提取层,每个神经元的输入与前一层的局部感受野相连接,并提取该局部的特征,一旦该局部特征被提取,它与其它特征之间的位置关系就被确定。

二 池化运算:它把输入信号分割成不重叠的区域,对于每个区域通过池化(下采样)运算来降低网络的空间分辨率,比如最大值池化是选择区域内的最大值,均值池化是计算区域内的平均值。通过该运算来消除信号的偏移和扭曲。

三 全连接运算:输入信号经过多次卷积核池化运算后,输出为多组信号,经过全连接运算,将多组信号依次组合为一组信号。

四 识别运算:上述运算过程为特征学习运算,需在上述运算基础上根据业务需求(分类或回归问题)增加一层网络用于分类或回归计算。

  示例图如下所示:   

参考文档: 1 https://www.zhihu.com/question/52668301/answer/156553359
2 https://www.zhihu.com/question/22298352/answer/473639991 3 https://en.wikipedia.org/wiki/Convolutional_neural_network 4 https://baike.baidu.com/item/%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/17541100?fr=aladdin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: