LeNet网络简介:
首先介绍一下LeNet, 定义了CNN的基本组件,是CNN的鼻祖。
LeNet由七层CNN组成,
C1卷积层:使用6个5*5的卷积核,得到6个feature map。输入图像为32*32,因此特征图大小为28*28。
参数个数:对于同个卷积核每个神经元使用的参数相同。因此参数个数是(5*5+1)*6=156,其中,5*5为卷积核参数,1为偏置参数。
连接数:每个特征图28*28个神经元,因此连接数为二者乘积:(5*5+1)*6*28*28=122304
S2下采样层:池化单元2*2,因此特征图的大小变成14*14。
计算过程是,2*2个单元里的值相加,乘以训练参数w,加上偏置参数,然后取sigmoid值,作为相应单位的值。
参数个数:每个特征图都共享w和b这两个参数,需要2*6=12个参数。
连接数:每个池化单元连接数为2*2+1,因此连接数为(2*2+1)*14*14*6。
C3卷积层:输入为6个14*14的特征图,经过16个5*5的卷积核 输出16个10*10 的特征图。
16个特征平面是如何和上一层池化层对应的?每个特征平面对应的卷积核和池化层的多个平面进行卷积。把C3的卷积平面编号即0,1,2,......15,池化层S2编号为0,1,......5,对应关系如下图:
可以观察到前六个平面是对应池化层的三个平面,6—14对应池化层的四个平面。
因此连接数:
(5*5*3+1)*10*10*6+(5*5*4+1)*10*10*9+(5*5*6+1)*10*10=151600
参数个数: (5x5x3+1)x6 + (5x5x4+1)x9 + 5x5x6+1 = 456 + 909+151 = 1516
这么做的目的是打破对称性,提取深层特征。
S4池化层:池化单元2*2,得到16个5*5的特征图
连接数:(2*2+1)*5*5*16
可训练参数:2*16=32(和的权+偏置)
C5卷积层:输入为16个5*5的特征图,经过 120个5*5的卷积核,输出120个1*1的特征图
因为S4输出的特征图大小为5*5所以,第五层可以看成全连接层,输出120个1*1的特征图
每个卷积核只对应一个神经元了&#x