CNN卷积神经网络到底卷了啥?

参考视频:卷积神经网络(CNN)到底卷了啥?8分钟带你快速了解!


我们知道:
图片是由像素点构成,即最终的成像效果是由背后像素的颜色数值所决定
在Excel中:有这样一个由数值0和1组成的6×6的区域
我们把0设置成黑色、1设置成白色。最终呈现的效果,是不是很像数字7?
 
而CNN模型能够告诉我们
这样一个6×6的像素图,是否是数字7?或返回它属于数字0~9的概率分别是多少?


下面,我们对这个CNN模型进行分解:

CNN模型第一步:提取特征,得到特征图

1、利用多个不同的卷积核(也称特征过滤器,如 3×3、5×5)对图像做滑动窗口计算
2、每一个卷积核计算完成后,会得到一张对应的特征图(一核对一图)

本例中,需提取水平和垂直两大特征部分,分别在下面的两个3×3的卷积核中得到体现

 

滑动窗口计算规则:
1、先按顺序提取原始图片中3×3的像素区域
2、再将其每个像素单元依次与卷积核内相对应的像素值相乘,再求和
3、再把结果记录在新的4×4的像素图上。

注意:输入图像、卷积核、特征图、池化核的尺寸大小,有数学公式关系
这部分主要由卷积操作的参数(如核大小、步长、填充)决定

  

本例整个计算完成后,我们会得到两个4×4的特征图(一个卷积核对应一个特征图)
我们可以看到:
根据特征图的颜色深浅(数字大小),原始图片中的7
垂直部分特征被很好提取出来了(明显),而水平部分特征却没被提取出来(不明显)
这是因为在特征提取计算的过程中,像素图从原6×6被降维成了4×4,边缘特征丢失了

这里使用一种被称为Padding的扩充方法,为了解决边缘特征的提取问题
将原始的6×6图像,先扩充成8×8,扩充部分的像素值均设为 0
这样,在特征提取计算后,转化后特征图的像素同为6×6,最终两个特征都能完美提取到


CNN模型的第二步:最大池化Max Pooling

常用最大池化平均池化,使用池化核(如 2×2)对特征图降采样,减少参数数量和计算量,降低数据维度。换句话说,就是将图片数据进一步压缩,仅反映特征图中最突出的特点。

1、将6×6的特征图,用2×2的网格(池化核),分割成3×3的部分
2、再提取每个部分中的最大值
3、再放于最大池化后的3×3网格中。池化后的数据保留了原始图中最精华的特征部分

注意:输入图像、卷积核、特征图、池化核的大小之间,有数学公式关系
这部分主要由卷积操作的参数(如核大小步长填充)决定

 


CNN模型第三步:把池化后的数据,做扁平化处理

1、把池化后的两个3×3的像素图,叠加转化成一维的数据条(一维向量)
2、再将数据条录入到后面的全连接隐藏层,最终产生输出

  

这里提一点:全连接隐藏层
意味着这里的任意一个神经元都与前后层的所有神经元相连接
这样就可以保证,最终的输出值,是基于图片整体信息的结果


在输出阶段:
可使用Sigmoid函数,返回0~1的值,代表该图片是否是7的概率
也可用Softmax函数,返回该图案分别属于0~9的概率



到这里,一个完整的CNN模型的数据流就完成了!

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

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

相关文章

教师技术知识对人工智能赋能下教学效果的影响:以教学创新为中介的实证研究

教师技术知识对人工智能赋能下教学效果的影响:以教学创新为中介的实证研究 摘要 随着教育信息化的快速发展,人工智能技术在教育领域的应用日益广泛,为教育教学带来了深刻变革。然而,当前关于教师技术知识如何影响人工智能赋能下的…

Linux驱动学习笔记(九)

设备模型 1.kobject的全称为kernel object,即内核对象,每一个kobject都会对应到系统/sys/下的一个目录,这些目录的子目录也是一个kobject,以此类推,这些kobject构成树状关系,如下图: kobject定…

25年上半年五月之软考之设计模式

目录 一、单例模式 二、工厂模式 三、 抽象工厂模式 四、适配器模式 五、策略模式 六、装饰器模式 ​编辑 考点:会挖空super(coffeOpertion); 七、代理模式 为什么必须要使用代理对象? 和装饰器模式的区别 八、备忘录模式 一、单例模式 这个…

Python打卡第36天

浙大疏锦行 作业: 对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。 import torch import torch.nn as nn import torch.optim as optim from sklearn.model_selection import train_test_split from sklear…

全面理解类和对象(下)

文章目录 再谈构造函数初始化列表 static概念: 友元友元函数友元类 内部类再次理解类和对象 再谈构造函数 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;} private:int _year;int _month;int _day; };上述代码有了…

TomatoSCI分析日记——层次聚类

TomatoSCI分析日记——层次聚类 今天介绍的是一种常见的聚类方法——层次聚类。层次聚类会将数据集划分成嵌套的簇,形成一个层次结构(树状图),经常用于探究样本的相似性。用大白话来说,就是:我有一大堆样品…

