CNN——卷积、池化与误差反向传播

卷积神经网络(CNN)

组成:输入层、卷积层、激活函数、池化层、全连接层
卷积神经网络中重要概念就:
深度:深度大小就等于所用的filter的个数[卷积层],也可以理解为提取的层数。
权值共享:给一张输入的图片用同一个filter去提取,filter里面的数据叫做权重,图中每个位置都是由同一个filter扫描的因此权重一样,也就是权值共享。
卷积:特征提取
池化:特征压缩,压缩方法有max法和mean


卷积神经网络相对于神经网络最重要的部分是卷积层跟池化层,这两个概念其实也不难理解,卷积层就是在输入层的基础上对输入的数据进行特征提取,这个过程称为卷积。而池化层的作用简单来说就是特征压缩。池化操作常用的又分为两个,一个是max操作另一个就是mean操作,下面我们会逐个讲解。


卷积:

卷积的概念:图像中不同数据窗口中的数据和卷积核(一个滤波矩阵)作内积的操作叫做卷积。
卷积核的概念:卷积时使用到的权值用一个矩阵表示,该矩阵与使用的图像区域大小相同,其行、列都是奇数,是一个权矩阵。
卷积核采用奇数的原因:一方面是因为在进行卷积的时候一般都是以卷积核的中心为基础然后进行滑动的,所以选为奇数,主要是方便以模块中心为标准进行滑动卷积。另一方面如果卷积核尺寸选用偶数那么就会得到 padding (周围填补的长度)为奇数,就不能平均分配到卷积张量两边,所以结合上面两种原因卷积核尺寸选为奇数。

卷积的计算:

注意这里面输入层最外圈添加了一层0,说明此时padding = 1
在这里插入图片描述
在这里插入图片描述
滑动输入层上同卷几层尺寸大小相同的矩形框,直至从左上方滑动到右下方结束滑动,完成一次卷积。因为这里是用了两个卷积核(filtering),所以最终输出层的深度为2.

输出层尺寸计算方法:

这里的输出层包括卷积后的输出层以及池化以后的输出层,二者的计算方法一样都是采用下列计算方法。
o u t = [ ( R i n − F + 2 ∗ P ) ] / S + 1 out=[(Rin-F+2*P)]/S+1 out=[(RinF+2P)]/S+1

其中 Rin 表示输入层矩阵尺寸大小,F 表示滤波矩阵尺寸大小,P 表示( padding )填充尺寸,S 表示滑动步长。
比如 :输入图片大小为 200*200 , 卷积矩阵为 5*5 ,padding = 1, stride =2 ; 池化矩阵 3*3 ,padding = 0 ,stride = 1 ; 又一层卷积 3*3 ,padding = 1 , stride = 1 ,问特征图大小为多少?
首先第一次卷积:[200-5+21]/2+1 = 99.5 ,因为是整数运算所以这里结果取 99 。
池化: [99-3+2
0]/1+1 = 97
第二次卷积: [97-3+1*2]/1+1 = 97
所以最终结果是 97 ,最终输出图片大小为 97 *97 *2 ,2 为深度


池化层向前传播的两种方法:

在这里插入图片描述

反向传播过程中池化操作[upsample]:

max法反向传播的时候只需要知道正向传播的时候传进来的那个最大数据所在的位置,然后反向的时候直接恢复那个位置的数值,其他都为零,可以理解为其他的不重要可以忽略为零。

1、前向传播是max法
在这里插入图片描述
2、前向传播是mean法

mean反向传播的时候将数据平均化即可。
在这里插入图片描述


误差反向传播

首先我们要知道我们下面用到的【x】表示的是误差传播到结点的结果或损失函数对这个结点激活前的导数。

一、池化层的向上传播[卷积层A激活函数—本池化层—卷积层B]

现在知道误差传播到本池化层的结果是【x+】,现在求误差传播到卷积层A的结果,从卷积层A到本池化层正向传播时经历了激活和池化两个过程,所以反向的时候首先需要进行池化层的反正传导,前面已经提过了然后就是需要对激活函数进行求导。公式推导见后面部分。
二、卷积层的向上传播[池化层A—卷积层—池化层B]
已知误差传播到本卷积层的结果是【x】,现在求误差传播到池化层A的结果,由于池化层没有激活(池化后的结果直接传到下一层),因此从池化层A到卷积层只有池化操作,反向传播时也就只有反向池化操作。


图片展示:
因为整张图片上传以后是横着的,所以我就截成两个了,谁会把整张图上传上去的希望能够指导一下,谢谢。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值