当前位置: 首页 > news >正文

卷积的数学原理与作用

一、一维卷积

(一)定义

  1. 数学定义
    • 给定一个输入序列 x = [ x 1 , x 2 , ⋯ , x n ] x = [x_1,x_2,\cdots,x_n] x=[x1,x2,,xn] 和一个卷积核(滤波器) k = [ k 1 , k 2 , ⋯ , k m ] k = [k_1,k_2,\cdots,k_m] k=[k1,k2,,km],其中 m ≤ n m\leq n mn。一维卷积的计算过程是通过将卷积核在输入序列上滑动,在每个位置计算它们的点积。
    • 设输出序列为 y = [ y 1 , y 2 , ⋯ , y n − m + 1 ] y = [y_1,y_2,\cdots,y_{n - m+1}] y=[y1,y2,,ynm+1],则 y i = ∑ j = 0 m − 1 k j x i + j y_i=\sum_{j = 0}^{m - 1}k_jx_{i + j} yi=j=0m1kjxi+j。例如,当 n = 5 n = 5 n=5 m = 3 m = 3 m=3 x = [ 1 , 2 , 3 , 4 , 5 ] x=[1,2,3,4,5] x=[1,2,3,4,5] k = [ 1 , 2 , 3 ] k = [1,2,3] k=[1,2,3]时, y 1 = 1 × 1 + 2 × 2 + 3 × 3 = 14 y_1=1\times1 + 2\times2+3\times3 = 14 y1=1×1+2×2+3×3=14
  2. 在深度学习中的表示
    • 在深度学习框架(如PyTorch或TensorFlow)中,一维卷积层通常表示为Conv1d。它接受一个形状为 ( b a t c h _ s i z e , c h a n n e l s _ i n , s e q u e n c e _ l e n g t h ) (batch\_size, channels\_in, sequence\_length) (batch_size,channels_in,sequence_length)的输入张量,并输出一个形状为 ( b a t c h _ s i z e , c h a n n e l s _ o u t , o u t p u t _ s e q u e n c e _ l e n g t h ) (batch\_size, channels\_out, output\_sequence\_length) (batch_size,channels_out,output_sequence_length)的张量。其中channels_in是输入通道数,channels_out是输出通道数,output_sequenc_length取决于输入序列长度、卷积核大小和步长等参数。

(二)作用

  1. 信号处理
    • 滤波:可以用于去除信号中的噪声。例如,在音频信号处理中,低通滤波器卷积核可以通过卷积操作滤除高频噪声。假设音频信号的采样点序列为输入,通过设计一个合适的低通滤波器卷积核,让其在信号序列上滑动进行卷积,高频部分对应的系数会被削弱,从而达到滤波的效果。
    • 特征提取:从时间序列数据中提取特征。以股票价格数据为例,将一段时间内的股票价格序列作为输入,一维卷积可以提取价格波动的模式,如短期的上涨或下跌趋势等特征。这些特征对于预测股票价格走势等后续任务非常有帮助。
  2. 自然语言处理(NLP)
    • 词向量处理:在处理文本的词向量序列时,一维卷积可以捕捉局部的语义信息。例如,对于一个句子的词向量序列,卷积核可以提取出如名词短语、动词短语等局部语义单元的特征。
    • 文本分类:通过对文本经过词嵌入后的序列进行一维卷积操作,提取文本的特征,然后将这些特征输入到分类器中,用于判断文本的类别,如情感分类(积极、消极或中性)等任务。

二、二维卷积

(一)定义

  1. 数学定义
    • 对于一个二维输入矩阵 X ∈ R H × W X\in R^{H\times W} XRH×W H H H表示高度, W W W表示宽度)和一个二维卷积核(滤波器) K ∈ R h × w K\in R^{h\times w} KRh×w h h h w w w分别是卷积核的高度和宽度)。二维卷积的计算是将卷积核在输入矩阵上滑动,在每个位置计算它们的对应元素乘积之和。
    • 设输出矩阵为 Y ∈ R H − h + 1 × W − w + 1 Y\in R^{H - h+1\times W - w + 1} YRHh+1×Ww+1,对于输出矩阵中的元素 y i j y_{ij} yij,其计算公式为 y i j = ∑ m = 0 h − 1 ∑ n = 0 w − 1 k m n x i + m , j + n y_{ij}=\sum_{m = 0}^{h - 1}\sum_{n = 0}^{w - 1}k_{mn}x_{i + m,j + n} yij=m=0h1n=0w1kmnxi+m,j+n。例如,当 X = [ 1 2 3 4 5 6 7 8 9 ] X=\begin{bmatrix}1&2&3\\4&5&6\\7&8&9\end{bmatrix} X= 147258369 K = [ 1 1 1 1 ] K=\begin{bmatrix}1&1\\1&1\end{bmatrix} K=[1111],计算 y 11 y_{11} y11时, y 11 = 1 × 1 + 2 × 1 + 4 × 1 + 5 × 1 = 12 y_{11}=1\times1+2\times1+4\times1+5\times1 = 12 y11=1×1+2×1+4×1+5×1=12
  2. 在深度学习中的表示
    • 在深度学习框架中,二维卷积层通常表示为Conv2d。它接受一个形状为 ( b a t c h _ s i z e , c h a n n e l s _ i n , h e i g h t , w i d t h ) (batch\_size, channels\_in, height, width) (batch_size,channels_in,height,width)的输入张量,并输出一个形状为 ( b a t c h _ s i z e , c h a n n e l s _ o u t , o u t p u t _ h e i g h t , o u t p u t _ w i d t h ) (batch\_size, channels\_out, output\_height, output\_width) (batch_size,channels_out,output_height,output_width)的张量。其中channels_in是输入通道数(例如彩色图像的RGB通道数为3),channels_out是输出通道数,output_heightoutput_width取决于输入图像的高度、宽度、卷积核大小和步长等参数。

