【机器学习300问】103、简单的经典卷积神经网络结构设计成什么样?以LeNet-5为例说明。
一个简单的经典CNN网络结构由:输入层、卷积层、池化层、全连接层和输出层,这五种神经网络层结构组成。它最最经典的实例是LeNet-5,它最早被设计用于手写数字识别任务,包含两个卷积层、两个池化层、几个全连接层,以及最后的输出层。
一、先用文字介绍一下这五层分别在做什么
(1)输入层
输入通常是经过预处理的图像数据,例如,将图像调整到特定尺寸(如32x32x3)并进行归一化,使得像素值范围在0到1之间,或者被标准化为均值为0,标准差为1的形式。
(2)卷积层
卷积层是CNN的关键组成部分,又可以拆分成下面4分部分逐一理解:
- 卷积核(Filter/Kernels):每个卷积层包含多个可学习的滤波器(或称为卷积核),这些滤波器在输入图像上滑动,执行卷积操作(相乘后求和),从而检测图像中的特定特征,如边缘、线条、纹理等。
- 步长(Stride):滤波器在图像上移动的步长,决定了输出特征图的空间分辨率。
- 填充(Padding):通常为了保持输出特征图的尺寸或避免边界信息的丢失,会在图像边缘添加零(Zero Padding)。
- 激活函数:如ReLU(Rectified Linear Unit)用于增加网络的非线性。
(3)池化层
池化层的负责减少特征图的空间尺寸,降低计算复杂度,同时保持最重要的特征。最常见的池化类型是最大池化(Max Pooling),它在每个池化区域取最大值作为输出。池化同样有步长和大小的参数,比如常用的2x2大小,步长为2。
(4)全连接层
在一系列卷积和池化层之后,特征图会被展平(Flatten)成一维向量,然后传递给全连接层。全连接层负责将学到的特征映射到分类标签或其他输出形式。全连接层是传统神经网络的一部分,常用于模型的最终分类或回归任务。
(5)输出层
对于分类任务,输出层通常使用Softmax激活函数,将神经元的输出转换为概率分布,表示每个类别的预测概率。输出层的神经元数量等于分类任务的类别总数。
二、再用可视化加深对经典CNN结构的理解
(1)经典CNN结构
CNN有个特点,5个层组成(输入层、卷积层、池化层、全连接层和输出层),在神经网络的隐藏层部分,卷积层和池化层交替出现,最后跟上几个全连接层再跟输出层。
重复的卷积层与池化层的组合目的是为了学习更深层次、更复杂的特征,每次这样的组合都会使网络能够捕捉到更高层次的抽象特征,如从边缘逐步过渡到形状、纹理乃至对象的部分和整体。
(2)这样的网络结构设计会出现一种现象
经过这样的网络结构后,图像的尺寸会减小,图像的通道数
会增大。 这种变化反映了网络从原始像素数据中提取并逐步构建更高级、更抽象特征的过程。对此现象稍作解释:
① 图像尺寸减小:
- 卷积层:卷积层本身不一定会减少图像尺寸,但可以通过设置合适的填充(padding)和步长(stride)来控制输出尺寸。无填充且步长大于1的卷积会缩小输出尺寸。
- 池化层:池化层的主要作用之一就是减少空间维度(高度和宽度),通常在每个维度上减半,从而显著减小图像尺寸,同时保持最重要的特征。
② 通道数增大:
- 卷积层:每个卷积层通过不同的卷积核学习不同的特征,每个卷积核会产生一个新的通道。因此,卷积层后的通道数通常会增加,具体增加的数量等于该层中滤波器(卷积核)的数量。
- 池化层:池化操作不会改变通道数,它只影响空间维度。
- 全连接层:进入全连接层之前,所有之前的层(包括卷积层和池化层)的输出会被“展平”成一维向量,此时不再讨论“通道”这个概念,而是关注于神经元的总数。
相关文章:
【机器学习300问】103、简单的经典卷积神经网络结构设计成什么样?以LeNet-5为例说明。
一个简单的经典CNN网络结构由:输入层、卷积层、池化层、全连接层和输出层,这五种神经网络层结构组成。它最最经典的实例是LeNet-5,它最早被设计用于手写数字识别任务,包含两个卷积层、两个池化层、几个全连接层,以及最…...
【代码随想录算法训练营第37期 第二十一天 | LeetCode530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先】
代码随想录算法训练营第37期 第二十一天 | LeetCode530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先 一、530.二叉搜索树的最小绝对差 解题代码C: /*** Definition for a binary tree node.* struct TreeNode {* int val;* …...
2023 年网络等级保护考试题库及答案
一、单项选择题 1.在等保 1.0 的根本要求中,网络设备防护的内容归属于网络安全,在等保 2.0 中将其归属到〔〕。 A 安全通信网络 B 安全区域边界 C 安全计算环境 D 安全治理中心 答案:c 2.应成立指导和治理网络安全工作的委员会或领导小组&…...
springboot集成nacos
springboot集成nacos 1.版本2. POM依赖3. nacos服务3.1 下载nacos压缩包3.2 启动nacos 4. yaml配置5.Demo5.1 配置中心简单格式获取方式普通方式还可以再启动类上添加注解完成5.2 获取json格式的demo5.2 自动注册根据yaml配置 1.版本 nacos版本:2.3.2 springboot版本ÿ…...
NoSQL数据库技术与应用 教学设计
《NoSQL数据库技术与应用》 教学设计 课程名称:NoSQL数据库技术与应用 授课年级: 20xx年级 授课学期: 20xx学年第一学期 教师姓名: 某某老师 2020年5月6日 课题 名称 第1章 初识NoSQL 计划 学时 3 课时 内容 分析 随着云计算、…...
比较(一)利用python绘制条形图
比较(一)利用python绘制条形图 条形图(Barplot)简介 条形图主要用来比较不同类别间的数据差异,一条轴表示类别,另一条则表示对应的数值度量。 快速绘制 基于seaborn import seaborn as sns import matplo…...
【面试】Oracle JDK和Open JDK什么关系?
目录 1. 起源与发展2. 代码与许可3. 功能与组件4. 使用场景5. 版本更新与支持 1. 起源与发展 1.Oracle JDK是由Oracle公司基于Open JDK源代码开发的商业版本。2.Open JDK是java语言的一个开源实现。 2. 代码与许可 1.Oracle JDK包含了闭源组件,并根据二进制代码许…...
科学技术创新杂志科学技术创新杂志社科学技术创新编辑部2024年第10期目录
科技创新 单桩穿越岩溶发育地层力学特征与溶洞处置措施研究 刘飞; 1-7《科学技术创新》投稿:cnqikantg126.com 基于多目标优化的中低压配电网电力规划研究 向星山;杨承俊;张寒月; 8-11 激光雷达测绘技术在工程测绘中的应用研究 张军伟;闫宏昌; 12-15 …...
ES数据导出成csv文件
推荐使用es2csv 工具。 命令行实用程序,用Python编写,用于用Lucene查询语法或查询DSL语法查询Elasticsearch,并将结果作为文档导出到CSV文件中。该工具可以在多个索引中查询批量文档,并且只获取选定的字段,这减少了查…...
结构型设计模式之装饰模式
文章目录 概述装饰模式原理代码案例小结 概述 装饰模式(decorator pattern) 的原始定义是:动态的给一个对象添加一些额外的职责. 就扩展功能而言,装饰器模式提供了一种比使用子类更加灵活的替代方案。 装饰模式原理 装饰模式中的角色: 抽象构件角色 …...
Java - 当年很流行,现在已经淘汰的 Java 技术,请不要在继续学了!!!
最近这段时间收到了一些读者的私信,问我某个技术要不要学,还有一些在国外的同学竟然对 Java 图形化很感兴趣,还想找这方面的工作。 比较忙,一直没抽出时间去回答这类问题,刚好看到我关注的一位大佬回答过,这…...
驻波比VSWR
最近看大家写的VSWR文章,发现有很多误解, 1)错误解释是入射波和反射波叠加的驻波的波峰/波谷。大家可以向下驻波也是正弦波,波峰和波谷的值不都是振幅吗?因此相当于VSWR恒等于1了。 2)VSWR越小越好; 正确…...
多线程-线程池
为什么要使用线程池 在Java中使用线程池的主要原因有以下几点: 提高性能:使用线程池可以减少线程的创建和销毁过程的开销。线程的创建和销毁是比较昂贵的操作,如果每次需要执行任务时都创建一个新线程,会造成系统资源的浪费。而线…...
护网期间遇到的几个上传bypass waf、edr
1. weblogic部署war的时候 http/1.1 改成http/2绕过waf 其实jar和ear部署应该也可以,但是我没成功。 weblogoic 部署war死活出错,用linux下的浏览器 linux下打包war马 zip -r zipjob4.zip job/ mv zipjob3.zip zipjob3.war 然后部署成功之后&am…...
简述MVC模式
这里为什么讲MVC模式,是因为在学习的过程中,很多人不知怎的,将观察者模式和MVC混为一谈。MVC模式最开始出现在WEB开发中,该模式能够很好的做到软件模块的高内聚,低耦合,所以其思想逐渐在各个软件开发领域都…...
C#--Mapster(高性能映射)用法
1.Nuget安装Mapster包引用 2.界面XAML部分 <Window x:Class"WpfApp35.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.m…...
mysql实战——Mysql8.0高可用之双主+keepalived
一、介绍 利用keepalived实现Mysql数据库的高可用,KeepalivedMysql双主来实现MYSQL-HA,两台Mysql数据库的数据保持完全一致,实现方法是两台Mysql互为主从关系,通过keepalived配置VIP,实现当其中的一台Mysql数据库宕机…...
关于同一个地址用作两个不同页面时,列表操作栏按钮混淆状态
同一个地址用作两个不同页面时,列表页的操作栏中有好多个按钮,如果用了v-if,可能会导致按钮混淆状态如disabled等属性混乱 解决方法1: 将v-if换成v-show,用了v-show之后意味着所有按钮都在只是在页面上隐藏了 解决方…...
Oracle段延迟分配(Deferred Segment Creation)解析
目录 一、基本概念二、工作原理三、优势四、潜在风险与注意事项五、配置与管理 Oracle段延迟分配(Deferred Segment Creation)是Oracle 11g引入的一项重要特性,旨在优化资源使用和提高数据库管理效率。 一、基本概念 段延迟分配意味着当创建…...
Linux:IPC - System V
Linux:IPC - System V 共享内存 shm创建共享内存shmgetshmctlftok 挂接共享内存shmatshmdt shm特性 消息队列 msgmsggetmsgctlmsgsndmsgrcv 信号量 semSystem V 管理机制 System V IPC 是Linux系统中一种重要的进程间通信机制,它主要包括共享内存 shm&am…...
重新定义开源RTS体验:Beyond All Reason深度技术解析
重新定义开源RTS体验:Beyond All Reason深度技术解析 【免费下载链接】Beyond-All-Reason www.beyondallreason.info 项目地址: https://gitcode.com/gh_mirrors/be/Beyond-All-Reason Beyond All Reason是一款基于Spring引擎开发的开源实时战略游戏…...
Qwen2-VL-2B-Instruct模型压缩实战:使用量化工具减小部署体积与加速推理
Qwen2-VL-2B-Instruct模型压缩实战:使用量化工具减小部署体积与加速推理 最近在折腾一个边缘设备上的视觉项目,用上了Qwen2-VL-2B-Instruct这个多模态模型。模型效果确实不错,但原始大小接近8GB,推理速度也慢,在资源有…...
Java 开发 日志技术
1.概述为什么要在程序中记录日志呢?便于追踪应用程序中的数据信息、程序的执行过程。便于对应用程序的性能进行优化。便于应用程序出现问题之后,排查问题,解决问题。便于监控系统的运行状态。2.日志框架JUL:这是JavaSE平台提供的官…...
高速下载革命:直链解析技术如何重构网盘使用体验
高速下载革命:直链解析技术如何重构网盘使用体验 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广࿰…...
Display Driver Uninstaller完全指南:解决显卡驱动残留的系统级清理方案
Display Driver Uninstaller完全指南:解决显卡驱动残留的系统级清理方案 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-dri…...
React Native PagerView入门指南:5分钟快速搭建页面切换组件
React Native PagerView入门指南:5分钟快速搭建页面切换组件 【免费下载链接】react-native-pager-view React Native wrapper for the Android ViewPager and iOS UIPageViewController. 项目地址: https://gitcode.com/gh_mirrors/re/react-native-pager-view …...
Nano-Banana多行业落地:医疗器械拆解图生成符合ISO 13485视觉规范
Nano-Banana多行业落地:医疗器械拆解图生成符合ISO 13485视觉规范 Nano-Banana Studio 作为一款专注于物理结构拆解的AI创作工具,正在医疗器械领域展现惊人价值。本文将深入探讨如何利用这一工具生成符合ISO 13485质量体系视觉规范的医疗器械拆解图&…...
AI技术通过aibiye爱毕业等8款智能应用,显著提升了论文撰写与代码实现的效率,为毕业设计带来创新支持
文章总结表格(工具排名对比) 工具名称 核心优势 aibiye 精准降AIGC率检测,适配知网/维普等平台 aicheck 专注文本AI痕迹识别,优化人类表达风格 askpaper 快速降AI痕迹,保留学术规范 秒篇 高效处理混AIGC内容&…...
PROJECT MOGFACE镜像部署详解:针对STM32开发者的AI赋能入门
PROJECT MOGFACE镜像部署详解:针对STM32开发者的AI赋能入门 很多做嵌入式开发的朋友,尤其是玩STM32的,可能都动过接触AI的念头。但一看到那些复杂的Python环境、动辄几十G的模型文件、还有各种依赖冲突,头就大了。心想࿱…...
python-langchain框架(1-9 返回字符串列表-格式解析器)
段代码演示了如何使用LangChain将大语言模型的自由文本输出转换为结构化的字符串列表。核心目标是让模型返回逗号分隔的多个值,并通过专用解析器自动拆分为Python列表。CommaSeparatedListOutputParser专用于解析逗号分隔的文本,自动处理空格、引号等边界…...
