当前位置:   article > 正文

CNN卷积神经网络(图解CNN)

cnn卷积神经网络

2022-07-29修改:
突然发现这篇文章阅读量既然这么高,这里有更详细的关于CNN的讲解:
https://mp.weixin.qq.com/s?__biz=Mzk0MzIzODM5MA==&mid=2247484654&idx=1&sn=0eefbc4c58ec17b6e657d67f0821d4e7&chksm=c337b977f4403061ae59d52eb3100f7cb94810be275aaf10ebdcf69ab911a8956b428338534c#rd

什么是卷积神经网络

卷积神经网络默认输入是图像,可以让我们把特定的性质编码入网络结构,使是我们的前馈函数更加有效率,并减少了大量参数

卷积神经网络是一种带有卷积结构的深度神经网络,卷积结构可以减少深层网络占用的内存量,其三个关键的操作,其一是局部感受野,其二是权值共享,其三是pooling层,有效的减少了网络的参数个数,缓解了模型的过拟合问题。

1)网络结构

卷积神经网络整体架构: 卷积神经网络是一种多层的监督学习神经网络,隐含层的卷积层和池采样层是实现卷积神经网络特征提取功能的核心模块。该网络模型通过采用梯度下降法最小化损失函数对网络中的权重参数逐层反向调节,通过频繁的迭代训练提高网络的精度。卷积神经网络的低隐层是由卷积层和最大池采样层交替组成,高层是全连接层对应传统多层感知器的隐含层和逻辑回归分类器。第一个全连接层的输入是由卷积层和子采样层进行特征提取得到的特征图像。最后一层输出层是一个分类器,可以采用逻辑回归,Softmax回归甚至是支持向量机对输入图像进行分类。

卷积神经网络结构包括:卷积层,降采样层,全链接层。每一层有多个特征图,每个特征图通过一种卷积滤波器提取输入的一种特征,每个特征图有多个神经元。

输入图像统计和滤波器进行卷积之后,提取该局部特征,一旦该局部特征被提取出来之后,它与其他特征的位置关系也随之确定下来了,每个神经元的输入和前一层的局部感受野相连,每个特征提取层都紧跟一个用来求局部平均与二次提取的计算层,也叫特征映射层,网络的每个计算层由多个特征映射平面组成,平面上所有的神经元的权重相等。

通常将输入层到隐藏层的映射称为一个特征映射,也就是通过卷积层得到特征提取层,经过pooling之后得到特征映射层。

2)局部感受野与权值共享

卷积神经网络的核心思想就是局部感受野、是权值共享和pooling层,以此来达到简化网络参数并使得网络具有一定程度的位移、尺度、缩放、非线性形变稳定性。

  • 局部感受野:由于图像的空间联系是局部的,每个神经元不需要对全部的图像做感受,只需要感受局部特征即可,然后在更高层将这些感受得到的不同的局部神经元综合起来就可以得到全局的信息了,这样可以减少连接的数目
  • 权值共享:不同神经元之间的参数共享可以减少需要求解的参数,使用多种滤波器去卷积图像就会得到多种特征映射。权值共享其实就是对图像用同样的卷积核进行卷积操作,也就意味着第一个隐藏层的所有神经元所能检测到处于图像不同位置的完全相同的特征。其主要的能力就能检测到不同位置的同一类型特征,也就是卷积网络能很好的适应图像的小范围的平移性,即有较好的平移不变性(比如将输入图像的猫的位置移动之后,同样能够检测到猫的图像)

3)卷积层、下采样层、全连接层

卷积层:因为通过卷积运算我们可以提取出图像的特征,通过卷积运算可以使得原始信号的某些特征增强,并且降低噪声。

  • 用一个可训练的滤波器fx去卷积一个输入的图像(第一阶段是输入的图像,后面的阶段就是卷积特征map了),然后加一个偏置bx,得到卷积层Cx。

下采样层:因为对图像进行下采样,可以减少数据处理量同时保留有用信息,采样可以混淆特征的具体位置,因为某个特征找出来之后,它的位置已经不重要了,我们只需要这个特征和其他特征的相对位置,可以应对形变和扭曲带来的同类物体的变化。

  • 每邻域四个像素求和变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1,然后通过一个sigmoid激活函数,产生一个大概缩小四倍的特征映射图Sx+1。

全连接层:采用softmax全连接,得到的激活值即卷积神经网络提取到的图片特征。

卷积神经网络相比一般神经网络在图像理解中的优点:

  • 网络结构能够较好的适应图像的结构
  • 同时进行特征提取和分类,使得特征提取有助于特征分类
  • 权值共享可以减少网络的训练参数,使得神经网络结构变得简单,适应性更强

边缘检测

  • 垂直检测
  • 水平检测

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-96ihIz88-1598152191225)(1CA2762A4E9347A5A6468B34ABF1AE77)]

卷积运算

卷积层

卷积神经网路中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。

相当于特征提取

池化相当于降维 压缩数据

垂直边缘检测为例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • OpenCV学过的边缘检测滤波器 Sobel,Scharr

在这里插入图片描述

卷积后维度公式及运算示例

在这里插入图片描述

Padding填充

在这里插入图片描述
在这里插入图片描述

Valid卷积和Same卷积

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H9cbMxaI-1598152191257)(A930E67C9DD844AAA6B4B3055D71EB7E)]

卷积步长

在这里插入图片描述
在这里插入图片描述

三维卷积

在这里插入图片描述

简单卷积网络图解示例

一个卷积核

在这里插入图片描述

两个卷积核(多个)

在这里插入图片描述

池化层

通常在卷积层之后会得到维度很大的特征,将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。目的是为了减少特征图

池化层通常接在卷积层后面,引入它的目的就是为了简化卷积层的输出。通俗地理解,池化层也在卷积层上架了一个窗口,但这个窗口比卷积层的窗口简单许多,不需要w,b这些参数,它只是对窗口范围内的神经元做简单的操作,如求和,求最大值,把求得的值作为池化层神经元的输入值

最大池化

在这里插入图片描述

平均池化

在这里插入图片描述

为什么使用卷积?

  • 图像像素全连接的参数巨大

在这里插入图片描述

使用卷积网络的两个原因

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/366796
推荐阅读
相关标签
  

闽ICP备14008679号