卷积神经网络学习路线(六)| 经典网络回顾之LeNet

在这里插入图片描述开篇的这张图代表ILSVRC历年的Top-5错误率,我会按照以上经典网络出现的时间顺序对他们进行介绍,同时穿插一些其他的经典CNN网络。

前言

这是卷积神经网络学习路线的第六篇文章,前面五篇文章从细节,超参数调节,网络解释性方面阐述了卷积神经网络。从这篇文章开始,卷积神经网络学习路线就开始代领大家一起探索从1998年到2019年的20多种经典的网络,体会每种网络的前世今身以及包含的深邃思想。本节就带大家来探索一下LeNet。

背景&贡献

LeNet是CNN之父Yann LeCun在1998提出来的,LeNet通过巧妙的设计,利用卷积、参数共享、下采样等操作提取特征,避免了大量的计算成本,最后再使用全连接神经网络进行分类识别,这个网络也是近20年来大量神经网络架构的起源。

网络结构

LeNet-5是LeNet系列最新的卷积神经网络,设计用于识别机器打印的字符,LeNet-5的网络结构如下图所示。
在这里插入图片描述我们可以具体分析一下:

  • 首先输入图像是单通道的 28 × 28 28\times 28 28×28大小的图像,用caffe中的Blob表示的话,维度就是 [ B , 1 , 28 , 28 ] [B,1,28,28] [B,1,28,28]。其中 B B B代表batch_size
  • 第一个卷积层conv1所用的卷积核尺寸为 5 × 5 5\times 5 5×5,滑动步长为 1 1 1,卷积核数目为 20 20 20,那么经过这一层后图像的尺寸变成 28 − 5 + 1 = 24 28-5+1=24 285+1=24,输出特征图的维度即为 [ B , 20 , 24 , 24 ] [B,20,24,24] [B,20,24,24]
  • 第一个池化层的池化核尺寸为 2 × 2 2\times 2 2×2,步长 2 2 2,这是没有重叠的max pooling,池化操作后,图像尺寸减半,变为 12 × 12 12\times 12 12×12,输出特征图维度为 [ B , 20 , 12 , 12 ] [B,20,12,12] [B,20,12,12]
  • 第二个卷积层conv2的卷积核尺寸为 5 × 5 5\times 5 5×5,步长 1 1 1,卷积核数目为 50 50 50,卷积后图像尺寸变为 12 − 5 + 1 = 8 12-5+1=8 125+1=8,输出特征图维度为 [ B , 50 , 8 , 8 ] [B,50,8,8] [B,50,8,8]
  • 第二个池化层pool2池化核尺寸为 2 × 2 2\times 2 2×2,步长 2 2 2,这是没有重叠的max pooling,池化操作后,图像尺寸减半,变为 4 × 4 4\times 4 4×4,输出矩阵为 [ B , 50 , 4 , 4 ] [B,50,4,4] [B,50,4,4]
  • pool2后面接全连接层fc1,神经元数目为 500 500 500,再接relu激活函数。
  • 最后再接fc2,神经元个数为 10 10 10,得到 10 10 10维的特征向量,用于 10 10 10个数字的分类训练,再送入softmaxt分类,得到分类结果的概率output

Keras实现

我们来看一个kerasLeNet-5实现,

def LeNet():
    model = Sequential()
    model.add(Conv2D(32,(5,5),strides=(1,1),input_shape=(28,28,1),padding='valid',activation='relu',kernel_initializer='uniform'))
    model.add(MaxPooling2D(pool_size=(2,2)))
    model.add(Conv2D(64,(5,5),strides=(1,1),padding='valid',activation='relu',kernel_initializer='uniform'))
    model.add(MaxPooling2D(pool_size=(2,2)))
    model.add(Flatten())
    model.add(Dense(100,activation='relu'))
    model.add(Dense(10,activation='softmax'))
    return model

没错就是这么简单。。。

后记

因为LeNet是最简单的CNN网络,所以就讲得比较简短。虽然LeNet结构简单,准确率在解决现代很多视觉任务时已经力不从心了,但LeNet是CNN的开创者,我们仍然应该给予足够的尊重。

卷积神经网络学习路线往期文章

卷积神经网络学习路线(一)| 卷积神经网络的组件以及卷积层是如何在图像中起作用的?

卷积神经网络学习路线(二)| 卷积层有哪些参数及常用卷积核类型盘点?

卷积神经网络学习路线(三)| 盘点不同类型的池化层、1*1卷积的作用和卷积核是否一定越大越好?

卷积神经网络学习路线(四)| 如何减少卷积层计算量,使用宽卷积的好处及转置卷积中的棋盘效应?

卷积神经网络学习路线(五)| 卷积神经网络参数设置,提高泛化能力?


欢迎关注我的微信公众号GiantPandaCV,期待和你一起交流机器学习,深度学习,图像算法,优化技术,比赛及日常生活等。
图片.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值