卷积神经网络(CNN)学习笔记2:举例理解

来源:互联网 发布:php布尔类型 编辑:程序博客网 时间:2024/05/16 06:17

下图是一个经典的CNN结构,称为LeNet-5网络


可以看出,CNN中主要有两种类型的网络层,分别是卷积层池化(Pooling)/采样层(Subsampling)。卷积层的作用是提取图像的各种特征;池化层的作用是对原始特征信号进行抽象,从而大幅度减少训练参数,另外还可以减轻模型过拟合的程度。

卷积层

卷积层是卷积核在上一级输入层上通过逐一滑动窗口计算而得,卷积核中的每一个参数都相当于传统神经网络中的权值参数,与对应的局部像素相连接,将卷积核的各个参数与对应的局部像素值相乘之和,(通常还要再加上一个偏置参数),得到卷积层上的结果。如下图所示。


下面的动图能够更好地解释卷积过程:


池化/采样层

通过卷积层获得了图像的特征之后,理论上我们可以直接使用这些特征训练分类器(如softmax),但是这样做将面临巨大的计算量的挑战,而且容易产生过拟合的现象。为了进一步降低网络训练参数及模型的过拟合程度,我们对卷积层进行池化/采样(Pooling)处理。池化/采样的方式通常有以下两种:

  • Max-Pooling: 选择Pooling窗口中的最大值作为采样值;
  • Mean-Pooling: 将Pooling窗口中的所有值相加取平均,以平均值作为采样值; 

如下图所示。


LeNet-5网络详解

以上较详细地介绍了CNN的网络结构和基本原理,下面介绍一个经典的CNN模型:LeNet-5网络

其中原始输入图为32*32,卷积核为5*5,则可得C1层的特征图大小为(32-5+1)*(32-5+1)=28*28










转载来源

2 0
原创粉丝点击