CNN:卷积到底做了什么?
卷积神经网络(Convolutional Neural Network, CNN) 是一种深度学习模型,专门用于处理具有网格结构的数据(如图像、视频等)。它在计算机视觉领域表现卓越,广泛应用于图像分类、目标检测、图像分割等任务。CNN 的核心思想是通过卷积操作从数据中提取局部特征,并逐步构建高层次的语义信息。
CNN 的基本结构
-
卷积层(Convolutional Layer)
- 卷积层是 CNN 的核心组件,负责从输入数据中提取局部特征。
- 卷积核(Kernel/Filter) 在输入数据上滑动,计算局部区域的加权和,生成特征图(Feature Map)。
- 卷积操作后通常会使用非线性激活函数(如 ReLU),以引入非线性能力,增强模型的表达能力。
-
池化层(Pooling Layer)
- 池化层用于降采样,减少特征图的尺寸,从而降低计算量并增强模型的鲁棒性。
- 常见的池化操作包括最大池化(Max Pooling)和平均池化(Average Pooling)。
-
全连接层(Fully Connected Layer)
- 在卷积和池化操作之后,特征图会被展平并输入全连接层,用于最终的分类或回归任务。
-
输出层(Output Layer)
- 输出层是 CNN 的最后一层,负责将全连接层的输出映射到最终的类别或回归值。
- 在分类任务中,通常使用 Softmax 函数输出概率分布;在回归任务中,则直接输出数值。
卷积核的作用与组成
卷积核是卷积操作的核心,其主要功能是从输入数据中提取局部特征,进而构建高层次的语义信息。卷积操作本质上是一种加权求和运算,通过滑动窗口的方式,在输入数据上施加不同的卷积核,提取局部区域的特征。
卷积核的关键要素包括:
-
权重参数(Weights)
- 卷积核是一个小型矩阵,其中的值是可学习的权重。这些权重在训练过程中通过梯度下降和反向传播不断优化,使其能够自动提取有意义的特征。
-
偏置项(Bias)
- 每个卷积核通常会有一个额外的可学习参数——偏置项 ( b )。偏置项的作用是调整特征图的整体偏移量,使得网络在特定输入下可以更灵活地激活特定特征。
-
尺寸(Kernel Size)
- 卷积核的大小决定了它能捕捉的局部特征范围。常见的卷积核尺寸有 ( 3 ×3 )、( 5 × 5 )、( 7 × 7 ) 等。
-
步长(Stride)
- 步长决定了卷积核在输入数据上滑动的间隔。例如,步长为 1 时,卷积核每次移动 1 个像素;步长为 2 时,每次移动 2 个像素。
-
填充(Padding)
- 填充是指在输入数据的边缘添加额外的像素(通常为 0),以控制输出特征图的大小,同时确保边缘像素也能被充分参与卷积计算,从而保留更多的边缘信息。
-
通道数(Channels)
- 卷积核的通道数需要与输入数据的通道数匹配。例如,对于 RGB 图像(3 通道),卷积核的深度也必须是 3。每个卷积核会生成一个输出通道,多个卷积核可以生成多通道的特征图。
-
激活函数(Activation Function)
- 卷积核的输出通常会经过一个激活函数(如 ReLU),以引入非线性特性。激活函数决定了卷积核提取的特征是否被激活。
特征图(Feature Maps)
特征图是通过卷积操作从输入数据中提取的局部特征表示。每个卷积核在输入数据上滑动并计算加权和,生成一个特征图。多个卷积核可以生成多通道的特征图。
- 每个卷积核提取不同的特征,因此网络中的每个卷积层输出一个或多个特征图,这些特征图共同构成了输入数据的不同层次表示。
卷积的具体计算过程
在计算机眼中,图像是以像素矩阵的形式存储的,每个像素都有一个数值。例如,RGB 彩色图像中,每个像素由 3 个通道(R、G、B)组成,每个通道的取值范围为 0-255。当图像输入 CNN 时,像素值通常会被归一化到 0-1 或 -1 到 1 之间,以提高训练稳定性。
卷积是如何计算响应值得到特征图的呢?
假设:
- 输入图像的像素值为 ( x ),
- 卷积核的权重为 ( w ),
- 偏置项为 ( b ),
则卷积操作的输出 ( y ) 可以表示为:
其中,( f ) 是激活函数(如 ReLU)。
以下是一个具体的例子:
- 使用一个 ( 3 × 3 ) 的卷积核,其权重矩阵为:
- 输入图像如下图(左)所示,设置窗口滑动步长为 1,偏置 ( b = 0 ),得到下图(右)的特征图。
在CNN的整体结构中,特征图变化如下:
卷积的作用总结
简单来说,卷积的作用就是让 CNN 从像素级数据中提取有意义的特征,最终用于分类、检测、分割等任务。通过多层卷积操作,CNN 能够从低级特征(如边缘、纹理)逐步构建高级特征(如形状、对象),从而实现对复杂数据的理解和分析。
相关文章:
CNN:卷积到底做了什么?
卷积神经网络(Convolutional Neural Network, CNN) 是一种深度学习模型,专门用于处理具有网格结构的数据(如图像、视频等)。它在计算机视觉领域表现卓越,广泛应用于图像分类、目标检测、图像分割等任务。CN…...
C++ IO流
文章目录 C IO流流是什么C标准IO流C文件IO流c字符串流 C IO流 流是什么 在 C 中,“流(Stream)” 是一种 抽象的数据传输机制,它通过统一的接口实现了程序与各种输入/输出设备(如键盘、屏幕、文件、内存等)…...
解决splice改变原数组的BUG(拷贝数据)
项目场景: 项目中难免遇到需要删除改变数组的方法,去重,删除不要的数据等 问题描述: 但是splice方法会删除掉数据改变原数组,返回的是改变之后的数组,即使你是赋值的还是会影响到原数组的数据 GoodsInfo…...
ARINC818协议(二)
ARINC818对图像数据进行帧分割 1.FC协议定了5层模型结构:FC-4;FC-3;FC-2;FC-1;FC-0; 2.ARINC818协议位于FC-4层; 3.ARINC818协议在FC-4层使用FHCP帧头控制协议进行实现数据传递; 4.协议中有容器,容器头,object0~object…...
【Netty篇】Future Promise 详解
目录 一、 Netty Future 与 Promise —— 异步世界的“信使”与“传话筒”🚀1、 理解 Netty Future2、 理解 Netty Promise 二、 代码案例解读💻例1:同步处理任务成功👍例2:异步处理任务成功📲例3ÿ…...
【LaTeX】Misplaced alignment tab character . ^^I
目录 公式中出现Misplaced alignment tab character &. ^^I& 解决1:采用&& 解决2: 公式中出现Misplaced alignment tab character &. ^^I& \begin{equation}J_r & \dfrac{i\hbar}{2m}\left[\psi_2 \dfrac{\partial \psi^…...
数据中台(大数据平台)之元数据管理
👉元数据管理是数据管理的基础,数据中台产品要能够提供各类元数据采集的适配器,自动化采集技术元数据,并在技术元数据的基础上补充管理属性和业务属性,为后续的数据资源目录、数据安全管控、报表开发提供统一的口径。并…...
基于RRT的优化器:一种基于快速探索随机树算法的新型元启发式算法
受机器人路径规划中常用的快速探索随机树(RRT)算法的搜索机制的启发,我们提出了一种新颖的元启发式算法,称为基于RRT的优化器(RRTO)。这是首次将RRT算法的概念与元启发式算法相结合。RRTO的关键创新是其三种…...
设计模式每日硬核训练 Day 13:桥接模式(Bridge Pattern)完整讲解与实战应用
🔄 回顾 Day 12:装饰器模式小结 在 Day 12 中,我们学习了装饰器模式(Decorator Pattern): 强调在不改变原类结构的前提下,动态为对象增强功能。通过“包装对象”实现运行时组合,支…...
【开发语言】悬空指针问题
悬空指针(Dangling Pointer)是编程中常见的内存管理问题,尤其在C/C这类手动管理内存的语言中。以下是详细解释: 什么是悬空指针? 悬空指针是指向已经被释放(或失效)内存的指针。这段内存可能已…...
深入剖析 WiFi 定位解析功能:原理、技术优势与应用场景
WiFi 定位解析功能的原理 信号强度与距离的关系 WiFi 定位的核心原理基于无线信号传播过程中的一个基本特性:信号强度与信号发射源(即 WiFi 接入点,Access Point,简称 AP)和接收设备之间距离的关联。一般来说&am…...
从标准九九表打印解读单行表达式的书写修炼(Python)
解读单行表达式书写,了解修习单行捷径。 笔记模板由python脚本于2025-04-16 23:24:17创建,本篇笔记适合喜欢单行喜好python的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值:在于输出思考与经验,而不仅仅是知识的简单复述…...
HTML5好看的水果蔬菜在线商城网站源码系列模板4
文章目录 1.设计来源1.1 主界面1.2 关于我们1.3 商品信息1.4 新闻资讯1.5 联系我们1.5 登录注册 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/147264262 HTML5好看的水果…...
Arkts应用全局UI状态存储和持久化V2(AppStorageV2、PersistenceV2和@Type)
目录 应用全局UI状态存储和持久化V2版本 AppStorageV2 connect remove keys 示例 使用限制 PersistenceV2 connect remove keys save notifyOnError 示例 使用限制 Type 使用限制 应用全局UI状态存储和持久化V2版本 以下实例AppStorageV2、PersistenceV2和装饰…...
【QT】常用控件 【多元素类 | 容器类 | 布局类】
🌈 个人主页:Zfox_ 🔥 系列专栏:Qt 目录 一:🔥 QT 常用控件【多元素类】 🦋 List Widget -- 列表🦋 Table Widget -- 表格🦋 Tree Widget -- 树形 二:&#x…...
uniapp实现图文聊天功能
Uniapp 实现图文聊天功能 下面我将介绍如何在 Uniapp 中实现一个基本的图文聊天功能,包括消息发送、接收和展示。 一、准备工作 创建 Uniapp 项目准备后端接口(可以使用云开发、自己的服务器或第三方服务) 二、实现步骤 1. 页面结构 &l…...
【场景应用9】多语言预训练语音模型进行自动语音识别
一、理论介绍 “多语言预训练语音模型进行自动语音识别”这个模块是近年来语音识别(ASR, Automatic Speech Recognition)领域非常重要的发展方向。下面我来为你系统地讲解这个模块的基础理论与算法流程,尤其聚焦在如 wav2vec 2.0 multilingual、XLSR(cross-lingual speech…...
华为HCIE-openEuler认证:能否成为国产操作系统领域的技术稀缺人才?
HCIE-openEuler是华为面向开源操作系统领域的高级专家认证,聚焦openEuler系统的深度运维、性能调优与生态集成。作为华为鲲鹏计算生态的核心技术栈,该认证要求持证者具备从底层内核优化到上层云原生适配的全栈能力。以下从技术能力、实验设计、行业适配三…...
Uniapp:列表选择提示框
目录 一、出现场景二、效果展示三、具体使用 一、出现场景 在项目的开发过程中,有这样一种场景,就是点击按钮走后续的逻辑之前还需要选择前提条件,就一个条件的情况下如果使用弹出框就显示比较多余,列表选择提示框刚好能够满足我…...
uni-app 开发安卓 您的应用在运行时,向用户索取(定位、相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求
您的应用在运行时,向用户索取(定位、相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求。 测试步骤:1、 工作台 -打卡,申请定位权限;2、工作台-设置-编辑资料-更换头像,申请相机、存 储权限。 修改建议:APP在申请敏感权限时,应同步说明权限申…...
李宏毅NLP-4-语音识别part3-CTC
Connectionist Temporal Classification|CTC 基于连接主义时间分类(CTC)的语音识别架构,具体描述如下: 输入层:底部的 x 1 , x 2 , x 3 , x 4 x^1, x^2, x^3, x^4 x1,x2,x3,x4代表输入的语音信号分帧数据…...
基于.NET后端实现图片搜索图片库 核心是计算上传图片与库中图片的特征向量相似度并排序展示结果
基于.NET 后端实现图片搜索图片库的方案,核心是计算上传图片与库中图片的特征向量相似度并排序展示结果。 整体思路 图像特征提取:使用深度学习模型(如 ResNet)提取图片的特征向量。特征向量存储:将图片的特征向量存…...
数据中台(大数据平台)之数据仓库建设
数据中台作为企业数据管理的核心枢纽,应支持并促进企业级数据仓库的建设,确保数据的有效整合、治理和高效应用。在建设数据仓库的过程中,设计和规划显得尤为重要,需要深入理解业务需求,制定合理的技术架构,…...
设计模式之工厂模式(factory pattern):在商品对象创建系统中的应用
目录 一、设计思路 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 二、UML类图(PlantUML格式) 1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式 三、实现过程与结果 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 四、总结 在面向对…...
在ubuntu20.04+系统部署VUE及Django项目的过程记录——以腾讯云为例
目录 1. 需求2. 项目准备3. VUE CLI项目部署3.1 部署前的准备3.1.1 后端通信路由修改3.1.2 导航修改 3.2 构建项目3.3 配置nginx代理 4. 后端配置4.1 其他依赖项4.2 单次执行测试4.3 创建Systemd 服务文件4.4 配置 Nginx 作为反向代理 5. 其他注意事项 1. 需求 近期做一些简单…...
解决前端vue项目在linux上,npm install,node-sass 安装失败的问题
Unable to save binary /var/lib/jenkins/workspace/xxx/node_modules/node-sass/vendor/linux-x64-72 : Error: EACCES: permission denied, mkdir ‘/var/lib/jenkins/workspace/x/node_modules/node-sass/vendor’ 这个是node-sass安装失败导致的。 #将npm的默认仓库更改为…...
FPGA_YOLO(四)用HLS实现循环展开以及存储模块
Vivado HLS(High-Level Synthesis,高层次综合)是赛灵思(Xilinx)在其 Vivado 设计套件 中提供的一款工具,用于将 高级编程语言(如 C、C、SystemC) 直接转换为 硬件描述语言࿰…...
用户组与用户
用户组管理: 创建用户组: groupadd 用户组名 删除用户组: groupdel 用户组名 用户管理: 创建用户 useradd [-g -d] 用户名 -g:指定用户的组 -d:指定用户的home路径,如果不加上&…...
npm install 报错常见的解决方法
npm install 报错的情况有很多种,每种错误的具体解决方案也有所不同。这里我将汇总一些常见的npm install报错及其解决办法: 1. 下载速度慢/网络问题 解决办法:更换npm包的镜像源至国内镜像,如淘宝npm镜像:npm confi…...
暂存一下等会写
#include<easyx.h> IMAGE SNOW 图形变量 struct MOVE生存结构体 {int x0;int y0; bool livefalse;}; initgraph(800, 800);初始化图形界面 MOVE snowflake[5000];目标数量 loadimage(&SNOW, "snow.png");加载图片 BeginBatchDraw(); 开始批量绘图。…...
C语言 —— 指尖跃迁 刻印永恒 - 文件操作
目录 1. 什么是文件 1.1 程序文件 1.2 数据文件 1.3 文件名 2. 二进制文件和文本文件 3. 文件的打开与关闭 3.1 流和标准流 3.2 文件指针 3.3 文件的打开与关闭 fopen fclose 4. 文件的顺序读写 4.1 fgetc和fputc fgetc fputc 4.2 fgets和fputs fgets fputs…...
第二章 DQL查询语句
第一章:基础查询 一、SELECT 语句 作用 SELECT 语句用于从数据库中选取数据。 结果被存储在一个结果表中,称为结果集。 语法 SELECT column1, column2, … FROM table_name; 与 SELECT * FROM table_name; 参数说明: column1, column2, …...
系统与网络安全------弹性交换网络(1)
资料整理于网络资料、书本资料、AI,仅供个人学习参考。 Trunk原理与配置 Trunk原理概述 Trunk(虚拟局域网中继技术)是指能让连接在不同交换机上的相同VLAN中的主机互通。 VLAN内通信 实现跨交换的同VLAN通信,通过Trunk链路&am…...
有哪些哲学流派适合创业二
好的,让我们更深入地探讨如何将哲学与数学深度融合,构建一套可落地的创业操作系统。以下从认知框架、决策引擎、执行算法三个维度展开,包含具体工具和黑箱拆解: 一、认知框架:用哲学重构商业本质 1. 本体…...
Python(18)Python中JSON的妙用:详解序列化与反序列化原理及实战案例
目录 一、背景:为什么Python需要JSON?二、核心技术解析:序列化与反序列化2.1 核心概念2.2 类型映射对照表 三、Python操作JSON的四大核心方法3.1 基础方法库3.2 方法详解1. json.dumps()2. json.loads()3. json.dump()4. json.load() 四、实战…...
Nautilus 正式发布:为 Sui 带来可验证的链下隐私计算
作为 Sui 安全工具包中的强大新成员,Nautilus 现已上线 Sui 测试网。它专为 Web3 开发者打造,支持保密且可验证的链下计算。Nautilus 应用运行于开发者自主管理的可信执行环境(Trusted Execution Environment,TEE)中&a…...
投资理财_从0到1:如何用1000元开启你的二级市场投资之旅?
投资理财_从0到1:如何用1000元开启你的二级市场投资之旅? 一、前言:投资不是赌博,而是科学与艺术的结合1.1 为什么学习二级市场投资?1.2 本篇博客的目标 二、投资的基本概念:先搞清楚“玩的是什么”2.1 二级…...
有没有适合企业用的局域网即时通讯聊天工具?
随着信息安全问题的日益凸显,用户对于即时通讯工具的安全性与隐私保护提出了更高的要求。 强大的即时通讯能力 BeeWorks提供了专业的IM即时通讯能力,支持多种消息类型,包括文字、语音、图片和文件等,满足不同场景下的沟通需求。…...
Web3技术如何提升用户数据保护
在这个信息爆炸的时代,用户数据保护已成为全球关注的焦点。Web3 技术,作为下一代互联网的代表,以其去中心化、安全性和用户主权等特点,为用户数据保护提供了新的解决方案。本文将探讨 Web3 技术如何提升用户数据保护。 去中心化存…...
CANoe自动化测试用例log保存(专栏:车载网络诊断测试攻略从零开始搭建一个UDS诊断自动化测试CANoe工程)
文章目录 前言实现思路以及对应的CAPL代码1.获取cfg工程路径2.获取系统时间3.html报告路径4.log路径5.保存报告6.用例示例在汽车电子系统的开发与测试中,CANoe作为主流的仿真测试工具,其自动化测试用例生成的Log是问题追溯、合规审计和数据分析的核心依据。然而,许多团队因日…...
理解 results = model(source, stream=True) 的工作原理和优势
1. 核心概念解析 (1) streamTrue 的作用 生成器模式:当处理视频或图像序列时,streamTrue 会将结果包装成一个 生成器(Generator),逐帧生成 Results 对象,而不是一次性返回所有结果。内存优化:…...
# 手写数字识别:使用PyTorch构建MNIST分类器
手写数字识别:使用PyTorch构建MNIST分类器 在这篇文章中,我将引导你通过使用PyTorch框架构建一个简单的神经网络模型,用于识别MNIST数据集中的手写数字。MNIST数据集是一个经典的机器学习数据集,包含了60,000张训练图像和10,000张…...
ios app的ipa文件提交最简单的方法
ipa文件是ios的app打包后生成的二级制文件,在上架app store connect或做testflight测试的时候,它提示我们需要使用xcode、transporter或xcode命令行等方式来上传。 而xcode、transporter或xcode命令行的安装都需要使用mac电脑,假如没有mac电…...
与/或形演绎推理——基于王永庆著《人工智能原理与方法》的深度解析
前文,我们已经写了两种演绎推理:自然演绎推理和归结演绎推理。 自然演绎推理:自然演绎推理——基于王永庆著《人工智能原理与方法》的深度解析-CSDN博客 归结演绎推理:归结演绎推理——基于王永庆著《人工智能原理与方法》的深度…...
【Qt】Qt 按钮控件详解,PushButton,RadioButton,CheckBox,ToolButton
🍑个人主页:Jupiter. 🚀 所属专栏:QT 欢迎大家点赞收藏评论😊 目录 📚按钮类控件🍑Push Button 🥥Radio Buttion🍃click, press, release, toggled 的区别🍁…...
跨平台开发选Java还是C?应用场景与性能深度对比
🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 【前言】 在计算机技术快速发展的今天,跨平台开发已经成为众多开发者的核心需求。Java和C作为两种历史悠…...
Node.js 的定义、用途、安装方法
关于 Node.js 的定义、用途、安装方法,以及为什么不能使用 DOM、BOM 和与浏览器不同的顶级对象的简明总结: 💡 一、Node.js 的定义 Node.js 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境,它让 JavaScript 不再局限于浏览…...
5、Props:组件间的密语——React 19 数据传递全解
一、密语启封:咒语学徒的困惑 "教授,我的魔法傀儡为什么总是不听指令?"年轻的学徒举着发光的魔杖,组件树中的傀儡们却像打人柳一样混乱。"记住,艾薇,"赫敏的魔杖在空中划出金色数据流…...
LangGraph中预构件,creat_react_agent的实现流程
LangGraph Prebuilt Agent 流程图 本文档展示了LangGraph的prebuilt模块中Agent的实现流程,重点是create_react_agent函数构建的代理系统流程和结构。 ReAct Agent构建流程 #mermaid-svg-ubcEEuBeApApT624 {font-family:"trebuchet ms",verdana,arial,s…...
python-将文本生成音频
将文本生成音频通常需要结合 文本转语音(TTS,Text-to-Speech) 工具或库来实现,比如 Google TTS (gtts)、Amazon Polly、Microsoft Azure TTS 等。 一、使用 Google TTS (gtts) 将文本生成音频 gtts 是一个简单易用的 Python 库&a…...