【机器学习300问】103、简单的经典卷积神经网络结构设计成什么样?以LeNet-5为例说明。

news2024/11/16 15:04:05

        一个简单的经典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.coloradmin.cn/o/1706957.html

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

相关文章

thingsboard接入臻识道闸

thingsboard 和tb-gateway 是通过源码idea启动测试开发 为了测试这里只是买了臻识道闸的摄像机模组方便调试,然后添加一个开关量开关模拟雷达 道闸品牌 臻识C3R3C5R5变焦500万车牌识别相机高速追逃费相机华厦V86像机 淘宝地址 https://item.taobao.com/item.htm?_us1thkikq4…

渗透攻击(思考题)

目录 1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文 2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分…

什么是GPT-4o,推荐GPT-4o的获取使用方法,使用GPT4o模型的最新方法教程(2024年5月16更新)

2024年5月最新GPT-4o模型使用教程和简介 2024年5月最新GPT-4o模型使用教程和简介 2024 年 5 月 13 日,openai 发布了最新的模型 GPT4o。 很多同学还不知道如何访问GPT-4、GPT-4 Turbo和GPT-4o等模型,这篇文章介绍如何在ChatGPT中访问GPT-4o&#xff0…

大模型时代下,数字员工演进全景图:RPA/IPA/Agent

从蒸汽机到电力,再到计算机,每一次技术的飞跃都极大地提升了企业效率。 如今,随着数字化转型的浪潮席卷全球,企业开始寻求新的解决方案来优化业务流程、打破数据屏障,达到提效降本的目的。在这一背景下,数字…

Python考试复习--day4

1.三角函数计算 import math aeval(input()) beval(input()) x(-bpow(2*a*math.sin(math.pi/3)*math.cos(math.pi/3),0.5))/(2*a) print(x) math库 2.分段函数B import math xeval(input()) if -6<x<0:yabs(x)5 elif 0<x<3:ymath.factorial(x) elif 3<x<6:y…

智慧园区:打造未来城市的新模式

随着城市化进程的加速和科技创新的推动&#xff0c;城市面临着诸多挑战和机遇。如何提升城市的竞争力和可持续性&#xff0c;是一个亟待解决的问题。在这个背景下&#xff0c;智慧园区作为一种新型的城市发展模式&#xff0c;引起了越来越多的关注和探索。 什么是智慧园区&…

黑马聚合的分类及实现

1、什么是聚合? 聚合是对文档数据的统计、分析、计算 聚合的常见种类有哪些? 桶(Bucket)聚合:用来对文档做分组 TermAggregation:按照文档字段值分组 Date Histogram:按照日期阶梯分组&#xff0c;例如一周为一组&#xff0c;或者一月为一组 度量(…

Docker 入门版

目录 1. 关于Docker 2. Dockr run命令中常见参数解读 3. Docker常见命令 4. Docker 数据卷 5. Docker本地目录挂载 6. 自定义镜像 Dockerfile 语法 自定义镜像模板 Demo 7. Docker网络 1. 关于Docker 在docker里面下载东西&#xff0c;就是相当于绿色面安装板&#x…

弘君资本:沪指跌0.46%,电力板块逆市爆发,半导体板块强势

28日&#xff0c;沪指早盘窄幅震动&#xff0c;午后回落走低&#xff1b;深证成指、创业板指大幅下探&#xff1b;两市成交额小幅萎缩。 截至收盘&#xff0c;沪指跌0.46%报3109.57点&#xff0c;深证成指跌1.23%报9391.05点&#xff0c;创业板指跌1.35%报1806.25点&#xff0c…

手搓顺序表(C语言)

目录 SeqList.h SeqList.c 头插尾插复用任意位置插入 头删尾删复用任意位置删除 SLtest.c 测试示例 顺序表优劣分析 SeqList.h //SeqList.h#pragma once#include <stdio.h> #include <assert.h> #include <stdlib.h> #define IN_CY 3typedef int S…

CyberDAO全国行第三站·西安圆满落幕

