当前位置: 首页 > ai >正文

深度学习经典网络之LeNet-5详解

内容摘要

本文深入剖析卷积神经网络LeNet-5。介绍其提出背景与在深度学习发展历程中的重要地位,详细解析模型结构,包括各层参数配置、连接方式,探讨模型特性,如卷积、下采样、非线性映射等操作组合的意义。通过研究LeNet-5,为理解深度学习网络原理和后续网络发展提供基础。

关键词:LeNet-5;卷积神经网络;模型结构;模型特性

1. 引言

在深度学习蓬勃发展的今天,卷积神经网络(Convolutional Neural Network,CNN)已成为图像识别、自然语言处理等众多领域的核心技术。而LeNet-5作为早期卷积神经网络中极具代表性的实验系统,是深度学习发展历程中的重要里程碑。1998年,Yann LeCun提出的LeNet-5主要用于手写数字识别和机器印刷字符识别,它的出现为后续更复杂、更强大的卷积神经网络的发展奠定了坚实基础。

2. LeNet-5模型介绍

LeNet-5的命名源于其作者Yann LeCun的名字,其中“5”是研究成果的代号。在LeNet-5之前,还有LeNet-4和LeNet-1,但它们的影响力相对较小。LeNet-5的核心贡献在于,它阐述了图像中像素特征之间的相关性能够由参数共享的卷积操作所提取 。这种参数共享机制大大减少了模型的参数数量,降低了计算复杂度,同时提高了模型的泛化能力。此外,LeNet-5使用卷积、下采样(池化)和非线性映射这样的组合结构,成为当前流行的大多数深度图像识别网络的基础。

3. LeNet-5模型结构

3.1 整体架构

LeNet-5一共包含7层(输入层不算作网络结构),分别由2个卷积层、2个下采样层和3个连接层组成。其网络结构如图1所示:
在这里插入图片描述

图1 LeNet-5网络结构图

各层的具体参数配置如表1所示:

网络层输入尺寸核尺寸输出尺寸可训练参数量
卷积层 C 1 C_1 C132×32×15×5×1/1,628×28×6 ( 5 × 5 × 1 + 1 ) × 6 (5×5×1 + 1)×6 (5×5×1+1)×6
下采样层 S 2 S_2 S228×28×62×2/214×14×6 ( 1 + 1 ) × 6 (1 + 1)×6 (1+1)×6
卷积层 C 3 C_3 C314×14×65×5×6/1,1610×10×161516
下采样层 S 4 S_4 S410×10×162×2/25×5×16 ( 1 + 1 ) × 16 (1 + 1)×16 (1+1)×16
卷积层 C 5 C_5 C55×5×165×5×16/1,1201×1×120 ( 5 × 5 × 16 + 1 ) × 120 (5×5×16 + 1)×120 (5×5×16+1)×120
全连接层 F 6 F_6 F61×1×120120×841×1×84(120 + 1)×84
输出层1×1×8484×101×1×10(84 + 1)×10
表1 LeNet-5网络的参数配置

3.2 各层详解

3.2.1 卷积层

卷积层是LeNet-5的核心组件之一,其主要作用是提取图像的特征。在LeNet-5中,卷积层 C 1 C_1 C1的输入是尺寸为32×32×1的图像数据(单通道图像,如灰度图),使用 5 × 5 × 1 5×5×1 5×5×1的卷积核,步长为1,共有6个卷积核。通过卷积操作,输出尺寸为28×28×6的特征图。这里的卷积核大小 5 × 5 × 1 5×5×1 5×5×1表示在二维空间上卷积核的大小为 5 × 5 5×5 5×5,通道数为1 。可训练参数量的计算方式为 ( 5 × 5 × 1 + 1 ) × 6 (5×5×1 + 1)×6 (5×5×1+1)×6,其中 5 × 5 × 1 5×5×1 5×5×1是卷积核中权重参数的数量, + 1 +1 +1是偏置项,再乘以卷积核的个数6 。

卷积层 C 3 C_3 C3的输入是 S 2 S_2 S2层输出的14×14×6的特征图,它采用了一种特殊的连接方式——稀疏连接。生成的16个通道特征图中分别按照相邻3个特征图、相邻4个特征图、非相邻4个特征图和全部6个特征图进行映射 。这样做的原因主要有两点:一是限制连接数,避免计算量过大(当时的计算能力相对较弱);二是强制限定不同特征图的组合,使映射得到的特征图能够学到不同的特征模式。其可训练参数个数的计算公式为 6 × ( 25 × 3 + 1 ) + 6 × ( 25 × 4 + 1 ) + 3 × ( 25 × 4 + 1 ) + 1 × ( 25 × 6 + 1 ) = 1516 6×(25×3 + 1)+6×(25×4 + 1)+3×(25×4 + 1)+1×(25×6 + 1)=1516 6×(25×3+1)+6×(25×4+1)+3×(25×4+1)+1×(25×6+1)=1516

3.2.2 下采样层

下采样层(在LeNet中,下采样操作和池化操作类似)在LeNet-5中起到了降低特征图分辨率、减少数据量的作用,同时也能在一定程度上提高模型的鲁棒性。下采样层 S 2 S_2 S2的输入是 C 1 C_1 C1层输出的28×28×6的特征图,采用 2 × 2 2×2 2×2的采样窗口,步长为2 。输出尺寸变为14×14×6 。与一般池化操作不同的是,LeNet-5的下采样在得到采样结果后会乘以一个系数并加上一个偏置项,所以其参数个数是 ( 1 + 1 ) × 6 (1 + 1)×6 (1+1)×6而不是0 。

