卷积神经网络的层级结构
数据输入层/ Input layer
卷积计算层/ CONV layer
ReLU激励层 / ReLU layer
池化层 / Pooling layer
全连接层 / FC layer
1.数据输入层
该层要做的处理主要是对原始图像数据进行预处理,其中包括:
去均值:把输入数据各个维度都中心化为0,如下图所示,其目的就是把样本的中心拉回到坐标系原点上。
归一化:幅度归一化到同样的范围,如下所示,即减少各维度数据取值范围的差异而带来的干扰,比如,我们有两个维度的特征A和B,A范围是0到10,而B范围是0到10000,如果直接使用这两个特征是有问题的,好的做法就是归一化,即A和B的数据都变为0到1的范围
2.卷积计算层
在这个卷积层,有两个关键操作:
局部关联。每个神经元看做一个滤波器(filter)
窗口(receptive field)滑动, filter对局部数据计算
填充值/zero-padding
以下图为例子,比如有这么一个5 * 5的图片(一个格子一个像素),我们滑动窗口取22,步长取2,那么我们发现还剩下1个像素没法滑完,那怎么办呢?
那我们在原先的矩阵加了一层填充值,使得变成66的矩阵,那么窗口就可以刚好把所有像素遍历完。这就是填充值的作用。
多维卷积计算
激励层:激活函数一般选用ReLu函数
池化层
池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。
一张图片当去除无关特征,只保留重要特征时,我们仍能识别。有些信息是可有可无的,池化层可以帮助我们去除冗余信息。
常用方法为Max pooling
选出每个窗口的最大值