一.卷积
1.二维卷积
在信号处理中,二维卷积的定义如下:
2.互相关
机器学习中,卷积其实是不翻转的二维卷积,定义为下:
3.卷积神经网络中的卷积
卷积神经网络中,定义图像
二.卷积神经网络简介和结构
在实际项目中,输入神经网络的是具有更高分辨率的彩色图片,使得送入神经网络的参数过多。随着网络层数的增加,待优化参数越多,网络越来越复杂,模型很容易过拟合。为了减少特征参数,在实际应用时,会对原始图片进行特征提取,把提取来的特征送入全连接网络进行识别。
卷积神经网络的主要作用,就是通过卷积核,对输入特征进行特征提取再把提取到的特征送入全连接网络进行识别预测。卷积神经网络的主要模块一般包括以下四个:
卷积(Convolutional),批标准化(BN),激活(Activation),池化(Pooling)。
数据依次经过以上四步之后,在将其送入全连接网络。此外有时候卷积模块的终端还会添加一个Dropout层。因此,在神经网络中,卷积就是特征提取器,它的过程为CBAPD。
三.卷积层
1.前向传播
斯坦福大学给出的卷积过程如下图所示。首先,图像经过了
如上图所示,卷积的计算过程为:首先,将卷积核按照指定步长滑动。滑动后,卷积核与图像中的元素重合,然后将对应元素相乘,所有相乘的结果相加并加上偏置
用公式表示卷积过程:
*代表卷积操作。
一般情况下,卷积核不止一个。也就是说
激活函数
2.全零填充
有时候,可以将原始图像的周围填充上一圈0,从而调节输出特征的维度。输出维度的计算公式如下:
3.反向传播
(1)已知卷积层的
其中,
(2)已知卷积层的
对于
对于
四.批标准化(Batch Normalization,BN)
神经网络对0附近的数据更加敏感,但是随着网络层数的增加,特征数据会出现偏离0均值的情况。标准化可以使数据符合
优点:避免数据偏移,远离导数饱和区。
缺点:对于使用sigmoid 型激活函数时,这个取值区间刚好是接近线性变换的区间,减弱了神经网络的非线性性质。因此,为了使得归一化不对网络的表示能力造成负面影响,可以通过一个附加的缩放和平移变换改变取值区间。
五.池化层
池化一般包括最大池化和均值池化:最大池化可提取图片纹理,均值池化可保留背景特征。
1.前向传播
假如输入矩阵为
(1)MAX
输出区域为输入图像对应位置的最大值。
(2)Average
输出区域为输入图像对应位置的平均值。
2.反向传播
池化层没有激活函数,直接做unsample还原。
(1)如果使用的是MAX,前向传播时记录位置:
(2)如果使用的是Average,则进行平均:
六.舍弃(Dropout)层
为了缓解神经网络过拟合,在神经网络的训练过程中,常把隐藏层的神经元按一定比例从神经网络中临时舍弃。在使用神经网络时,再把所有神经元恢复到神经网络中。