(二)作用

  1. 图像处理
    • 边缘检测:通过特定的卷积核可以检测图像的边缘。例如,Sobel算子是一种常用的边缘检测卷积核。它可以计算图像中像素灰度值的变化率,从而确定边缘的位置。对于一幅图像,使用Sobel卷积核进行二维卷积操作后,边缘部分会在输出图像中显示出较高的像素值,而非边缘部分像素值较低。
    • 图像滤波:类似于一维卷积在信号处理中的滤波作用,二维卷积可以在图像中去除噪声或模糊图像。例如,均值滤波卷积核可以通过计算像素周围邻域的平均值来模糊图像,减少图像中的细节噪声。
    • 特征提取:从图像中提取各种特征,如纹理、形状等。在人脸识别中,二维卷积可以提取面部的关键特征,如眼睛、鼻子、嘴巴等部位的形状和位置特征,这些特征对于后续的人脸识别任务至关重要。
  2. 计算机视觉中的其他应用
    • 目标检测:在目标检测算法中,二维卷积用于提取图像中可能包含目标的区域特征。例如,在基于深度学习的目标检测模型(如Faster R - CNN)中,卷积层用于从输入图像中提取丰富的特征图,然后通过后续的区域提议网络(RPN)和分类回归头来确定目标的位置和类别。
    • 图像分割:用于将图像划分为不同的语义区域。通过二维卷积提取图像的特征,然后根据这些特征将像素分类到不同的类别,例如在医学图像分割中,将医学图像中的器官、组织等不同部分分割出来,为疾病诊断等任务提供帮助。

相关文章:

卷积的数学原理与作用

