快捷搜索:  汽车  科技

cnn卷积神经网络的优缺点(深度学习卷积神经网络)

cnn卷积神经网络的优缺点(深度学习卷积神经网络)卷积层是CNN中重要的组件。因为图像的特征大多存在于相邻像素之间,对应到CNN的卷积核就是,通过计算小区域内像素之间的关系进而来提取局部特征。类似于Photoshop软件中的滤镜,低通滤镜可以降噪,高通滤镜可以得到图像的细微纹理。卷积层深度学习CNN通过卷积层和池化层可以将不同位置的特征都提取出来,进而消除前馈神经网络对位置的依赖性,进而大大提升了模型的效率,减少构建数据集的开销。CNN通用结构包括图中所示的一些组件,组件个数和排布方式由具体模型及应用场景确定。CNN结构中可能包含卷积层、池化层、Flatten层、全连接层和输出层等网络结构.CNN通用结构

卷积神经网络(CNN)是深度学习技术中重要的网络结构之一,其在计算机视觉问题中的应用取得了非常好的效果,并且在ImageNet、Coco等竞赛数据集上取得了不俗的成绩。

CNN相比于图像处理算法的优点在于,CNN可以直接输入原始图像,这就避免了对图像复杂的前期预处理与特征工程。同时CNN通过局部连接、权值共享等方法,规避了传统全连接神经网络参数量过大的问题,提升计算速度,节省空间占用。

CNN图像处理的过程就是在进行信息抽取,巨大的网络可以逐层进行抽取并不断获取关键的图像特征,同时整个过程相比于传统机器学习来说是自动化的。

前馈网络的不足

如果训练前馈神经网络,使用物体位于中间的数据训练模型,则会造成模型只对中间位置的节点的权重进行调节。如果物体位于其他位置,则模型将会无法进行识别。

深度学习CNN通过卷积层和池化层可以将不同位置的特征都提取出来,进而消除前馈神经网络对位置的依赖性,进而大大提升了模型的效率,减少构建数据集的开销。

CNN的结构

CNN通用结构包括图中所示的一些组件,组件个数和排布方式由具体模型及应用场景确定。CNN结构中可能包含卷积层、池化层、Flatten层、全连接层和输出层等网络结构.

cnn卷积神经网络的优缺点(深度学习卷积神经网络)(1)

CNN通用结构

卷积层

卷积层是CNN中重要的组件。因为图像的特征大多存在于相邻像素之间,对应到CNN的卷积核就是,通过计算小区域内像素之间的关系进而来提取局部特征。类似于Photoshop软件中的滤镜,低通滤镜可以降噪,高通滤镜可以得到图像的细微纹理。

cnn卷积神经网络的优缺点(深度学习卷积神经网络)(2)

cnn卷积神经网络的优缺点(深度学习卷积神经网络)(3)

滤波器不断作用于局部图像,将滤波器与局部图像进行乘法运算之后求和,生成输出的特征图(FeatureMap)的每一个元素。如上图所示的3X3方形滤波器,即卷积核,在CNN网络中就是神经元的权重参数。

局部连接

CNN通过局部连接可以大幅降低计算开销。假设输入图像为1000×1000像素,而与之连接的隐藏层的神经元是106,那么计算一下则全连接会产生1000×1000×106=1012个权重参数,大量的参数将造成巨大的计算开销;如果使用卷积层中的局部连接方式,隐藏层的每个神经元只和图像中10×10的局部图像进行连接,那么权重参数将骤减为10×10×106= 108,对计算量有数量级的消减。

多滤波器

使用多个不同的滤波器对同一张图片进行多次特征提取,可以获得不同的特征图。常用的滤波器包括如下几种。

cnn卷积神经网络的优缺点(深度学习卷积神经网络)(4)

权值共享

采用卷积可以减少一定参数,但是参数量依然很多。采用权值共享可以进一步减少参数。隐藏层的每一个神经元连接的是一个10×10的局部图像,因此有10×10个权值参数。将这10×10个权值参数共享给剩下的神经元,也就是说隐藏层中106个神经元的权值参数都是相同的,此时不管神经元数量为多少,权重参数均变为10×10个。

因为有权值共享,即使同一形状的物体在不同位置也可以被等价识别,不需要对每个位置都设计自己的卷积滤波器来学习。

池化

通过卷积获得了特征之后,我们希望利用这些特征进行分类。理论上讲,人们可以利用提取到的所有特征去训练分类器,但这样做将面临着计算量的挑战。

卷积后的特征图中有对于识别物体来说不必要的冗余信息。通过将整个图片被不重叠地分割成若干个同样大小的小块(pooling size),然后每个小块的信息聚合起来,这种聚合的操作就称为池化(pooling)。下图展示了最大池化(max pooling)的操作。

cnn卷积神经网络的优缺点(深度学习卷积神经网络)(5)

池化层的主要功能是下采样,却不会损坏识别结果。

Inception

对于相同的物体形状,可能由于图像分辨率等原因,在不同的图像中其大小可能不一样,为了消除尺寸对于识别结果的影响,研究人员设计了Inception的结构。

cnn卷积神经网络的优缺点(深度学习卷积神经网络)(6)

Inception模块一次性使用多个不同大小的滤波器来抓取多个范围不同的特征,并让网络自己选择所需要的特征。

Flatten层和全连接层

当抓取到足以用来识别图片的特征之后,接下来的问题就是如何进行分类,通常卷积网络最后的Flatten层会将末端得到的长方体平摊成一个长长的向量,并送入全连接层配合输出层进行分类。

全连接层(Fully Connected Layers FC)在整个卷积神经网络中起到了“分类器”的作用,即将学到的特征映射到样本标记空间。

跳层连接

我们在判断一个物体的时候,很多时候我们并不是观察它的全部,或者提供给你的图片本身就是残缺的,这时我们可以通过跳层连接来获取组合信息以辅助判断。

cnn卷积神经网络的优缺点(深度学习卷积神经网络)(7)

跳层连接允许不同层级之间的因素进行信息交互、综合判断。例如上图所示的DenseNet就是拥有这种特点的神经网络。

总结经典CNN

综上,卷积神经网络(CNN)基本就是卷积层、池化层、激活函数、全连接层的各种组合。通过不断的组合优化,形成了很多经典的CNN结构。

  • LeNet:较早的深度神经网络结构。
  • AlexNet:相比LeNet,网络层次更深。其使用堆叠卷积层来进行特征提取,通常是一个卷积层之后连接一个Max Pooling层,形成网络结构。
  • ZF Net:增加了中间卷积层的尺寸,使得第一层的步长(Stride)和滤波器尺寸更小。
  • GoogLeNet:减少参数数量,最后一层使用Max Pooling层代替了全连接层,同时引入了Inception-v4模块的使用。
  • VGGNet:只使用3×3卷积层和2×2 pooling层进行深度神经网络结构连接。
  • ResNet:引入了跳层连接和Batch Normalization。
  • DenseNet:将跳层连接应用于整个网络结构。

猜您喜欢: