本文重点
LeNet是我们要介绍的第一个经典的卷积神经网络模型,它是一种用于手写体字符识别的非常高效的卷积神经网络。它是卷积神经网络的祖师爷LeCun在1998年提出,它将CNN的最基本的架构就定下来了:卷积层、池化层、全连接层。
它的算法模型的效果图为:
本文我们讲解基于LeNet完善的LeNet-5,它和原始的LeNet有些许不同,比如把激活函数改为了现在很常用的ReLu。
一张图片经过卷积核大小为5*5,步长为1的卷积层,然后使用2*2步长为2的池化层,然后又使用卷积核大小为5*5,步长为1的卷积层,然后使用2*2的步长为2的池化层,然后连接一个全连接fc1,然后激活层relu1,然后全连接层fc2,然后最后一个softmax层用于最终的10分类。我们下面看一下手写字体识别的图片经过这个网络的时候,维度信息是怎么变化的:
输入图像是单通道的28*28大小的图像,用矩阵表示就是[1,28,28]
第一个卷积层conv1所用的卷积核尺寸为5*5,滑动步长为1,卷积核数目为20,那么经过该层后图像尺寸变为24,28-5+1=24,输出矩阵为[20,24,24]。
第一个池化层pool核尺寸为2*2,步长2,这是没有重叠的max pooling,池化操作后,图像尺寸减半,变为12×12,输出矩阵为[20,12,12]。
第二个卷积层conv2的卷积核尺寸为5*5,