LeNet复现pytorch --简单神经网络的搭建与训练

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

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值