mysql都有哪些锁?

MySQL中的锁机制是确保数据库并发操作正确性和一致性的重要组成部分,根据锁的粒度、用途和特性,可以分为多种类型。以下是MySQL中常见的锁及其详细说明: 一、按锁的粒度划分 行级锁(Row-level Locks) 描述:…

flutter 项目调试、flutter run --debug调试模式 devtools界面说明

Flutter DevTools 网页界面说明 1. 顶部导航栏 Inspector:查看和调试 Widget 树,实时定位 UI 问题。Performance-- 性能分析面板,查看帧率、CPU 和 GPU 使用情况,识别卡顿和性能瓶颈。Memory-- 内存使用和对象分配分析&#xff…

使用Kotlin创建Spring Boot用户应用项目

项目初始化与配置 通过Spring Initializr创建Kotlin项目 若需使用Kotlin语言开发Spring Boot应用(假设已安装Kotlin环境),可通过start.spring.io进行项目初始化。在项目创建页面需进行以下关键配置: 语言选择:切换至Kotlin选项项目元数据:需填写Group(如com.apress.us…

【Linux网络篇】:Socket网络套接字以及简单的UDP网络程序编写

✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:Linux篇–CSDN博客 文章目录 网络编程套接字一.预备知识1.理解源IP地址和目的IP地址2.认识端…

Python爬虫实战:研究Newspaper框架相关技术

1. 引言 1.1 研究背景与意义 互联网的快速发展使得新闻信息呈现爆炸式增长,如何高效地获取和分析这些新闻数据成为研究热点。新闻爬虫作为一种自动获取网页内容的技术工具,能够帮助用户从海量的互联网信息中提取有价值的新闻内容。本文基于 Python 的 …

【node.js】实战项目

个人主页:Guiat 归属专栏:node.js 文章目录 1. 项目概览与架构设计1.1 实战项目:企业级电商管理系统1.2 技术栈选择 2. 项目初始化与基础架构2.1 项目结构设计2.2 基础配置管理 3. 用户服务实现3.1 用户服务架构3.2 用户模型设计3.3 用户服务…

Mybatis框架的构建(IDEA)

选择maven项目 修改设置 在设置中添加自定义代码模板 开始写代码 动态SQL语句的示例&#xff1a; pom文件&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"…

经济法-6-公司法律制度知识点

一、出资期限 1.有限责任公司&#xff1a;全体股东需在公司成立之日起5年内缴足认缴的注册资本 2.股份有限公司&#xff1a;以发起方式设立的&#xff0c;发起人需在公司登记前实缴全部股款 3.认缴期加速到期 公司不能清偿到期债务的&#xff0c;公司或者已到期债权的债权人…

jquery.table2excel方法导出

jquery提供了一个table2excel方法可以用来导出页面到xls等 $("#grid_595607").table2excel({exclude: ".noExport", // 排除类名为 noExport 的元素filename: "导出数据.xls",exclude_img: true, // 不导出图片exclude_links: true, // 不导…

echarts设置标线和最大值最小值

echarts设置标线和最大值最小值 基本ECharts图表初始化配置 设置动态的y轴范围&#xff08;min/max值&#xff09; 通过markPoint标记最大值和最小值点 使用markLine添加水平参考线 配置双y轴图表 自定义标记点和线的样式&#xff08;颜色、符号等&#xff09; 响应式调整图表大…

Java文件操作:从“Hello World”到“Hello File”

&#x1f50d; 开发者资源导航 &#x1f50d;&#x1f3f7;️ 博客主页&#xff1a; 个人主页&#x1f4da; 专栏订阅&#xff1a; JavaEE全栈专栏 文件 什么是文件&#xff1f; 广义&#xff1a;操作系统进行资源管理的一种机制&#xff0c;很多的软件/硬件资源&#xff0c;…

2025第三届黄河流域网络安全技能挑战赛--Crypto--WriteUp

2025第三届黄河流域网络安全技能挑战赛–Crypto–WriteUp Crypto sandwitch task from Crypto.Util.number import * import gmpy2 flag bflag{fake_flag} assert len(flag) 39 p getPrime(512) q getPrime(512) n p * q e 0x3 pad1 beasy_problem pad2 bHow_to_so…

三重天理论

第一重天&#xff1a;公理层&#xff08;形而上地基&#xff09; 这里构建的是人类理性的"操作系统"&#xff0c;公理作为不证自明的逻辑起点&#xff08;如矛盾律/同一律&#xff09;&#xff0c;恰似海德格尔所说的"存在之镜"。黑格尔辩证法在此显现为动…

2025年第八届广西大学生程序设计大赛(正式赛)题解(更新中)

知乎评价&#xff1a;如何评价2025年第八届GXCPC广西大学生程序设计大赛暨中国-东盟国际大学生程序设计大赛&#xff1f; 榜单&#xff1a;牛客比赛排名 题目链接&#xff1a;第八届广西大学生程序设计大赛暨2025邀请赛 TIP&#xff1a;提交处可查看别人过题代码 难度签到题普通…