一、一维卷积 (一)定义 数学定义 给定一个输入序列 x [ x 1 , x 2 , ⋯ , x n ] x [x_1,x_2,\cdots,x_n] x[x1​,x2​,⋯,xn​] 和一个卷积核(滤波器) k [ k 1 , k 2 , ⋯ , k m ] k [k_1,k_2,\cdots,k_m] k[k1​,k2​,⋯,…...

路由介绍.

RIB和FIB Routing Information Base(RIB),即路由信息库,是存储在路由器或联网计算机中的一个电子表格或类数据库,它保存着指向特定网络地址的路径信息,包括路径的路由度量值。RIB的主要目标是实现路由协议…...

CTFshow-命令执行(Web29-40)

CTFshow-命令执行(Web29-40) CTFWeb-命令执行漏洞过滤的绕过姿势_绕过空格过滤-CSDN博客 总结rce(远程代码执行各种sao姿势)绕过bypass_远程命令执行绕过-CSDN博客 对比两者的源代码,我们发现,cat指令把flag.php的内容导出后依…...

MySQL锁的类型有哪些

目录 共享锁(share lock): 排他锁(exclusivelock): 表锁(table lock): 行锁: 记录锁(Record lock): 页锁: 间隙锁: 基于锁的属性分类:共享锁,排他锁。 基于锁的粒…...

基于 JNI + Rust 实现一种高性能 Excel 导出方案(下篇)

衡量一个人是否幸福,不应看他有多少高兴的事,而应看他是否为小事烦扰。只有幸福的人,才会把无关痛痒的小事挂心上。那些真正经历巨大灾难和深重痛苦的人,根本无暇顾及这些小事的。因此人们往往在失去幸福之后,才会发现…...

关于Python程序消费Kafka消息不稳定问题的处理方法

在使用Python程序消费Kafka消息的过程中,有时会遇到各种不稳定的情况,如自动提交偏移量无效、CommitFailedError错误等。这些问题不仅影响了数据处理的可靠性,还可能导致重复消费或丢失消息。本文将针对这两个常见问题提供详细的解决方案和最…...

【OpenCV】Canny边缘检测

理论 Canny 边缘检测是一种流行的边缘检测算法。它是由 John F. Canny 在 1986 年提出。 这是一个多阶段算法,我们将介绍算法的每一个步骤。 降噪 由于边缘检测易受图像中的噪声影响,因此第一步是使用 5x5 高斯滤波器去除图像中的噪声。我们在前面的章…...

算法-二进制和位运算

一.二进制 (1).无符号数: 无符号数是一种数据表示方式,它只表示非负整数,即没有符号位,所有的位都用来表示数值大小。在 C 等编程语言中,常见的无符号类型有 unsigned int、unsigned char 等。…...

OpenAI Chatgpt 大语言模型

OpenAI 一个美国人工智能研究实验室,由非营利组织 OpenAI Inc,和其营利组织子公司 OpenAI LP 所组成。该组织于 2015 年由萨姆阿尔特曼、里德霍夫曼、杰西卡利文斯顿、伊隆马斯克、伊尔亚苏茨克维、沃伊切赫萨伦巴、彼得泰尔等人在旧金山成立&#xff0…...

SpringBoot【九】mybatis-plus之自定义sql零基础教学!

一、前言🔥 环境说明:Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE mybatis-plus的基本使用,前两期基本讲的差不多,够日常使用,但是有的小伙伴可能就会抱怨了,若是遇到业务逻辑比较复杂的sq…...

C#,人工智能,深度学习,目标检测,OpenCV级联分类器数据集的制作与《层级分类器一键生成器》源代码

一、目标识别技术概述 1、摘要 目标检测是计算机视觉中最基本和最具挑战性的问题之一,它试图从自然图像中的大量预定义类别中定位目标实例。深度学习技术已成为直接从数据中学习特征表示的强大策略,并在通用目标检测领域取得了显著突破。鉴于这一快速发…...

调度系统:Luigi 的主要特性和功能

Luigi 是一个开源的 Python 工作流管理工具,用于构建批处理作业管道,特别适用于数据工程领域。它被设计用来编排任务和处理任务间的依赖关系,支持自动化复杂的 ETL 流程、数据分析、模型训练等任务。 Luigi 的主要特性和功能: 任…...

C# 探险之旅:第二节 - 定义变量与变量赋值

欢迎再次踏上我们的C#学习之旅。今天,我们要聊一个超级重要又好玩的话题——定义变量与变量赋值。想象一下,你正站在一个魔法森林里,手里拿着一本空白的魔法书(其实就是你的代码编辑器),准备记录下各种神奇…...

AUTOSAR:SOME/IP 概念

文章目录 1. 用例与需求1.1 典型用例1.2 对中间件的要求 2. 协议栈示例3. SOME/IP 概念3.1 中间件整体功能与架构3.2 服务组成元素详细解释 4. 服务发现机制深入剖析5. 总结 1. 用例与需求 1.1 典型用例 信息娱乐系统: 后座娱乐系统连接:允许后排乘客连…...

循序渐进kubenetes Service(Cluster ip、Nodeport、Loadbalancer)

文章目录 部署一个web服务Kubernetes Port ForwardKubernetes ServicesClusterIP ServiceNodePort ServiceLoadBalancer Service 部署一个web服务 准备 Kubernetes 集群后,创建一个名为 web 的新 namespace,然后在该 namespace 中部署一个简单的 web 应…...

深入理解 Apache Shiro:安全框架全解析

亲爱的小伙伴们😘,在求知的漫漫旅途中,若你对深度学习的奥秘、JAVA 、PYTHON与SAP 的奇妙世界,亦或是读研论文的撰写攻略有所探寻🧐,那不妨给我一个小小的关注吧🥰。我会精心筹备,在…...

mac 安装CosyVoice (cpu版本)

CosyVoice 介绍 CosyVoice 是阿里研发的一个tts大模型 官方项目地址:https://github.com/FunAudioLLM/CosyVoice.git 下载项目(非官方) git clone --recursive https://github.com/v3ucn/CosyVoice_for_MacOs.git 进入项目 cd CosyVoic…...

币安移除铭文市场的深度解读:背后原因及其对区块链行业的影响

引言: 就在昨天,2024年12月10号,币安宣布将移除铭文市场(Inscriptions Market)。这一消息引发了全球加密货币社区的广泛关注,尤其是在比特币NFT和数字收藏品市场快速发展的背景下。铭文市场自诞生以来迅速…...

深度学习实战野生动物识别

本文采用YOLOv11作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv11以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对野生动物数据集进行训练和优化,该数据集包含丰富的野生动物图像样…...

windows安装使用conda

在Windows系统上安装和使用Conda的详细步骤如下: 一、下载Conda安装包 访问Conda的官方网站Anaconda | The Operating System for AI,点击“Downloads”按钮。在下载页面,选择适合您系统的安装包。通常,对于Windows系统&#xf…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

Android15默认授权浮窗权限

我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...