参考文献:
1、 卷积神经网络超详细介绍.
2、卷积神经网络概述.
3、几种典型的卷积神经网络模型.
4、卷积神经网络概述.
5、一文让你彻底了解卷积神经网络.
6、深度学习—图像卷积与反卷积(最完美的解释).
一、CNN简介
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。 它包括卷积层(convolutional layer)和池化层(pooling layer)。相比早期的BP神经网络,卷积神经网络最重要的特性在于“局部感知
”与“参数共享
”。参数共享大幅度减少了神经元的数量使得网络易于优化,防止过拟合的同时也降低了神经网络的复杂度。
如下图所示,一个完整的卷积神经网络可包含卷积层、池化层、全连接层等。其中卷积层用来进行特征提取,池化层用于降低维数,全连接层可用于结果预测(也可使用全卷积网络进行预测)。
注
:卷积运算也属于一种线性运算,故需要进行非线性处理,即添加激活函数(示例中为修正线性单元的函数,即 Relu 激活函数)。
二、CNN的基本概念
2.1图像卷积
在原始的输入上进行特征的提取。特征提取简言之就是,在原始输入上一个小区域一个小区域进行特征的提取
图1:左方块是输入层,尺寸为32 * 32的3通道图像。右边的小方块是卷积核(filter),尺寸为5*5,深度为3。将输入层划分为多个区域,用filter这个固定尺寸的助手,在输入层做运算,最终得到一个深度为1的特征图。
卷积的计算流程如下图所示:其中绿色代表原图像,黄色代表卷积核,右边粉色的即为卷积之后的结果。
注:
在进行卷积的时候一定要注意,卷积核的深度与图片的深度保持一致。
如下图:若一张图片的维度是32×32×3,其中两个32代表的是图片的长和宽,3代表的是图片的通道数(RGB),在进行卷积的时候,也要保证卷积核满足3个通道,在该卷积过程中,卷积核n(包含3个小卷积核) 中的每个小卷积核分别与原图像中所对应的图层进行卷积运算(如卷积核1中左边的小卷积核与原图像中左边的红色图层进行卷积运算,得到红色的单通道特征图;卷积核1中中间的小卷积核则与原图像中间的绿色图层进行卷积运算,得到绿色的单通道特征图,以此类推),分别生成3个单通道特征图,然后将这3个特征图按元素对应相加,即可得到卷积核n 生成的单通道特征图,最后将 n 个特征图相叠加即可得到最终的 n通道特征图。
图2:展示出一般使用多个filter分别进行卷积,最终得到多个特征图
图3:使用了6个filter分别卷积进行特征提取,最终得到6个特征图。将这6层叠在一起就得到了卷积层输出的结果。
图4:卷积不仅限于对原始输入的卷积。蓝色方块是在原始输入上进行卷积操作,使用了6个filter得到了6个提取特征图。绿色方块还能对蓝色方块进行卷积操作,使用了10个filter得到了10个特征图。每一个filter的深度必须与上一层输入的深度相等。