【机器学习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结构 

LeNet-5网络结构图(英文)

        CNN有个特点,5个层组成(输入层、卷积层、池化层、全连接层和输出层),在神经网络的隐藏层部分,卷积层和池化层交替出现,最后跟上几个全连接层再跟输出层。

        重复的卷积层与池化层的组合目的是为了学习更深层次、更复杂的特征,每次这样的组合都会使网络能够捕捉到更高层次的抽象特征,如从边缘逐步过渡到形状、纹理乃至对象的部分和整体。

LeNet-5网络结构图(中文)

(2)这样的网络结构设计会出现一种现象

        经过这样的网络结构后,图像的尺寸(n_H,n_W)会减小,图像的通道数n_C会增大。 这种变化反映了网络从原始像素数据中提取并逐步构建更高级、更抽象特征的过程。对此现象稍作解释:

① 图像尺寸减小

  • 卷积层:卷积层本身不一定会减少图像尺寸,但可以通过设置合适的填充(padding)和步长(stride)来控制输出尺寸。无填充且步长大于1的卷积会缩小输出尺寸。
  • 池化层:池化层的主要作用之一就是减少空间维度(高度和宽度),通常在每个维度上减半,从而显著减小图像尺寸,同时保持最重要的特征。

② 通道数增大

  • 卷积层:每个卷积层通过不同的卷积核学习不同的特征,每个卷积核会产生一个新的通道。因此,卷积层后的通道数通常会增加,具体增加的数量等于该层中滤波器(卷积核)的数量。
  • 池化层:池化操作不会改变通道数,它只影响空间维度。
  • 全连接层:进入全连接层之前,所有之前的层(包括卷积层和池化层)的输出会被“展平”成一维向量,此时不再讨论“通道”这个概念,而是关注于神经元的总数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ansible批量漏洞升级openssh版本

1、ansible宿主机准备好环境,并写好hosts文件 [rootoxidized ansible]# cat hosts [all] 10.10.200.33 10.10.200.34 10.10.200.35跑playbook之前记得提前发送秘钥 ssh-copy-id 10.10.200.33/34/352、下载好安装包,然后编写yml [rootoxidized ansible]…

【实用的 IDEA 配置和操作技巧总结】

前置知识 IDEA的设置快捷键为ctrlalts键,后文介绍IDEA常见的配置就不再赘述这一点了。 基础配置 取消默认打开上次项目 日常开发都会打开不同的项目,初次安装IDEA之后,每次打开IDEA都会开启上一次启动的项目,所以我们需要进入设…

0基础学习Mybatis系列数据库操作框架——Mysql的Geometry数据处理之WKB方案

大纲 序列化反序列化完整TypeHandlerSQL XML完整XML Mapper测试代码代码 在《0基础学习Mybatis系列数据库操作框架——Mysql的Geometry数据处理之WKT方案》中,我们介绍WTK方案的优点,也感受到它的繁琐和缺陷。比如: 需要借助ST_GeomFromText…

350种类型、10W+量级的API,企业应该怎么管?

忽如一夜春风来,万物皆可API。 在互联网时代,API无处不在:企业对外开放的数据、服务和业务能力,以API的形式提供给合作方;企业内部应用与应用、App与App之间的通信,通过API进行;甚至应用内部的…

php 连接sqlserver步骤

1.首先要确定使用的是sqlserver的哪个版本,比如sqlserver2012 2.确定服务器是64位还是32位的 3.确认一下使用php的哪个版本,比如php7.1 SQL Server 的 Microsoft PHP 驱动程序 Microsoft Drivers for PHP 支持矩阵 - PHP drivers for SQL Server | Mi…

怎么做好客户信息管理?

根据Forrester的调查表示,客户满意度的影响可能会使某些行业的收入每年增加高达 10 亿美元。而提升客户满意度的关键环节便是做好客户信息管理。但企业在进行客户信息管理中往往会遇到以下问题: 客户信息乱:客户信息存在各个 Excel表格、个人…

PMP报考条件怎么查询?如何判定自己是否符合条件?

PMP报考条件在PMI官网上就可以查询,PMP报考条件只需要符合项目管理培训经历和项目管理经验两个方面的要求即可,大家可以对照下方的规定判断自己是否符合PMP报名条件 PMP报考条件 以下是PMI(中国)官网对于PMP报名条件的规定&…

ubuntu strace命令

strace 是 Linux 系统中的一个调试工具,用于跟踪并记录系统调用(system calls)和信号(signals)。在 Ubuntu 中,strace 命令可以帮助开发者和系统管理员了解一个程序在运行时如何与操作系统内核进行交互&…

vue+antd实践:在输入框光标处插入内容

今天来看一个很简单的需求。 需求描述:在输入框光标处,插入指定的内容。 效果如下: 实现思路:刚开始还在想怎么获取光标的位置,但是发现所做的项目是基于vue3antd组件,那么不简单了嘛,只要调…

配置物联网平台 保姆级教程

一、云平台配置(我们这里使用阿里云) 1、注册和登录 (1)找到云平台官网,点击右上角的注册登录,完成之后,进行实名认证,任选一种认证方式。 ​​​​​​​ 2、实例的开通和创建 …

Scala环境的搭建

要搭建Scala,我们必须先下载java,由于我的电脑已经搭建好了环境,因此我这里用截图来教大家搭建环境。 可以从网上搜索安装包对其进行安装 IntelliJ IDEA – 领先的 Java 和 Kotlin IDE 不建议下载最新版的,大家下载的版本可以下…

本杀小程序开发实战手册:从构思到上线

一、引言 随着移动互联网的快速发展,剧本杀作为一种新兴的娱乐方式,受到了越来越多年轻人的喜爱。为了满足市场需求,开发一款剧本杀小程序成为了许多创业者和开发者的选择。本文将从构思、设计、开发到上线等方面,为您详细解析剧…

第52期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

万界星空科技定制化MES系统帮助实现数字化生产

由于不同企业的生产流程、需求和目标各异,MES管理系统的个性化和定制化需求也不同。有些企业需要将MES管理系统与ERP等其他管理系统进行集成,以实现全面的信息共享和协同工作。有些企业需要将MES管理系统与SCADA等控制系统进行集成,以实现实时…

windows ollama 指定模型下载路径

为Ollama指定模型的下载路径 在Windows系统中&#xff0c;如果想为Ollama指定模型的下载路径&#xff0c;可以通过设置环境变量来实现。以下是详细的步骤&#xff1a; 确定默认下载路径&#xff1a; 默认情况下&#xff0c;Ollama的模型可能会下载到C:\Users\<用户名>…

企业内网终端监控管理软件有哪些?推荐4款企业终端监控管理软件

企业内网终端监控管理软件是一种专为企业内部网络设计的安全与管理工具&#xff0c;旨在帮助企业管理、监控和保护其内部网络中的各种终端设备&#xff0c;如个人电脑、笔记本、移动设备等。 这类软件的主要功能包括但不限于以下几个方面&#xff1a; 1&#xff0c;实时监控&a…

快消终端门店真实性新玩法:全流程校验+多元认证多重保障

在某饮品企业会议室&#xff0c;气氛凝重。城市经理一脸严肃地扫视着团队成员&#xff0c;小李、小张和小陈等人在这锐利的目光下显得有些局促不安。 城市经理沉声开口&#xff1a;小李上报的“幸福超市”’新店在XX大街上并不存在。这是怎么回事&#xff1f; 小李支吾着回答…

为表格添加背景色:\rowcolor, \columncolor,\cellcolor

设置行的背景 \rowcolor 是 LaTeX 中用于设置表格行的背景色的命令。它可以使表格更加美观和易于阅读。rowcolor 命令通常与 colortbl 宏包一起使用。 语法如下&#xff1a; \rowcolor{<color>}其中 表示要设置的背景色&#xff0c;可以是预定义的颜色名称&#xff08…

深入了解时间处理:当前时间显示与格式化

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、显示当前时间 1. 导入时间模块 2. 使用time模块获取当前时间 3. 格式化当前…

阿赵UE引擎C++编程学习笔记——GameMode和生命周期

大家好&#xff0c;我是阿赵。   之前在介绍HelloWorld的时候&#xff0c;我们很创建了一个MyGameModeBase的c类&#xff0c;然后就可以在BeginPlay函数里面写打印的HelloWorld。这一篇主要是说一下&#xff0c;GameMode究竟是一个什么东西&#xff0c;然后UE里面的生命周期是…