CyberDAO全国行第三站于2024年5月27日在西安顺利召开。以聚势启新&#xff0c;聚焦Web3新机遇&#xff0c;开启Web3财富密码为本次会议的思想路线&#xff0c;汇聚了大批Web3爱好者齐聚古城西安。CyberDAO致力于帮助更多Web3爱好者捕获行业价值。 以圆桌论坛《机遇拥抱Web3》拉…

matplotlib ---词云图

词云图是一种直观的方式来展示文本数据&#xff0c;可以体现出一个文本中词频的使用情况&#xff0c;有利于文本分析&#xff0c;通过词频可以抓住一篇文章的重点 本文通过处理一篇关于分析影响洋流流向的文章&#xff0c;分析影响洋流流向的主要因素都有哪些 文本在文末结尾 …

升级鸿蒙4.2新变化,新增 WLAN 网络自动连接开关!

手机已经成为现代人生活中不可或缺的一部分&#xff0c;手机里的功能可以满足大部分人的生活场景&#xff0c;但是最依赖的应该就是手机网络&#xff0c;手机网络突然变差怎么办——消息发不出去&#xff1f;刷新闻速度变慢&#xff1f;仔细检查后&#xff0c;发现其实不是手机…

Linux-CentOS7-解决vim修改不了主机名称(无法打开并写入文件)

Linux-CentOS7-修改主机名称 修改之后使用强制保存退出也不行。 解决办法&#xff1a; 使用hostnamectl命令进行修改 查看系统主机名和信息&#xff1a; hostnamectl这条命令会显示当前系统的主机名、操作系统信息、内核版本、架构信息等相关信息。 修改系统主机名&#xff1…

HQChart使用教程99-K线窗口设置上下间距

HQChart使用教程99-K线窗口设置上下预留间距 指标窗口布局说明设置预留间距数据结构通过Setoption设置通过ChangeIndex设置 HQChart代码地址 指标窗口布局说明 顶部预留间距(3)和底部预留间距(5) 这个部分是算在Y轴坐标上的 设置预留间距 数据结构 HorizontalReserved&#…

Hono 框架使用经验谈

Hono&#x1f525;是一个小型、快速并开源的 Serverless Web 框架&#xff0c;用 TypeScript 写就。它适用于任何JavaScript运行时&#xff1a;Cloudflare Workers&#xff0c;Fastly ComputeEdge&#xff0c;Deno&#xff0c;Bun&#xff0c;Vercel&#xff0c;Netlify&#x…

Linux:线程

文章目录 前言1. 线程概念1.1 什么是线程1.2 线程比进程更加轻量化1.3 虚拟地址到物理地址的转化物理内存的管理页表 1.4 线程的优点1.5 线程的缺点1.6 线程异常1.7 线程用途 2. 进程 vs 线程3. 线程控制3.1 线程创建3.2 线程退出3.3 线程等待3.4 分离线程3.5 线程取消 4. 线程…

开源大模型与闭源大模型:谁将引领AI的未来?

前言 在AI领域&#xff0c;开源大模型和闭源大模型一直并存&#xff0c;各自有其独特的优势和挑战。下面&#xff0c;我们将从数据隐私、商业应用和社区参与三个方向&#xff0c;对这两种模型进行深入探讨。 一、数据隐私 开源大模型&#xff1a; 1. 透明度高&#xff1a; …

Raven2掠夺者2渡鸦2账号怎么验证 注册怎么验证账号教程

《渡鸦2》作为韩国孕育的次世代MMORPG手游巨制&#xff0c;是《Raven》系列辉煌传奇的最新篇章&#xff0c;它在暗黑奇幻的广袤天地间再度挥洒创意&#xff0c;深度融合前所未有的游戏机制与海量新颖内容&#xff0c;为该类型游戏树立了崭新的里程碑。公测日期锁定在2024年5月2…

线上政务大厅如何通过智能化服务和透明流程改变政务办理模式?

一、线上政务大厅方便快捷办理业务 1、多功能集成的一站式服务 线上政务大厅集成了多种政府服务功能&#xff0c;用户只需一个账号就能访问多个服务平台&#xff0c;办理各类政务业务。包括&#xff1a; &#xff08;1&#xff09;身份认证&#xff1a;用户可以通过线上政务大厅…