3.2.3 全连接层

全连接层在LeNet-5中主要用于对前面提取到的特征进行分类。全连接层 F 6 F_6 F6的输入是 C 5 C_5 C5层输出的1×1×120的特征向量,通过一个120×84的连接矩阵,输出尺寸为1×1×84的向量 。可训练参数量为(120 + 1)×84 。最后,输出层的输入是 F 6 F_6 F6层的输出,通过一个84×10的连接矩阵,得到1×1×10的输出,对应10个数字类别(0 - 9)的预测概率。

4. LeNet-5模型特性

4.1 卷积、下采样与非线性映射组合

LeNet-5使用一个3层的序列组合:卷积、下采样(池化)、非线性映射,这是其最重要的特性之一,也奠定了目前深层卷积网络的基础。卷积操作负责提取图像的空间特征,下采样操作减少数据量并提高鲁棒性,非线性映射(如tanh或sigmoid函数)则为模型引入了非线性,使模型能够学习到更复杂的函数关系。

4.2 卷积提取空间特征

卷积层中的卷积核通过滑动窗口在图像上进行卷积操作,能够捕捉图像中局部区域的特征。由于卷积核的参数共享机制,模型可以在不同位置检测到相同的特征,大大提高了特征提取的效率和泛化能力。

4.3 映射的空间均值进行下采样

LeNet-5使用映射的空间均值进行下采样,这种方式可以在保留主要特征的同时,降低特征图的分辨率,减少数据量。与其他下采样方式相比,空间均值下采样能够在一定程度上避免信息的丢失,使模型对图像的平移、旋转等变换具有一定的鲁棒性。

4.4 非线性映射函数

LeNet-5使用tanh或sigmoid函数进行非线性映射。这些非线性函数能够将线性不可分的数据映射到非线性空间,从而使模型能够学习到更复杂的模式。例如,sigmoid函数可以将输入值映射到(0, 1)区间,tanh函数可以将输入值映射到(-1, 1)区间,它们的非线性特性为模型提供了强大的表达能力。

4.5 多层神经网络作为分类器

LeNet-5使用多层神经网络作为最终的分类器,通过全连接层将前面提取到的特征进行整合和分类。多层神经网络可以学习到特征之间的复杂关系,从而对输入图像进行准确的分类。在LeNet-5中,最后一层全连接层的输出通过softmax函数进行处理,得到10个数字类别的预测概率。

4.6 层间稀疏连接减少计算开销

LeNet-5中卷积层 C 3 C_3 C3采用的稀疏连接方式,减少了层间的连接数,从而降低了计算开销。这种设计在当时计算能力有限的情况下非常重要,同时也为后续网络结构的优化提供了思路。稀疏连接不仅可以减少参数数量,还可以避免模型过拟合,提高模型的泛化能力。

5. 总结

LeNet-5作为卷积神经网络的经典之作,为深度学习的发展做出了不可磨灭的贡献。它首次提出的卷积、下采样和非线性映射的组合结构,以及参数共享、稀疏连接等技术,至今仍被广泛应用于各种深度学习模型中。虽然随着技术的不断进步,后续出现了许多更强大的卷积神经网络,如AlexNet、VGGNet、GoogLeNet等,但LeNet-5的思想和设计理念依然是理解深度学习网络原理的重要基石。通过深入研究LeNet-5,我们可以更好地掌握卷积神经网络的基本原理和设计方法,为进一步探索深度学习领域提供有力的支持。

http://www.xdnf.cn/news/3554.html

相关文章:

  • 【AI面试准备】电商购物车AI测试设计与实施
  • C 语言 第五章 指针(6)
  • AI驱动文字冒险游戏
  • 从零开始讲DDR(8)——AXI 接口MIG 使用(1)
  • 主机Windows和虚拟机ubuntu和开发板三者互ping学习记录
  • Allegro23.1新功能之如何使用文件预览功能操作指导
  • 改进算法超详细:双变异樽海鞘群算法:从最优性能设计到分析
  • 数字智慧方案6185丨智慧银行解决方案(51页PPT)(文末有下载方式)
  • 【quantity】5 derive_more库 2.0 版介绍
  • 预订接口优化:使用本地消息表保证订单生成、库存扣减的一致性
  • 人工智能项目开发项目
  • SSH秘钥管理指南
  • Nginx核心功能及正则表达
  • 第T8周:猫狗识别
  • 【免费】2010-2019年上市公司排污费数据
  • 纯原生Java实现:获取整个项目中指定接口所有的实现类
  • 每天一道算法题——推多米诺
  • 使用xlwings计算合并单元格的求和
  • Cesium 环境搭建
  • 组件通信-$attrs
  • 5个实用工具软件详细介绍
  • 多线程基础:线程创建、启动与生命周期管理
  • 【阿里云大模型高级工程师ACP学习笔记】2.9 大模型应用生产实践 (上篇)
  • ESP32 在Platform Arduino平台驱动外部PSAM,进行内存管理
  • 数字智慧方案5846丨智慧广场整体解决方案(91页PPT)(文末有下载方式)
  • mindyolo填坑
  • 应用接入Stripe支付实战【2025版+配置+服务端+客户端+生产级+架构图+代码】
  • 表管理(约束)实验
  • C语言与指针3——基本数据类型
  • Learning vtkjs之TubeFilter