总体概述:
卷积神经网络(Convolutional Neural Network,CNN或ConvNet)是一种具有局部连接、权重共享等特性的深层前馈神经网络。
卷积神经网络最早是主要用来处理图像信息。如果用全连接前馈网络来处理图像时,会存在以下两个问题:
(1)参数太多
(2)局部不变性特征(尺度缩放、平移、旋转等操作不影响其语义信息,而全连接前馈网络很难提取这些局部不变特征,一般需要进行数据增强来提高性能)
数据增强:https://blog.csdn.net/zhelong3205/article/details/81810743
目前的卷积神经网络一般是由卷积层、池化层和全连接层交叉堆叠而成的前馈神经网络使用反向传播算法进行训练。
卷积层的作用是提取局部区域的特征。
池化(下采样):用一个像素代替原图上邻近的若干像素,在保留 feature map特征的同时压缩其大小< 保留特征的同时压缩数据量(降维)>
全连接:通过加权计算得出结果
卷积
卷积(Convolution),也叫摺积,是分析数学中一种重要的运算。
一维卷积 一维卷积经常用在信号处理中,用于计算信号的延迟累积。假设一个信号发生器每个时刻t产生一个信号xt,其信息的衰减率为wk,即在k − 1个时间步长后,信息为原来的wk 倍。假设w1 = 1, w2 = 1/2, w3 = 1/4,那么在时刻t收到的信号yt 为当前时刻产生的信息和以前时刻延迟信息的叠加,
一般情况下滤波器的长度m远小于信号序列长度n。当滤波器fk = 1/m, 1 ≤ k ≤ m时,卷积相当于信号序列的移动平均。图5.1 给出了一维卷积示例。滤波器为[−1, 0, 1],连接边上的数字为滤波器中的权重。
二维卷积 卷积也经常用在图像处理中。
因为图像为一个两维结构,所以需要将一维卷积进行扩展。给定一个图像X ∈ RM×N,和滤波器W ∈ Rm×n,一般
m << M, n << N,其卷积为
图 5.2 给出了二维卷积示例。
常用的均值滤波(mean filter)就是当前位置的像素值设为滤波器窗口中所有像素的平均值,也就是
在图像处理中,卷积经常作为特征提取的有效方法。一幅图像在经过卷积操作后得到结果称为特征映射(Feature Map)。图5.3给出在图像处理中几种常用的滤波器,以及其对应的特征映射。
图中最上面的滤波器是常用的高斯滤波器,可以用来对图像进行平滑去噪;中间和最下面的过滤器可以用来提取边缘特征。
注:
1. 均值滤波:均值滤波器可以归为低通滤波器,是一种线性滤波器,其输出为邻域模板内的像素的简单平均值,主要用于图像的模糊和降噪。
均值滤波器的概念非常的直观,使用滤波器窗口内的像素的平均灰度值代替图像中的像素值,这样的结果就是降低图像中“尖锐”变化。这就造成,均值滤波器可以降低噪声的同时,也会模糊图像的边缘。均值滤波器的处理结果是过滤掉图像中的“不相关”细节,其中 “ 不相关 ” 细节指的是:与滤波器模板尺寸相比较小的像素区域。
图像锐化参见:https://baike.baidu.com/item/图像锐化/9949080
均值滤波:https://www.cnblogs.com/wangguchangqing/p/6399293.html
2. 高斯滤波
高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小。
高斯滤波详解:https://www.cnblogs.com/wangguchangqing/p/6407717.html
互相关
在机器学习和图像处理领域,卷积的主要功能是在一个图像(或某种特征)上滑动一个卷积核(即滤波器),通过卷积操作得到一组新的特征。在计算卷积的过程中,需要进行卷积核翻转。在具体实现上,一般会以互相关操作来代替卷积,从而会减少一些不必要的操作或开销 。
互相关(Cross-Correlation)是一 个衡量两个序列相关性的函数,通常是用滑动窗口的点积计算来实现。给定一
个图像X ∈ RM×N 和卷积核W ∈ Rm×n,它们的互相关为
和公式(5.6) 对比可知,互相关和卷积的区别在于卷积核仅仅是否进行翻转。因此互相关也可以称为不翻转卷积。
用互相关来代替卷积:
卷积的变种
引入滤波器的滑动步长和零填充来增加 卷积的多样性,可以更灵活地进行特征抽取。
滤波器的步长(Stride)是指滤波器在滑动时的时间间隔。图5.4a给出了步长为2 的卷积示例。
零填充(Zero Padding)是在输入向量两端进行补零。图5.4b给出了输入的两端各补一个零后的卷积示例
padding详解:https://www.cnblogs.com/cloud-ken/p/9338273.html
https://blog.csdn.net/hustlx/article/details/74930978
一般常用的卷积有以下三类:
• 窄卷积(Narrow Convolution):步长s = 1,两端不补零p = 0,卷积后输出长度为n − m + 1。
• 宽卷积(Wide Convolution):步长s = 1,两端补零p = m− 1,卷积后输出长度n + m − 1。
• 等宽卷积(Equal-Width Convolution):步长s = 1,两端补零p = (m−1)/2,卷积后输出长度n。图5.4b就是一个等长卷积示例。
卷积的数学性质
交换性:
如果不限制两个卷积信号的长度,卷积是具有交换性的,即x⊗y = y⊗x。当输入信息和卷积核有固定长度时,它们的宽卷积依然具有交换性。
对于两维图像X ∈ RM×N 和卷积核W ∈ Rm×n,对图像X 的两个维度进行零填充,两端各补m − 1 和n − 1 个零,得到全填充(Full Padding)的图像˜X∈ R(M+2m−2)×(N+2n−2)。图像X 和卷积核W 的宽卷积(Wide Convolution)
定义为
导数
假设Y = W⊗X,其中X ∈ RM×N,W ∈ Rm×n,Y ∈ R(M−m+1)×(N−n+1),函数f(Y ) ∈ R为一个标量函数,则