一.卷积神经网络简介
卷积神经网络(CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。 它包括卷积层和池化层。
一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。
二.卷积神经网络的层级结构
• 数据输入层(Input layer):该层要做的处理主要是对原始图像数据进行预处理,其中包括:去均值,归一化和白化。
(1)去均值:把输入数据各个维度都中心化为0,如下图所示,其目的就是把样本的中心拉回到坐标系原点上。
(2) 归一化:幅度归一化到同样的范围,如下所示,即减少各维度数据取值范围的差异而带来的干扰,比如,我们有两个维度的特征A和B,A范围是0到10,而B范围是0到10000,如果直接使用这两个特征是有问题的,好的做法就是归一化,即A和B的数据都变为0到1的范围。
(3)PCA/白化:用PCA降维;白化是对数据各个特征轴上的幅度归一化
• 卷积计算层(CONV layer):这一层就是卷积神经网络最重要的一个层次,也是“卷积神经网络”的名字来源。在这个卷积层,有两个关键操作:
(1)局部关联。每个神经元看做一个滤波器(filter)
(2)窗口(receptive field)滑动, filter对局部数据计算
• ReLU激励层(ReLU layer)
• 池化层(Pooling layer):池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合,也就是说,如果输入是图像的话,那么池化层的最主要作用就是压缩图像。
• 全连接层(FC layer):两层之间所有神经元都有权重连接,通常全连接层在卷积神经网络尾部。也就是跟传统的神经网络神经元的连接方式是一样的。