天天看点

LeNet-5网络结构解析

参考文章:

文章1

文章2

文章3

特殊性

  • 神经元间的连接是非全连接的
  • 同一层中某些神经元之间的连接的权重是共享的(即相同的)

权值共享

LeNet-5网络结构解析

使用同一个Kernel

池化

转:http://blog.csdn.net/geekmanong/article/details/50605340

CNN的池化(图像下采样)方法很多:Mean pooling(均值采样)、Max pooling(最大值采样)、Overlapping (重叠采样)、L2 pooling(均方采样)、Local Contrast Normalization(归一化采样)、Stochasticpooling(随即采样)、Def-pooling(形变约束采样)。

例如最大池化

LeNet-5网络结构解析

为了简单起见,我用上面的图片作为例子,假设上面的图片大小是4*4的,如上图所示,然后图片中每个像素点的值是上面各个格子中的数值。然后我要对这张4*4的图片进行池化,池化的大小为(2,2),跨步为2,那么采用最大池化也就是对上面4*4的图片进行分块,每个块的大小为2*2,然后统计每个块的最大值,作为下采样后图片的像素值,具体计算如下图所示:

LeNet-5网络结构解析

feature maps

转:http://blog.csdn.net/geekmanong/article/details/50605340

特征图,一张图片经过一个卷积核进行卷积运算,我们可以得到一张卷积后的结果图片,而这张图片就是特征图。在CNN中,我们要训练的卷积核并不是仅仅只有一个,这些卷积核用于提取特征,卷积核个数越多,提取的特征越多,理论上来说精度也会更高,然而卷积核一堆,意味着我们要训练的参数的个数越多。在LeNet-5经典结构中,第一层卷积核选择了6个,而在AlexNet中,第一层卷积核就选择了96个,具体多少个合适,还有待学习。

LeNet-5结构及参数计算

转:http://blog.csdn.net/geekmanong/article/details/50605340

LeNet-5网络结构解析

输入: 32∗32 的手写字体图片,这些手写字体包含 0 9 数字,也就是相当于 10 个类别的图片

输出:分类结果, 0 9 之间的一个数(softmax)

LeNet-5结构

输入层: 32∗32 的图片,也就是相当于 1024 个神经元

C1层:选取 6 个特征卷积核,大小为5∗5(不包含偏置),得到 6 个特征图,每个特征图的大小为32−5+1=28,也就是神经元的个数由 1024 减小到了 28∗28=784 。

输入层与C1层之间的参数: 6∗(5∗5+1) ,对于卷积层C1,每个像素都与前一层的 5∗5 个像素和 1 个bias有连接,有6∗(5∗5+1)∗(28∗28)个连接

S2层:池化,是一个下采样层(为什么是下采样?利用图像局部相关性的原理,对图像进行子抽样,可以减少数据处理量同时保留有用信息),有 6 个14∗14的特征图,特征图中的每个单元与C1中相对应特征图的 2∗2 邻域相连接。 S2 层每个单元对应 C1 中 4 个求和,乘以一个可训练参数,再加上一个可训练偏置。

C1与S2之间的参数:每一个2∗2求和,然后乘以一个参数,加上一个偏置,共计 2∗6=12 个参数。 S2 中的每个像素都与 C1 中的 2∗2 个像素和 1 个偏置相连接,所以有6∗5∗14∗14=5880个连接

C3层:选取卷积核大小为 5∗5 ,得到新的图片大小为 10∗10 我们知道S2包含: 6张14∗14 大小的图片,我们希望这一层得到的结果是: 16张10∗10 的图片。这 16 张图片的每一张,是通过 S2 的 6 张图片进行加权组合得到的,具体是怎么组合的呢?

S2与C3之间的组合

前6个feature map与 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 个连接。

LeNet-5网络结构解析

S4层

池化,窗口大小为 2∗2 ,有 16 个特征图,总共有 32 个参数

C3与S4之间的参数

16∗(25∗4+25)=2000 个连接

C5层

总共 120 个feature map,每个feature map与 S4 层所有的feature map相连接,卷积核大小是 5∗5 ,而 S4 层的feature map的大小也是 5∗5 ,所以 C5 的feature map就变成了1个点,共计有 120(25∗16+1)=48120 个参数。

F6层

全连接

F6 相当于MLP中的隐含层,有 84 个节点,所以有 84∗(120+1)=10164 个参数。 F6 层采用了正切函数。

输出层

采用了RBF函数,即径向欧式距离函数

继续阅读