卷积神经网络原理_三十七.卷积神经网络原理

一.卷积

1.二维卷积

在信号处理中,二维卷积的定义如下:

为给定图像,
为滤波器。

2.互相关

机器学习中,卷积其实是不翻转的二维卷积,定义为下:

被称作卷积核。

3.卷积神经网络中的卷积

卷积神经网络中,定义图像

和卷积核
的卷积过程如下:

二.卷积神经网络简介和结构

在实际项目中,输入神经网络的是具有更高分辨率的彩色图片,使得送入神经网络的参数过多。随着网络层数的增加,待优化参数越多,网络越来越复杂,模型很容易过拟合。为了减少特征参数,在实际应用时,会对原始图片进行特征提取,把提取来的特征送入全连接网络进行识别。

卷积神经网络的主要作用,就是通过卷积核,对输入特征进行特征提取再把提取到的特征送入全连接网络进行识别预测。卷积神经网络的主要模块一般包括以下四个:

卷积(Convolutional),批标准化(BN),激活(Activation),池化(Pooling)。

数据依次经过以上四步之后,在将其送入全连接网络。此外有时候卷积模块的终端还会添加一个Dropout层。因此,在神经网络中,卷积就是特征提取器,它的过程为CBAPD。

三.卷积层

1.前向传播

斯坦福大学给出的卷积过程如下图所示。首先,图像经过了

填充,卷积核有两个
,卷积核的维度
,前两个数字是卷积核的尺寸维度,说明每个卷积核有3行3列,第三个维度为卷积核的通道数,通道数与图像的通道保持一致,如果图像为灰度图,则通道数为1,下图所给的图像为RGB图像,有三个通道,因此,每个卷积核也有三个通道;有两个卷积核,所以输出的特征也有两个。

ed95574507f926c57f98d51e4839cf33.png

如上图所示,卷积的计算过程为:首先,将卷积核按照指定步长滑动。滑动后,卷积核与图像中的元素重合,然后将对应元素相乘,所有相乘的结果相加并加上偏置

,即得到一个点的卷积结果。

用公式表示卷积过程:

*代表卷积操作。

一般情况下,卷积核不止一个。也就是说

一般为一个三维张量。

激活函数

通常为ReLu函数(线性修正单元)。

2.全零填充

有时候,可以将原始图像的周围填充上一圈0,从而调节输出特征的维度。输出维度的计算公式如下:

3.反向传播

(1)已知卷积层的

,推导上一层的

其中,

代表将卷积核翻转180度。

(2)已知卷积层的

,求该层的

对于

对于

,将
的各个子矩阵的项分别求和,得到一个误差向量,即为
的梯度:

四.批标准化(Batch Normalization,BN)

神经网络对0附近的数据更加敏感,但是随着网络层数的增加,特征数据会出现偏离0均值的情况。标准化可以使数据符合

均值,1为标准差的分布。而批标准化时对一小批数据做标准化处理。其公式为:

:批标准化前,第
个卷积核输出特征图中的第
个像素点。

:批标准化前,第
个卷积核,batch张输出特征中所有像素点的均值。

:批标准化前,第
个卷积核,batch张输出特征中所有像素点的标准差。

优点:避免数据偏移,远离导数饱和区。

缺点:对于使用sigmoid 型激活函数时,这个取值区间刚好是接近线性变换的区间,减弱了神经网络的非线性性质。因此,为了使得归一化不对网络的表示能力造成负面影响,可以通过一个附加的缩放和平移变换改变取值区间。

五.池化层

池化一般包括最大池化和均值池化:最大池化可提取图片纹理,均值池化可保留背景特征。

1.前向传播

假如输入矩阵为

维,过滤器大小为
,则输出为
矩阵。

(1)MAX

输出区域为输入图像对应位置的最大值。

(2)Average

输出区域为输入图像对应位置的平均值。

2.反向传播

池化层没有激活函数,直接做unsample还原。

(1)如果使用的是MAX,前向传播时记录位置:

(2)如果使用的是Average,则进行平均:

六.舍弃(Dropout)层

为了缓解神经网络过拟合,在神经网络的训练过程中,常把隐藏层的神经元按一定比例从神经网络中临时舍弃。在使用神经网络时,再把所有神经元恢复到神经网络中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值