Deep Learning是全部深度学习算法的总称,CNN是深度学习算法在图像处理领域的一个应用。
1. 概述
卷积神经网络是一种特殊的深层的神经网络模型,它的特殊性体现在两个方面,一方面它的神经元间的连接是非全连接的, 另一方面同一层中某些神经元之间的连接的权重是共享的(即相同的)。它的非全连接和权值共享的网络结构使之更类似于生物神经网络,降低了网络模型的复杂度(对于很难学习的深层结构来说,这是非常重要的),减少了权值的数量。
根据BP网络信号前向传递过程,我们可以很容易计算网络节点的输出。这样的计算过程(加权和),很多书上称其为卷积。
2、 CNN的结构
卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。
1、 特征提取。 每一个神经元从上一层的局部接受域得到突触输人,因而迫使它提取局部特征。(非全连接/稀疏连接)
2 、特征映射。 a.平移不变性。b.自由参数数量的缩减(通过权值共享实现)。
3、子抽样。
卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。
一般地,C层为特征提取层 (子采样层),每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取后,它与其他特征间的位置关系也随之确定下来;
S层是特征映射层 (卷积层),网络的每个计算层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。
通过局部感受野和权值共享减少了神经网络需要训练的参数的个数,降低了网络参数选择的复杂度。
多卷积核
只有1个卷积核,显然,特征提取是不充分的,我们可以添加多个卷积核
上图右,不同颜色表明不同的卷积核。每个卷积核都会将图像生成为另一幅图像。
卷积网络的核心思想是:将局部感受野、权值共享(或者权值复制)以及时间或空间亚采样这三种结构思想结合起来获得了某种程度的位移、尺度、形变不变性。
3、 CNN的训练
训练算法与传统的BP算法差不多。
第一阶段,向前传播阶段
第二阶段,向后传播阶段
4、 CNN的学习
其中,input 到C1、S4到C5、C5到output是全连接,C1到S2、C3到S4是一一对应的连接,S2到C3为了消除网络对称性,去掉了一部分连接, 可以让特征映射更具多样性。需要注意的是 C5 卷积核的尺寸要和 S4 的输出相同,只有这样才能保证输出是一维向量。
卷积层的前馈运算是通过如下算法实现的:
卷积层的输出= Sigmoid( Sum(卷积) +偏移量)