一、手写数字识别神经网络总体 结构
1.卷积层C1:
输入为28*28的灰度图像,灰度图像分别同6个5*5的模板进行卷积操作,分别得到了6个24*24的卷积图像,图像里面每个像素加上一个权重,并经过一个激活函数得到该层的输出。
激活函数的作用:第一是将数据钳制在一定范围内,比如本网络用的Sigmoid函数将数据压缩在-1到1之间,不太高不太低。第二是用来加入非线性因素的,因为线性模型的表达能力不够。
2.采样层S2及采样层S4
采样层S又名池化层,池化层主要是为了减少数据处理的维度,常见的pooling方法有max pooling和average pooling
max pooling 就是选择当前块内最大像素值来表示当前局部快
average pooling 就是选择当前块的像素值平均值来代替
3.卷积层C3
在卷积层C3中输入为6个12*12的图像,输出为12个8*8的图像。
4.输出层O5:
采样层S4后,我们将得到12张4*4的图像,将图像展开成一维,就得到了12*4*4=192的向量。输出层是由输入192位,输出10位的全连接单层神经网络,共有10个神经元组成,每个神经元都与192位输入向量,即都有192位的输入和1位输出,其处理公式如下,这里j表示输出神经元的序号,i表示输入的序号。
二、相关数据结构。
这个卷积网络主要有五层网络,主要结构是卷积层、采样层(Pooling)、卷积层、采样层(Pooling)和全连接的单层神经网络层(输出层),建立了三个基本层的结构及一个总的卷积网络结构。
这里结构内除了必要的权重参数,而需要记录该层输入输出数据y,及需要传递到下一层的局部梯度d。
(1)卷积层
(2)采样层
(3)全连接的单层神经网络
(4)各层共同组成的完整卷及网络
(5)存放训练参量的结构
三、前向传播过程
前向传播过程实际上就是指输入图像数据,得到输出结果的过程,而后向传播过程就是将输出结果的误差由后向前传递给各层,各层依次调整权重的过程。
C1层的相关代码,cov函数是卷积函数,activation_Sigma是激活函数。