LeNet实现原理讲解
背景:LeNet在80年代末期在银行和邮局等识别手写数字处于支配的地位。
应用于MNIST数据集:
一共分为10类,28*28的大小。
整个LeNet的整体框架为如下的结构:
(1)第一步,将原来的28x28的填充扩展为32x32大小的。padding=2
(2)第二步,通过一个5X5的卷积kernel,这里注意其输出通道数是6,经过此卷积层,
得到的输出是输出通道数为6,宽和高都是28的输出。得到的称为feature map.
(3)第三部,将卷积层的输出经过一个pooling层,是一个大小为2X2的均值pooling层。
经过pooling层得到的是通道数仍然为6,但是宽高是14X14的输出。
(4)第四部,再经过卷积层。kernel_size的宽高为5*5,得到的输出宽高是10*10,但是通道数发生了变化,变为了16.
(5)2*2的pooling层,输出16@5X5
(6)flatten展平,拉成一个向量tensor,然后输入到全连接层。第一个全连接层输出的是120
(7)第二个全连接层输出为84
(8)Gauss层,现在已经不怎么使用了,可以认为也是一个全连接层。输出大小为10
总体来说,LeNet先使用卷积层来学习图片的空间信息,然后再使用多个全连接层来转换到类别的空间。