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

动手学深度学习|LeNet 超详细讲解:第一个经典卷积神经网络是怎么工作的?

前言在学习完卷积层、池化层之后我们终于来到了卷积神经网络发展史上一个非常经典的模型——LeNet。它虽然结构不深放到今天看甚至有点“朴素”但它的意义非常大LeNet 是深度学习历史上最早一批成功应用的卷积神经网络之一。很多现代 CNN 的基本设计思路其实都能在 LeNet 身上找到影子比如卷积层提取局部特征池化层进行下采样多层特征逐步抽象最后接全连接层进行分类所以LeNet 不只是“一个老模型”更像是卷积神经网络的启蒙模板。一、什么是 LeNetLeNet 一般指LeNet-5是由Yann LeCun等人提出的经典卷积神经网络最早主要用于手写数字识别。它最著名的应用场景就是输入一张手写数字图片模型判断这是 0~9 中的哪一个数字LeNet 的出现说明了一件很重要的事神经网络可以直接从图像中自动学习特征而不一定非要人工设计特征。这在当时是很有突破性的。二、LeNet 的核心思想是什么LeNet 的核心思想其实非常朴素1. 先用卷积层提取局部特征例如边缘、笔画、局部形状等。2. 再用池化层降低分辨率一边压缩信息一边增强特征鲁棒性。3. 逐层提取更高级特征前面学的是边缘后面慢慢学到更复杂的数字结构。4. 最后用全连接层完成分类把提取到的特征映射到具体类别。三、LeNet 的整体结构四、LeNet 每一层到底在干什么下面我们一层一层拆开讲。1. 输入层2. 第一层卷积层3. 第一层池化层4. 第二层卷积层5. 第二层池化层6. 展平Flatten7. 第一个全连接层把 400 维映射到 120 维[400 \rightarrow 120]这一层开始把卷积提取到的空间特征进行综合。8. 第二个全连接层继续映射[120 \rightarrow 84]这一层相当于进一步压缩和组合特征。9. 输出层最后输出 10 个神经元[84 \rightarrow 10]分别对应数字类别0123456789最终哪个输出值最大就预测为哪个数字。五、LeNet 的结构图可以怎么理解你可以把 LeNet 理解成这样一个流程前半部分卷积 池化负责从图像中提取特征。后半部分全连接负责根据提取到的特征做分类。也就是前面负责“看图”后面负责“判断这是什么”这是很多早期 CNN 的基本范式。六、LeNet 为什么重要LeNet 之所以重要不是因为它现在性能最强而是因为它奠定了 CNN 的基本框架。它至少有三层重要意义。1. 它证明了卷积神经网络是可行的在 LeNet 之前图像识别往往更依赖人工特征设计。LeNet 说明网络可以自己从数据中学习特征。这为后面的 AlexNet、VGG、ResNet 打下了基础。2. 它引入了局部连接和权重共享思想卷积层最核心的两个思想就是局部连接每个神经元只看输入的一小块区域而不是连接整张图。权重共享同一个卷积核在整张图上滑动使用参数不会因为位置不同而变。这两个思想让图像处理变得更高效也更符合图像的空间结构特点。3. 它体现了“分层特征提取”的思想LeNet 告诉我们浅层提取低级特征深层组合成高级特征最终完成分类这就是深度学习里非常核心的“层次化表示学习”思想。七、LeNet 有哪些优点1. 结构清晰非常适合入门LeNet 的层数不多逻辑特别清楚很适合理解 CNN 的基本工作机制。2. 计算量相对较小相比现代深层网络LeNet 非常轻量。3. 对手写数字这类简单任务效果不错在早期任务上它已经很实用了。八、LeNet 的局限性是什么虽然 LeNet 很经典但它也有明显局限。1. 网络太浅只有少数几层特征提取能力有限。2. 通道数较少例如只有 6、16 个通道表示能力比较弱。3. 更适合简单图像任务面对 ImageNet 这种复杂自然图像任务LeNet 就远远不够了。4. 使用平均池化较多现代 CNN 更常见的是最大池化或者干脆用步幅卷积替代池化。九、PyTorch 如何实现 LeNet下面给出一个很经典、很适合初学者理解的 LeNet 实现。import torch from torch import nn class LeNet(nn.Module): def __init__(self): super().__init__() self.net nn.Sequential( nn.Conv2d(1, 6, kernel_size5, padding0), # 1x32x32 - 6x28x28 nn.Sigmoid(), nn.AvgPool2d(kernel_size2, stride2), # 6x28x28 - 6x14x14 nn.Conv2d(6, 16, kernel_size5), # 6x14x14 - 16x10x10 nn.Sigmoid(), nn.AvgPool2d(kernel_size2, stride2), # 16x10x10 - 16x5x5 nn.Flatten(), nn.Linear(16 * 5 * 5, 120), nn.Sigmoid(), nn.Linear(120, 84), nn.Sigmoid(), nn.Linear(84, 10) ) def forward(self, x): return self.net(x) x torch.randn(1, 1, 32, 32) model LeNet() y model(x) print(y.shape)输出结果torch.Size([1, 10])说明模型最终输出 10 个类别分数。十、为什么这里用的是 Sigmoid你可能会发现LeNet 的代码里常常使用Sigmoid而不是现在更流行的ReLU。这是因为LeNet 提出的年代比较早当时神经网络里常用的激活函数就是Sigmoid或tanh但从现代深度学习实践来看ReLU往往训练更快梯度传播更稳定更适合深层网络所以如果你是为了现代实验很多时候也会把 LeNet 中的Sigmoid改成ReLU。十一、LeNet 学习时最容易混淆的点这里我帮你总结几个初学者最容易混淆的地方。1. 卷积层和池化层都在缩小尺寸但作用不同卷积层主要目的是提取特征。池化层主要目的是下采样和压缩信息。2. 卷积层会改变通道数池化层通常不会比如卷积1 - 6池化6 - 6池化一般只是让高宽变小不改通道数。3. LeNet 的重点不只是“会背结构”更重要的是理解为什么先卷积再池化为什么越往后通道数越多为什么最后还要接全连接层十二、LeNet 对后续网络有什么启发LeNet 虽然简单但后面的经典网络几乎都沿着它的思路继续发展。比如AlexNet网络更深通道更多用 ReLU 替代 Sigmoid在大规模图像任务上取得突破VGG用更多小卷积核堆叠结构更加规整ResNet解决深层网络训练困难问题引入残差连接可以说LeNet 是 CNN 的起点后面的经典网络都是在它基础上不断强化和改进。十三、总结LeNet 这一节最核心的内容你要记住下面这些1. LeNet 是经典的早期卷积神经网络主要用于手写数字识别。2. LeNet 的基本结构是卷积 池化 卷积 池化 全连接 输出3. 卷积层负责提取特征从低级边缘到高级结构逐层抽象。4. 池化层负责下采样减少计算量保留主要信息。5. 全连接层负责分类把提取到的特征映射到最终类别。6. LeNet 的历史意义非常大它奠定了后续 CNN 的基本设计思想。十四、结尾LeNet 是一个非常适合入门 CNN 的模型。它不复杂但麻雀虽小五脏俱全。卷积层、池化层、全连接层这些核心模块在 LeNet 里都能看到完整雏形。所以学 LeNet不只是学一个老模型而是在学卷积神经网络最基本、最经典的工作逻辑。如果你愿意我下一条可以继续直接给你写下一篇《AlexNet 超详细讲解》这样你就可以按这个顺序连续更新博客池化层 → LeNet → AlexNet → VGG → NiN → GoogLeNet

相关文章:

动手学深度学习|LeNet 超详细讲解:第一个经典卷积神经网络是怎么工作的?

前言在学习完卷积层、池化层之后,我们终于来到了卷积神经网络发展史上一个非常经典的模型——LeNet。它虽然结构不深,放到今天看甚至有点“朴素”,但它的意义非常大:LeNet 是深度学习历史上最早一批成功应用的卷积神经网络之一。很…...

Naive UI 主题色定制实战:从组件覆盖到全局配置

1. 为什么需要定制Naive UI主题色? 当你使用Naive UI开发项目时,默认的绿色主题可能并不符合你的品牌风格。比如我们团队最近接手的一个金融类项目,客户要求整体UI采用深蓝色调,这时候就需要对Naive UI的主题色进行深度定制。主题…...

通讯协议(四)——SPI通信:从时序图到模式配置的实战解析

1. SPI通信基础:从四线制到主从架构 第一次接触SPI通信时,我被它简洁的物理连接方式惊艳到了。相比其他通信协议,SPI只需要四根线就能实现全双工通信,这让电路设计变得异常清爽。MISO(主入从出)、MOSI&…...

如何用STM32CubeMX快速配置Simulink硬件在环项目?STM32G4xx实战演示

STM32CubeMX与Simulink硬件在环开发实战:从零构建电机控制验证平台 当工程师需要验证一个新型电机控制算法时,传统方式往往需要经历PCB设计、焊接调试、反复烧录的漫长周期。而现在,通过STM32CubeMX与Simulink的硬件在环(HIL&…...

在Jetson Orin NX上为PyTorch 2.0编译TorchVision 0.15:一份完整的避坑与问题解决记录

在Jetson Orin NX上为PyTorch 2.0编译TorchVision 0.15:一份完整的避坑与问题解决记录 Jetson Orin NX作为英伟达新一代边缘计算设备,凭借其强大的AI算力和紧凑的尺寸,成为众多开发者的首选。然而,当我们需要在ARM架构上为特定版本…...

告别手动填表!用n8n+企业微信,5分钟搞定每日销售报表自动推送

告别手动填表!用n8n企业微信,5分钟搞定每日销售报表自动推送 每天早晨9点,销售团队的工作群准时弹出昨日业绩报表——这不是IT部门的功劳,而是一个由n8n驱动的全自动化流程。当传统企业还在用Excel手工汇总数据时,前沿…...

如何用Dify API和GPT-4o高效识别图片?附避坑指南

如何用Dify API和GPT-4o高效识别图片?附避坑指南 在当今数字化时代,图片识别技术已成为众多应用场景中的核心需求。从电商平台的商品自动分类到社交媒体内容审核,再到医疗影像分析,高效准确的图片识别能力正变得越来越重要。Dify作…...

项目经理面试必备:5 大核心问题拆解与高通过率回答策略

1. 项目经理面试的核心问题解析 面试官抛出"请描述你负责过的一个典型项目"时,往往不是想听流水账。我当年第一次面试时就犯过这个错误,花了10分钟详细描述项目背景,结果面试官直接打断:"所以你到底做了什么&#…...

WandEnhancer终极指南:WeMod本地增强与功能解锁的完整实践

WandEnhancer终极指南:WeMod本地增强与功能解锁的完整实践 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer WandEnhancer是一款专为WeMod客户…...

新手福音:跳过jdk安装,在快马平台开启你的java编程第一课

作为一个Java新手,最让人头疼的往往不是学习语法本身,而是那些繁琐的环境配置。记得我刚开始学Java时,光是安装JDK就折腾了大半天,还要配置环境变量、测试安装是否成功...这些准备工作简直能把学习的热情消磨殆尽。 不过现在有了I…...

边缘设备福音:在树莓派上部署CosyVoice-300M Lite语音合成服务

边缘设备福音:在树莓派上部署CosyVoice-300M Lite语音合成服务 1. 为什么选择CosyVoice-300M Lite 1.1 专为边缘计算优化的语音合成方案 在物联网和边缘计算场景中,我们经常需要在资源受限的设备上运行AI模型。传统语音合成方案要么体积庞大&#xff…...

昇腾310B4 NPU实战:用MindX SDK给Unet模型推理加速,并与CPU/ONNX Runtime性能全面对比

昇腾310B4 NPU实战:Unet模型推理加速与多平台性能深度评测 边缘计算设备的选择往往需要在性能、功耗和成本之间寻找平衡点。当我们手头有一块搭载昇腾310B4 NPU的香橙派AIpro开发板时,如何充分发挥其8TOPS算力优势?本文将以医学图像分割中广泛…...

【实用技巧】-Mac系列设备自定义鼠标指针颜色与动态效果指南

1. 为什么需要自定义鼠标指针? 作为一个用了十年Mac的老用户,我深知默认的白色指针在复杂界面中经常"消失"的烦恼。特别是做设计时,盯着色彩斑斓的PS画布,那个小箭头简直像在玩捉迷藏。更糟的是在演示场景,观…...

TX12 + ExpressLRS 915MHz RC链路优化与EdgeTX固件升级实战

1. 为什么选择TX12搭配ExpressLRS 915MHz系统 玩无人机的朋友都知道,遥控链路就像风筝线,距离和稳定性直接决定飞行体验。我之前用2.4GHz的RadioLink套装,飞到500米就开始心跳加速——信号时断时续,每次返航都像在赌运气。换成TX1…...

第2篇:嵌入式芯片发展历程与全球主流厂商产品线全梳理

引言:嵌入式技术的诞生与电子产业智能化的发展关联 嵌入式技术的诞生与电子产业的智能化升级同频共振,是科技进步与产业需求深度融合的产物。自20世纪70年代第一块单片机问世以来,嵌入式芯片从最初简单的控制单元,逐步进化为支撑…...

遥感小白看过来!无需编程5分钟搞定Landsat8数据下载(2023最新版)

零代码获取Landsat8遥感数据的完整指南(2023实战版) 当第一次接触遥感数据时,许多非技术背景的研究者常被复杂的下载流程吓退。其实,获取Landsat8卫星影像完全可以像网购一样简单——不需要编写任何代码,甚至不需要理解…...

DMA固件读卡器源码:pcileech-带读卡器仿真的FPGA

DMA固件读卡器源码,只提供源码 pcileech-带读卡器仿真的fpga最近在折腾硬件安全研究的小伙伴们应该都听说过DMA(直接内存访问)读卡器的骚操作。这玩意儿不经过CPU直接跟内存对话的特性,在取证和漏洞挖掘领域简直是个神器。今天咱们…...

WLAN——从零到一:深度解析CAPWAP隧道建立与AP上线全流程

1. 初识CAPWAP:无线网络的隐形桥梁 第一次接触CAPWAP协议时,我盯着拓扑图上AP和AC之间的虚线发愣——这条看似简单的连接线背后,竟然藏着无线网络最精妙的控制逻辑。CAPWAP(Control And Provisioning of Wireless Access Points P…...

计算机毕业设计springboot在线阅读平台的设计与实现 基于SpringBoot的数字化图书阅读与积分兑换服务平台 SpringBoot框架下的网络文献资源管理与读者互动系统

计算机毕业设计springboot在线阅读平台的设计与实现 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着互联网技术的飞速发展和移动智能终端的普及,人们的阅读习惯…...

TouchGal终极指南:一站式Galgame社区如何让玩家找到纯净交流空间

TouchGal终极指南:一站式Galgame社区如何让玩家找到纯净交流空间 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 你是否曾…...

【CentOS】sshd服务启动失败全攻略:从权限修复到目录缺失的完整解决方案

1. 当sshd服务罢工时,我们该从哪里入手? 每次遇到sshd服务启动失败,就像面对一台突然熄火的汽车——你明明记得昨天还好好的,今天却怎么都打不着火。作为运维人员,这种情况再熟悉不过了。最近我就遇到一个典型案例&…...

别再傻傻分不清了!一文搞懂HIS、LIS、PACS这些医院里的‘系统天团’

医疗信息化系统全解析:从HIS到PACS的协同作战指南 第一次走进医院信息中心时,那些闪烁的服务器和此起彼伏的术语让我头晕目眩——HIS、LIS、PACS...它们就像医院里的"复仇者联盟",每个系统都是独特的超级英雄,但又必须完…...

IP离线库每周更新一次够用吗?企业风控建议多久更新?

在风控体系中,IP数据的时效性直接决定了拦截效果。当攻击者使用秒拨IP或住宅代理发起攻击时,IP地址的轮换速度可以达到分钟级。如果依赖的IP库更新周期过长,就等于在防御上留下了数天的空窗期。 周更不够用。秒拨IP平均存活3-5分钟&#xff…...

非隔离电源环境下USB转串口调试的致命隐患:从爆炸事故看隔离串口的必要性

1. 当USB转串口遇上非隔离电源:一场隐藏的火花秀 前两天朋友公司发生了一起令人后怕的事故:一台咖啡机的WiFi模块调试过程中,USB转串口模块突然爆炸,伴随火光和巨响,设备当场报废。更可怕的是,这种事故绝非…...

避坑指南:在Linux DRM驱动开发中,实现plane的update_plane回调时要注意哪些检查?

Linux DRM驱动开发实战:update_plane回调必须处理的4大核心检查 当你为一块新的显示控制器编写DRM驱动时,update_plane回调函数就像是在走钢丝——内核框架已经帮你过滤了明显的错误,但剩下的每一步操作都直接影响显示稳定性和系统可靠性。本…...

离线部署GraphRAG的tiktoken避坑指南:从源码解析到本地化实践

1. 离线部署GraphRAG的核心痛点:tiktoken的网络依赖问题 当你准备在内网环境部署GraphRAG时,第一个拦路虎往往是tiktoken这个看似简单的编码库。我在某金融机构的私有化部署项目中就遇到过这样的场景:所有服务器都处于物理隔离状态&#xff0…...

LeetCode 热题100——49.字母异位词分组

题目:给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。示例 1:输入: strs ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["…...

TouchGal终极指南:打造纯净Galgame社区的完整解决方案

TouchGal终极指南:打造纯净Galgame社区的完整解决方案 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next TouchGal是一个专为…...

Mac鼠标滚轮优化神器:Mos让外接鼠标体验媲美原生触控板的完整指南

Mac鼠标滚轮优化神器:Mos让外接鼠标体验媲美原生触控板的完整指南 【免费下载链接】Mos 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction inde…...

LinkSwift:重新定义网盘下载体验的八大平台直链解析工具

LinkSwift:重新定义网盘下载体验的八大平台直链解析工具 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...