浅谈深度神经网络 — LeNet

LeNet

LeNet网络模型结构规模比较小,但包含了卷积层Pooling层全连接层,他们构成了现代神经网络的基本组件,后续更复杂的网络模型都离不开这些基本的网络层组件。

LeNet-5包含输入层在内共有八层,每一层都包含多个参数(权重)。C层代表的是卷积层,通过卷积操作,可以使源信号特征增强,并降低噪音。S层是一个下采样层, 利用图像局部相关性的原理,对图像进行子抽样,可以减少数据处理量,同时保留一定的有用信息。

LeNet网络模型的具体结构如下:

Mnist数据库为例

第一层: INPUT层-输入层

输入层是32×32的大小的图像(Mnist数据库中数据大小一般为28×28),这样做的目的是希望潜在的明显特征,如笔画断续,角点能够出现在最高层特征监测子感受也的中心。

第二层:C1层-卷积层

输入尺寸:32×32
卷积核尺寸:5×5
特征图(feature map):28×28×6
训练参数:156 = (5×5+1)×6 --六个滤波器
连接数:122301 = (5 ×5 + 1)×28 ×28×6

说明: 有122304个连接,但是我们只需要学习156个参数,主要是通过权值共享实现的。通过卷积运算,使原始信号特征增强,并且降低噪音,而且不同的卷积核能够提取到图像中的不同特征。

第三层:S2层-池化层(下采样层)

输入尺寸:28×28
采样区域:2×2
采样方式:2×2的输入相加,乘以一个训练参数,再加上一个训练偏置,结果通过sigmoid函数得出。
特征图(feature map):14×14×6
训练参数:12 = 2×6
连接数:5880 =(2×2+1)×14×14×6

说明:下采样的目的是为了降低网络训练参数及模型的过拟合程度。下采样层的池化方式通常有两种:一是选择Pooling窗口中的最大值作为采样值,即最大值池化;而是将Pooling窗口中的所有值加权取平均值作为采样值,即均值池化。

第四层:C3层-卷积层

输入:S2中所有6个或者几个特征map组合
卷积核大小:5×5
卷积核种类:16
输出featureMap大小:10×10 (14-5+1)=10
C3中的每个特征map是连接到S2中的所有6个或者几个特征map的,表示本层的特征map是上一层提取到的特征map的不同组合

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

则:可训练参数:6×(3×5×5+1)+6×(4×5×5+1)+3×(4×5×5+1)+1×(6×5×5+1)=1516

连接数:10×10×1516=151600
详细说明:第一次池化之后是第二次卷积,第二次卷积的输出是C3,16个10x10的特征图,卷积核大小是 5×5. 我们知道S2 有6个 14×14 的特征图,怎么从6 个特征图得到 16个特征图了? 这里是通过对S2 的特征图特殊组合计算得到的16个特征图。具体如下:

C3的前6个feature map(对应上图第一个红框的6列)与S2层相连的3个feature map相连接(上图第一个红框),后面6个feature map与S2层相连的4个feature map相连接(上图第二个红框),后面3个feature map与S2层部分不相连的4个feature map相连接,最后一个与S2层的所有feature map相连。卷积核大小依然为5×5,所以总共有6×(3×5×5+1)+6×(4×5×5+1)+3×(4×5×5+1)+1×(6×5×5+1)=1516个参数。而图像大小为10×10,所以共有151600个连接。

第五层:S4层-池化层(下采样层)

S4是一个下采样层,由16个5×5大小的feature map 构成,每个神经元与C3中对应的feature map的2×2的大小区域相连。同样计算出2×16=32个参数和2000个连接。

第六层:C5层-卷积层

C5是一个卷积层,同样使用5×5的卷积核,每个feature map有(5-5+1)×(5-5+1),即1个神经元,每个单元都与S4层中的全部16个feature map的5×5全相连,C5层共有120个feature map,其参数与连接数都为48120。

第七层:F6层-全连接层

F6全连接层有84个feature map,每个feature map只有一个神经元与C5层全相连,故有120×84+84=10164个参数和连接。F6层计算输入向量和权重的点积和偏置,之后将其传递给sigmoid函数计算神经元。

第八层:F7层-全连接层

输出层为全连接层,共有10个节点,分别代表数字0~9,且如果节点i的值为0,则网络识别的结果是数字 i i i。采用的是径向基函数(RBF)的网络连接方式,其输出的计算方式为: y i = <munder> j </munder> ( x j w i j ) 2 y_i=\sum_j(x_j-w_{ij})^2 yi=j(xjwij)2RBF的值由 i i i的比特图编码确定。越接近于0,测越接近比特图编码,表示当前网络输入的识别结果是 i i i。该层由840=84×10个设定的参数和连接。

注:更加清楚的理解请参考论文: Gradient-Based Learning Applied to Document Recognition

全部评论

相关推荐

10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务