卷积神经网络的卷积及池化(pooling)

如何理解卷积神经网络中的卷积及池化(pooling)

1. 卷积
卷积层是用一个固定大小的矩形区去席卷原始数据,将原始数据分成一个个和卷积核大小相同的小块,然后将这些小块和卷积核相乘输出一个卷积值(注意这里是一个单独的值,不再是矩阵了)。

卷积的本质就是用卷积核的参数来提取原始数据的特征,通过矩阵点乘的运算,提取出和卷积核特征一致的值,如果卷积层有多个卷积核,则神经网络会自动学习卷积核的参数值,使得每个卷积核代表一个特征。

卷积首先要定义一个卷积核,卷积核通常是一个正方形,长宽就是卷积核的尺寸。

图像的卷积:
1.在图像的某个位置上覆盖滤波器;
2.将滤波器中的值与图像中的对应像素的值相乘;
3.把上面的乘积加起来,得到的和是输出图像中目标像素的值;
4.对图像的所有位置重复此操作。

在这里插入图片描述
从上图中可看出卷积就是将图像一个小区域的特征用“一个特征”来表示。其实上面的这个卷积和就是sobel卷积核,是用来提取图像边缘特征的算子。

卷积后图片尺寸大小:
先定义几个参数
输入图片大小 W×W
Filter大小 F×F
步长 S
padding的像素数 P
于是我们可以得出
N = (W − F + 2P )/S+1
输出图片大小为 N×N

2. 池化
池化操作(Pooling)是CNN中非常常见的一种操作,Pooling层是模仿人的视觉系统对数据进行降维,池化操作通常也叫做子采样(Subsampling)或降采样(Downsampling),在构建卷积神经网络时,往往会用在卷积层之后,通过池化来降低卷积层输出的特征维度,有效减少网络参数的同时还可以防止过拟合现象。

主要功能有以下几点:

抑制噪声,降低信息冗余
提升模型的尺度不变性、旋转不变形
降低模型计算量
防止过拟合

池化操作过程:
比如以(2,2)作为一个池化单位,池化就是将2*2个特征值根据池化算法池化为一个特征值,常用的池化算法有最大值、最小值、均值、中值(用的较少)。

在这里插入图片描述
参考:https://blog.csdn.net/choushi5845/article/details/100747117

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值