lenet-5网络解析

来源:互联网 发布:spring框架编程实例 编辑:程序博客网 时间:2024/04/28 10:28

lenet-5 出自论文Gradient-Based Learning Applied to Document Recognition, 是一种用于手写体字符识别的非常高效的卷积神经网络。下面是网络的结构


如果不算输入的话,网络结构总共有7层。
概念:
  1. C层是卷基层,卷基层的作用主要是用卷积核来对图像来做卷积操作,来提取图像的特征;S层是二次特征提取的过程,可以减少特征的维数,使得网络对于输入样本有较强的畸变容忍能力。融合一个小的区域的特征信息,用一个来代替。
  2. 特征图的含义是提取图像的一种特征,就是用某一种卷积核来对图像来做卷积操作,来得到特征图,例如C1卷基层有6个不同的卷积核,可以提取6种不同的特征,有6张特征图。
输入层:
从图中可以看出输入的字符的大小是32*32像素,这实际上比字符实际的大小大的比较多。
C1层:
第一层卷基层,卷积核的大小是5*5,其中有6个不同的卷积核,这一层中,每一个神经元只与输入图像中的5*5的领域相连,步长为1。这样得到的特征图的大小是28*28,也就是这一层神经元的个数。实际上32*32的输入图像再被送入网络的时候会转化成列向量。根据卷积核的大小和步长,可以计算出隐层的神经元的个数。对于5*5的卷积核,卷积后的图像大小为28*28,所以神经元的个数也是28*28个。这一层的训练参数是(5*5+1)*6=156个参数,连接数156*(28*28)=12230
S2层:
采样层,利用图像的局部相关性原理,对图像进行采样,可以减少处理的数据量,同事也会保存重要的信息。S2层得到的是6个特征图,每个特征图的每个元素是相应C1层中特征图中的2*2领域的4个元素的值某种变换。将4个元素进行进行相加,乘以一个训练的参数,再加上一个可训练的偏置。其中每个单元的2*2的感受域并不重叠,所以最后的特征图是14*14,高和宽缩小1/2. 训练参数是2*6=12. 连接是5880
C3层:
该层也是一个卷基层,同样采用的是5*5的卷积核,但是特征图变成了16个,神经元的个数是10*10个,有16中不同的卷积核,和之前不同的是,这一层的特征图是上一层的特征图的不同组合。C3的前6个特征图以S2中3个相邻的特征图子集为输入。接下来6个特征图以S2中4个相邻特征图子集为输入。然后的3个以不相邻的4个特征图子集为输入。最后一个将S2中所有特征图为输入。这样C3层有1516个可训练参数和151600个连接。

S4层:
下采样层,和上面的S2的功能类似,选择还是二邻域,特征图的大小是5*5,共16种特征图。32个训练参数,2000个连接。
C5层:
有120个特征图,每一个特征图都是由S4层的16个特征图的5*5邻域相连。C5层的特征图的大小为1*1,
F6层:
有84个单元(之所以选这个数字的原因来自于输出层的设计),与C5层全相连。有10164个可训练参数。如同经典神经网络,F6层计算输入向量和权重向量之间的点积,再加上一个偏置。然后将其传递给sigmoid函数产生单元i的一个状态

最后是,输出层由欧式径向基函数(Euclidean Radial Basis Function)单元组成,每类一个单元,每个有84个输入。输出为一个向量,指代相应的类别。

0 0
原创粉丝点击