CNN图像分类模型(一)——LeNet

一)简介

  LeNet-5是一种用于手写体字符识别的非常高效的卷积神经网络,自论文Gradient-Based Learning Applied to Document Recognition,由Yann LeCun等人于1998年发表。LeNet模型虽然结构相对简单,但包含了深度学习的基本模块——卷积层,池化层,全链接层,是后续各类CNN识别模型的基础。

二)LeNet模型简介

LeNet-5网络结构

在这里插入图片描述
如图所示为LeNet-5网络的基本结构,一共由7层(不包含输入层):
  0)输入层——32x32尺寸图像
  1)C1——卷积层1
  2)S2——池化层1
  3)C3——卷积层2
  4)S4——池化层2
  5)C5——全连接层1
  6)F6——全连接层2
  7)输出层——全连接层2

2.1)输入图像

  首先是图像输入层,输入灰度图像的尺寸归一化为32*32像素。

2.2)卷积层C1

  卷积核大小:5x5(卷积核每次滑动一个像素,即stride=1)
  卷积核个数:6
  输出featuremap尺寸:28x28 (由32-5+1得来)
  输出神经元的数量:28x28x6
  可训练参数:(5x5+1) x 6(每个卷积核5x5个参数,另加一个bias参数,一共6个卷积核)
  连接数(5x5+1)x28x28x6=122304

2.3)池化层S2

  输入:C1输出的6通道featuremap(28x28x6)
  池化窗口: 2x2
  池化采样个数:6
  池化方式:4个单元相加,乘以一个可训练参数,再加上一个bias,然后结果进行sigmoid映射
  输出featuremap尺寸:14x14(长宽各减半)
  输出神经元的数量:14x14x6
  可训练参数:(1+1) x 6(池化核的比例、bias)
  连接数(2x2+1)x14x14x6

2.4)卷积层C3

  输入为S2输出的6通道featuremap
  卷积核大小:5x5(卷积核每次滑动一个像素stride=1)
  卷积核个数:16
  输出featuremap尺寸:10x10 (由14-5+1得来)
  输出神经元的数量:10x10x6
  可训练参数/连接数:需考虑如下的组合方式
  原文中对C3的说明:
在这里插入图片描述
  其中横坐标为C3的16个featuremap,纵坐标为上一层S2的6个featuremap。通过对S2中featuremap不用组合的卷积组合,卷积得到16个featuremap。
  0-5的6个特征图,通过S2相邻的3个featuremap组合得到;
  6-11的6个特征图,通过S2相邻的4个featuremap组合得到;
  12-14的3个特征图,通过S2不相邻的4个featuremap组合得到;
  15的1个特征图,通过S2的全部6个featuremap组合得到。
  卷积核的厚度=被卷积的图像的通道数
    卷积核的个数=卷积操作后输出的通道数

2.5)池化层S4

  S4同S2相似,池化核个数增加到16
  输出featuremap尺寸:5x5(长宽各减半)
  输出神经元的数量:5x5x16
  可训练参数:(1+1) x 16(池化核的比例、bias)
  连接数(2x2+1)x5x5x16

2.6)全连接层C5(卷积层)

  输入为S4输出的16通道featuremap
  卷积核大小:5x5
  卷积核种类:120
  输出featuremap尺寸:1x1
  可训练参数:(5x5x16+1)x120

2.7)全连接层F6

  输入:120维向量
  节点数:84
  计算方式:计算输入向量和权重向量之间的点积,再加上一个偏置,结果通过sigmoid函数输出
  训练参数/连接数:(120+1)x84

扫描二维码关注公众号,回复: 13147942 查看本文章

2.8)全连接层G7(输出层)

  节点数:10(代表数字0-9)
  连接方式:径向基函数 Euclidean Radial Basis Function (RBF)
  训练参数/连接数:84x10

三)总结

  关于LeNet模型,Tensorflow教程中的MNIST数据集是一个很好的练手选择。

猜你喜欢

转载自blog.csdn.net/qq_33604695/article/details/90180741