1、CNN 训练流程1、图像预处理(1) 尺度调整:将不同大小的训练样本集图像尺寸调整为 48*48(2) 对比度变换:将图像对比度归一化的三种方法A. 将三个彩色空间的像素围绕平均像素强度线性变换加减一个标准偏差。B. 将三个彩色空间的像素围绕平均像素强度线性变换加减两个个标准偏差。C. Contrast-limited Adaptive Histogram Equalization (CLAHE)对比受限的自适应直方图均衡化。第三种对比度变换产生的效果最好。图像扭曲:图像的位移,旋转度和尺度变换大小值都是在特定范围均匀分布的,在正负 10%范围内。2、卷积神经网络处理流程Our plain f
2、eed-forward CNN architecture is trained using on-line gradient descent. Images from the training set might be translated, scaled and rotated, whereas only the original images are used for validation. Training ends once the validation error is zero (usually after 10 to 50 epochs). Initial weights are
3、 drawn from a uniform random distribution in the range 0.05, 0.05. Each neurons activation function is a scaled hyperbolic tangent。用在线梯度下降算法训练 CNN,当有效误差为零训练结束(通常在1050代之后),初始权重均匀分布在-0.050.05随机产生。每一个神经元的激励函数为双曲正切函数。九层的卷积神经网络架构图(1) 输入层:3幅不同彩色空间的图像由输入层输入(2) 卷积层:卷积层每一个卷机层通过 输入图像与卷积核 进行二维卷积,激励结果输出图像 是通过 卷
4、积响应的和经过非线性激励函数得到的n代表层数,Y是一个 的图像, 是一个 大小的卷积核连接输入图像i和输出图像j, 是输出图像j的偏置量。对于一个 大小的输入图像 和尺寸为 的卷积核 ,输出图像 的大小 。(3)Max_pooling层:将上层卷积层的输出分为 n个 大小的矩形区域,取每个子区域的最大值进行降采样产生平移不变性。(4)分类层:选取合适的卷积核和max-pooling矩形的大小,将最后一个卷积层的输出降采样到一个像素,最后一个卷积层的输出和全连接层的连接为一维矩阵。最后一层通常为一个全连接层,每一个输出对应一种分类可能。我们采用softmax 回归作为最后一层的激励函数将每一个神
5、经元的输出理解为每个输入图像所属种类的可能性。卷积神经网络层次图L0输入层神经元节点数3*48*48个。L1由100张不同的特征映射图组成。每一张特征图的大小是46x46. 注意,由于卷积窗大小为3x3,易得其大小为46x46.需要训练的权重为3*100*(3*3+1)=3000。经过L1 降采样得到L2,由100幅大小为23*23的图像组成。L3由 L2和 4*4大小的卷积核得到,设定为150幅图像,卷积核大小为4*4,可得L3 图像的尺寸为20*20.需要训练的权重个数为100*150*(4*4+1)=255000。L3经过降采样得到L4,150幅10*10大小的图像。L5由 L4和 3*3大小的卷积核得到,设定为250幅图像,卷积核大小为3*3,可得L3 图像的尺寸为8*8。需要训练的权重个数为150*250*(3*3+1)=375000。L6有 250*4*4个神经元,L6到L7需要训练的权重个数为( 250*4*4+1)*200=800200L7到 L8需要训练的权重个数为(200+1)*43=8643需要训练的CNN的参数总和为1441843 个