LeNet-5

LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition,是一种用于手写体字符识别的非常高效的卷积神经网络。除去输出层,LeNet-5 一共包含 7 层网络,每一层都包含可训练的参数。如下图所示,输入是一个 32x32 的图片,Cx 表示卷积层,Sx表示下采样(subsampling)层,以及全连接层表示为 Fx,x 表示的是神经网络层的索引。

在这里插入图片描述

LeNet-5 的架构细节

1.输入层

输入层输入数据提前通过填充的方式,形成32*32。注意:本层不算LeNet-5的网络结构,传统上,不将输入层视为网络层次结构之一。

2.C1层-卷积层(默认包含ReLU层)

输入图片:32*32

卷积核大小:5*5

卷积核种类:6

输出featuremap大小:28*28 (共6个)

神经元数量:28286

可训练参数:(55+1) * 6(每个滤波器55=25个unit参数和一个bias参数,一共6个滤波器)

连接数:(55+1)62828=122304

说明:这里只需要训练(5*5+1)*6=156个参数,而全链接数是122304,充分利用权值共享达到参数骤减。此处卷积层相当于小波变换(中的低通、中通、高通滤波器)或者傅里叶变化提取图像的低频信息、高频信息。

3.S2层-池化层(下采样层)

输入:28*28(共6个)

采样区域:2*2

采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid

采样种类:6

输出featureMap大小:14*14(共6个)

神经元数量:14146

连接数:(22+1)61414

4.C3层-卷积层(默认包含ReLU层)

输入:14*14 (S2中所有6个或者几个特征map组合)

对于输入做特别说明:

C3中的每个特征map是连接到S2中的所有6个或者几个特征map的,表示本层的特征map是上一层提取到的特征map的不同组合。

存在的一个方式是:C3的前6个特征图以S2中3个相邻的特征图子集为输入。接下来6个特征图以S2中4个相邻特征图子集为输入。然后的3个以不相邻的4个特征图子集为输入。最后一个将S2中所有特征图为输入。

下面以图的形式展示,0~5表示S2层的6幅图,横轴0~15表示C3的feature maps,然后第一副feature map就取的是S2层0,1,2三幅图,使用同一个卷积核k1对这三幅图分别卷积再求和,所以输出的图像是一副;以此类推,第二副feature map就取的是S2层1,2,3三幅图,使用同一个卷积核k2对这三幅图分别卷积再求和。所以为了生成C3的16幅图,共需要16个卷积核:

在这里插入图片描述

至于为什么采取这种组合,个人认为:1.减少参数;2.同时保证多种组合特征提取的覆盖率。

卷积核大小:5*5

卷积核种类:16

输出featureMap大小:10*10 (共16个)

可训练参数:6*(355+1)+6*(455+1)+3*(455+1)+1*(655+1)

连接数:10101516=151600

5.S4层-池化层(下采样层)

输入:10*10(共16个)

采样区域:2*2

采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid

采样种类:16

输出featureMap大小:5*5

神经元数量:5516=400

连接数:16*(2*2+1)55=2000

6.C5层-卷积层(默认包含ReLU层)

输入:5*5 (共16个)

卷积核大小:5*5

卷积核种类:120

输出featureMap大小:11(共120个,到这里说白了就是 1120维向量)

可训练参数/连接:120*(1655+1)=48120

说明:这里输入与卷积核size相同,则结果为1*1。

7.F6层-全连接层

输入:C5层的120维向量

计算方式:计算输入向量和权重向量之间的点积,再加上一个偏置,结果通过(sigmoid函数还是tanh函数,还没弄清)激活输出。

输出:11(共84个,到这里说白了就是 184维向量)

可训练参数:84*(120+1)=10164

说明这里为什么采用84作为隐藏层神经元个数:这一层使用7*12位图=84 来表示数字,一个原因是识别ascii表示的数字很有用,这样可以区别易混淆的数字,比如数字0和字母o很像。ASCII编码图如下:

在这里插入图片描述

8.输出层-全连接层

输入:84;输出:10

参数和连接数:84*10

共有10个节点,分别代表数字0到9,且如果节点i的值为0,则网络识别的结果是数字i。采用的是径向基函数(RBF)的网络连接方式。假设x是上一层的输入,y是RBF的输出,则RBF输出的计算方式是:

在这里插入图片描述

这个公式的意思是:当输入x的模式和权重w的模式非常接近的时候,y就最小。

如下图:

在这里插入图片描述

说明为什么采用RBF核函数:每个 RBF 单元的输出都是计算其输入向量和它参数向量之间的欧几里德距离。输入向量与参数向量相距越远,输出的 RBF 值越大。一个特定 RBF 的输出可以被解释为衡量输入模式与 RBF 相关联的类的模型之间的拟合。则有标签时,希望训练出来的参数和偏置可以使得y最小。RBF核函数如下图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值