LeNet模型
参考文章 https://www.cnblogs.com/hd-zg/p/8724694.html
论文地址 Gradient-based learning applied to document recognition
卷积神经网络主要由两部分组成,一部分是特征提取(卷积、**函数、池化),另一部分是分类识别(全连接层)
C3层的第0个特征图和S2层的第0、1、2个feature map相连接,计算过程为:用三个卷积模板分别于S2层的三个features map卷积,将卷积结果求和+b,取sigmoid得到卷积后对应的feature map。有的是三个卷积模板,有的是四个,有的是6个,最后的参数个数:(5*5*3+1)*6+(5*5*4+1)*9+(5*5*6+1)=1516
层 | 输入 | 卷积核/池化单元 | 参数个数 | 连接数 | 输出 |
INPUT | 32*32的灰度图 | ||||
C1卷积层 | 32*326 | 5*5 深度为6,无0填充,步长为1 | (5*5+1)*6=156 5*5为卷积核,1为偏置参数 |
卷积后的图像大小为28*28,因此每个特征图有28*28个神经元,每个卷积核参数为(5*5+1)*6,该层连接数为(5*5+1)*6*28*28=122304 | (32-5)/1+1=28 28*28*6 |
S2池化层 | 28*28*6 | 2*2 | 2*6=12 每个特征图共享参数w、b,6个特征图 | 下采样之后图像大小为14*14,因此每个特征图有14*14个神经元,每个池化单元连接数为2*2+1,该层连接数为 (2*2+1)*14*14*6=5880 | 池化单元之间没有重叠,相当于每两行两列算出一个值。计算过程:2*2单元中值相加,乘训练参数w,+偏置b,取sigmoid 14*14*6 |
C3卷积层 | 14*4*6 | 5*5 深度为16 | (5*5*3+1)*6+(5*5*4+1)*9+5*5*5*5*6+1=1516 C3与S2不是全连接而是部分连接, 具体见表格下方解释 |
特征图大小*参数数量 1516*10*10 |
(14-5)/1+1=10 10*10*16 |
S4池化层 | 10*10*16 | 2*2 | 2*16=32 | 每个池化单元连接数为2*2+1,每个特征图有5*5个神经元,该层连接数为(2*2+1)*5*5*16=2000 | 5*5*16 |
C5卷积层 | 5*5*16 | 5*5 深度为120 | (5*5*16+1)*120=48120 | 48120*1*1=48120 | 1*1*120 |
F6全连接层 | 1*1*120 | 84 | (120+1)*84=10164 | 10164*1*1=10164 | 1*1*84 |
OUTPUT | 1*1*84 | 10个节点,代表0~9 | 84*10=840 | 840*1*1=840 | 1*1*10 |
output层,共有10个节点,分别代表数字0到9。如果第i个节点的值为0,则表示网络识别的结果是数字i。.该层采用径向基函数(RBF)的网络连接方式,假设x是上一层的输入,y是RBF的输出,则RBF输出的计算方式是:
上式中的Wij的值由i的比特图编码确定,i从0到9,j取值从0到7×12-1。RBF输出的值越接近于0,表示当前网络输入的识别结果与字符i越接近。