Lenet卷积神经网络
Lenet官网介绍链接
Lenet是一个用来识别手写数字的最经典卷积神经网络,是Yann LeCun在1988年设计并提出的,是早期卷积神经网络中最有代表性之一,其论文是CNN领域第一篇经典之作。
Lenet的整体网络如上图所示,Lenet要求手写体要尽量靠近中间,否则识别的准确率可能会偏低。网络将白色点设为-0.1,黑色点设为1.175,整体均值为0,方差为1.
C1层
训练参数:(P) 156 = 5*5*6+6,其中每个卷积核大小是5*5,共有6个卷积核,最后要加上6个偏置项。
连接数量:(C)122304 = 28*28*25*6+28*28*6,其中28*28*6为偏置项的连接数。
C2层
训练参数:(P)12 = 2*6 ,其中每个2包含一个可训练参数和一个偏置值。
连接数量:(C)5880 = 14*14*4*6+14*14*6,其中后半部分属于偏置项。
C3层
连接方式如下所示:
为什么要这样设计?
打破网络的平衡性,因为特征的分割可能是不平衡的,不同的feature map具有不同的特征,可以提取不同平面的不同特征。
训练参数:(P) 1516 = (5*5*3+1)*6+(5*5*4+1)*9+(5*5*6+1)*1
连接数:(C) 151600=25*3*100*6+25*4*100*9+25*6*100*1+16*10*10
S4层
训练参数:32 =2*16
连接数: 2000 = 5*5*4*16+5*5*16
C5层
参数个数:48120 = 120*5*5*16+120(有多少个神经元就有多少个偏置值)
连接数:48120 = 120*5*5*16+120
因为是全连接层参数个数和连接数的个数相同。
F6层
最后一层有84*10个参数
因为是全连接层,训练参数和连接数量都是120*84+84=10164。
为什么是84?因为预先训练了径向基函数(RBF)网络的连接方式。
结果
可以发现字体变细、倾斜都可以识别出来。
参考文章:
Gradient-based learning applied to document recognition