从问题出发深入理解“卷积”

一篇文章搞懂卷积 本文从一名工程师的角度讲解了数字图像处理领域的重要概念——卷积。本文力求使用最少的数学公式将卷积的物理含义以及计算方法讲解清楚。其中第四节和第五节图解卷积过程,第六节给出了卷积的代码实现。相信工程师朋友们可以通过这一篇文章轻松理解卷积。 (一)线性时不变系统 如果一个系统具备齐次性,可加性和时不变性,则该系统为线性时不变系统。 齐次性:如果一个系统对输入信号的输出为,那么该系统对输入信号的输出为。 可加性:如果一个系统对输入信号的输出为,该系统对输入信号的输出为,那么该系统对输入信号的输出为.. 阅读详情

对卷积的理解

对卷积这个名词的理解:所谓两个函数的卷积,本质上就是先将一个函数翻转,然后进行滑动叠加。

在连续情况下,叠加指的是对两个函数的乘积求积分,在离散情况下就是加权求和,为简单起见就统一称为叠加。

整体看来是这么个过程:

翻转——>滑动——>叠加——>滑动——>叠加——>滑动——>叠加.....

多次滑动得到的一系列叠加值,构成了卷积函数。

卷积的“卷”,指的的函数的翻转,从 g(t) 变成 g(-t) 的这个过程;

卷积的“积”,指的是滑动积分/加权求和。

卷积核心思想就是最末时间点的响应,是由初始时刻到当前时刻的激励在整段时间的顺序叠加造成的。即最初激励影响了最长时间,第二时刻激励影响了最长时间减一时刻的时间。依次类推。事实上总结来说,卷积就是考虑时变激励的时间累积影响。

问题:

1. 为什么一维卷积要反转?

一维卷积要翻转,究其原因,是因为“时间的相对”

站在现在时刻t,向左看,看到的是h(3),h(2),h(1),h(0),倒过来的实际上输入信号f(t)和系统响应函数g(t)中的t从一开始就不在同一个坐标系中,f(t)中的t是给定时间轴上的上的坐标,而g(t)中的t则是从信号输入后过了t时间这么久,也就是说它实际上就是△t,对于给定时刻T而言,在给定时间轴上的某一点t,其△t=T-t,所以我一直觉得g(t)这个写法是不便于理解的。表述为 输入信号f(t),系统响应函数g(△t) 更合适。

例子:信号分析

如下图所示,输入信号是 f(t) ,是随时间变化的。系统响应函数是 g(t) ,图中的响应函数是随时间指数下降的,它的物理意义是说:如果在 t=0 的时刻有一个输入,那么随着时间的流逝,这个输入将不断衰减。换言之,到了 t=T时刻,原来在 t=0 时刻的输入f(0)的值将衰减为f(0)g(T)。
在这里插入图片描述
显然,上面的对应关系看上去比较难看,是拧着的,所以,我们把g函数对折一下,变成了g(-t),这样就好看一些了。看到了吗?这就是为什么卷积要“卷”,要翻转的原因,这是从它的物理意义中给出的。
在这里插入图片描述

2. 卷积和相关

相关是信号与信号间的关系,参考如何通俗易懂地解释「协方差」与「相关系数」的概念?,衡量两个信号是正线性相关/负线性相关/无相关关系。
卷积是信号与系统间的关系,某时刻输入信号,系统的输出是什么。在一维时间序列信号情况下,系统的输出不仅取决于当前时刻的输入,还取决于之前时刻的输入,而这是因为系统对某时刻的响应h(n)是一个串会对”未来“产生影响。(仅限于1维时间序列)

3. 为什么传统二维卷积要翻转?

什么是二维卷积:

二维卷积就是一维卷积的扩展,原理差不多。核心还是(反转),移动,乘积,求和。这里二维的反转就是将卷积核沿反对角线翻转,比如
在这里插入图片描述
之后,卷积核在二维平面上平移,并且卷积核的每个元素与被卷积图像对应位置相乘,再求和。通过卷积核的不断移动,我们就有了一个新的图像,这个图像完全由卷积核在各个位置时的乘积求和的结果组成。

翻转的理由:

传统图像/信号处理中,二维卷积(比如对图像)也要翻转。
这个应该是对1中一维时间序列卷积的定义延续与统一。(参考了一些博文和看法,我认为其实不翻转也行的,因为如果不是时间序列,某个局部patch响应就不会”未来“产生影响)

4. 为什么深度学习卷积不翻转?

解释1:因为卷积核是from stratch学习到的,如果翻转是必须的,那么学习到的卷积核就应该已经是翻转过后的卷积核了(从语义的角度上说,就是机器已经计算了翻转这一步)
解释2:如3中我猜想的,图像(二维/三维)没有时间概念,所以没有类似1中信号与“系统”的概念,没有旧时刻输入对现在时刻输出的影响效应,其实是不需要卷积的。而深度学习借用了图像处理的空间“卷积”这个词,而图像处理的“卷积”本质上也是不用翻转的(相关),所以深度学习卷积不用翻转。所以,深度学习,用的应该是上面第2个问题中所说的“相关”这个概念。而这种隐含的“关系”也更合理。

5. 深度学习中常说的反卷积是卷积翻转吗?

深度学习中所谓的反卷积其实是转置卷积,也不是真正意义上的反卷积。
那为什么不能叫反卷积?

而反卷积的数学含义为,通过反卷积可以将通过卷积的输出信号,完全还原输入信号

而事实是,转置卷积只能还原shape大小,不能还原value.因为在卷积操作的时候已经丢失了原始数据
请添加图片描述

6. 卷积的定义和真实的应用?

卷积的定义是完全具备全局处理的能力的,但是在实际使用中,由于我们应用的局限,往往效果看上去是局部的。在图像处理的例子中表现得就非常明显:首先,任何实际的图像都是有限大小的,而我们的图像处理矩阵g只是3x3的矩阵,所以其实只考虑了在3个像素附近的图像的总体状态。试想一下,如果图像本身是无限大,处理矩阵也是无限大,卷积运算给出的任何一个像素点的处理效果,就是综合了空间中所有像素的累积计算结果。

线性卷积、周期卷积与圆周卷积:从信号处理到深度学习的核心操作详解 卷积是信号处理、图像分析和深度学习中的基础数学运算,其核心原理是通过滑动加权求和实现信号滤波与特征提取。从线性时不变系统的理论基石——线性卷积出发,其长度扩展特性决定了其在离线滤波和系统模拟中的应用。为了提升计算效率并适应周期性信号处理,引入了周期卷积,它通过离散傅里叶变换(DFT)在频域实现高效计算,是快速卷积算法的理论基础。然而,直接应用DFT会引入混叠问题,这自然引出了圆周卷积的概念。圆周卷积通过合理选择FFT点数,在避免混叠的同时,实现了线性卷积的快速计算,广泛应用于音频处理、通信算法和卷积神经网络 阅读详情

相关推荐

深入理解深度卷积网络的感受野

本文从人类视觉系统出发,详细探讨了深度卷积网络中感受野的多个方面,包括其定义、重要性、测量方法、增加感受野的策略以及与其他操作的关系。理解感受野对于设计和优化卷积神经网络至关重要。关键要点如下:感受野的概念适用于局部操作;我们应设计模型使感受野覆盖整个相关输入图像区域;顺序使用空洞卷积可以使感受野指数级增长,而参数数量线性增长;池化操作和空洞卷积是快速增加感受野大小的有效方法;跳跃连接可能提供更多路径,但会使有效感受野变小;训练后有效感受野会增加。

m0_74337424的博客 138

卷积本质

卷积的本质:加权叠加 eg1: 线性时不变系统:对于线性时不变系统,如果知道该系统的单位响应,那么将单位响应和输入信号求卷积,就相当于对输入信号各个时间点的单位响应 加权,加权值为输入信号各个时间点上的值,然后叠加,就直接得到了输出信号。 y(t) = x(t) * h(t) eg2 图像处理中的滤波:对于图像处理中的滤波,相当于对图像中每个像素点的卷积核加权,加权值为对应中心点窗口内像素点的值...

weixin_38410551的博客 1409

神经网络基础部件-卷积层详解

本文深度讲解了卷积计算的原理,并详细介绍了构成所有卷积网络主干的基本元素,包括卷积层本身、填充(padding)和步幅 (stride)的基本细节、用于在相邻区域汇聚信息的汇聚层(pooling),最后给出卷积层和汇聚层的代码示例和CNN框架结构图。

专注计算机视觉算法训练,算法优化部署以及SDK开发的知识分享。 2421

卷积的本质及物理意义

提示:对卷积的理解分为三部分讲解1)信号的角度2)数学家的理解(外行)3)与多项式的关系 1 来源 卷积其实就是为冲击函数诞生的。“冲击函数”是狄拉克为了解决一些瞬间作用的物理现象而提出的符号。古人曰:“说一堆大道理不如举一个好例子”,冲量这一物理现象很能说明“冲击函数”。在t时间内对一物体作用F的力,倘若作用时间t很小,作用力F很大,但让Ft的乘积不变,即冲量不变。于是在用t做横坐标、F做纵坐标的坐标系中,就如同一个面积不变的长方形,底边被挤的窄窄的,高度被挤的高高的,在数学中它可以被挤到..

万物并作,吾以观复 2732

卷积神经网络(CNN)原理与代码实战案例讲解

1. 背景介绍 1.1 问题的由来 在计算机视觉领域,图像识别一直是一个重要的研究课题。传统的图像识别方法,如基于特征的方法,虽然在一些场景下表现良好,但在处理复杂、大规模的图像数据时,往往效果不佳。这是因为这些方法往往需要人工设计和选择特征,而这些特征可能并不能很好地捕捉到图像的复杂性和多样性。因此,如

AI天才研究院 1098

计算机视觉——深入理解卷积神经网络与使用卷积神经网络创建图像分类算法

卷积神经网络是计算机视觉领域的基石,通过本文的学习,你不仅掌握了 CNN 的基本原理和实现方法,还了解了优化技巧与未来发展趋势。无论是图像分类、目标检测还是图像生成,CNN 都展现了强大的能力。未来,随着技术的不断进步,CNN 将在更多领域发挥重要作用,推动人工智能的进一步发展。延伸阅读深度学习入门:深入学习神经网络的理论与实践。TensorFlow 官方文档:探索更多深度学习框架的使用技巧。计算机视觉前沿研究:了解最新的研究进展与创新应用。

QQ_778132974的博客 1399

卷积神经网络“卷积”的深层理解

在高等数学中,卷积是一个泛函数,具体来说就是通过两个函数f和g生成第三个函数的一种数学运算,其本质是一种特殊的积分变换,表征函数f与g经过翻转和平移的重叠部分函数值乘积对重叠长度的积分。......

qq_52302919的博客 4642

BDDB.rar.gz_一维反卷积_信号反卷积_卷积 一维_反卷积 matlab

用于离散信号的盲反卷积,主要针对一维离散信号,可以进行二维扩展。

为什么卷积要先反转再滑动呢?不翻转为什么不行?

AD\STC\Tools\Download\WiFiDownload8G1K.SchDoc asdfasdf1 asdfasdf asdfasdfasdf2 AD\STC\Tools\Download\WiFiDownload8G1K.SchDoc D:\Temp\TEMP0001\test2.PY3 1 window:C51\STC\Test\2020\testAD76068...

TSINGHUAJOKING 4095

RT-Thread stm32h7使用串口DMA

stm32h7在rtthread中无法使用串口DMA,通过更改驱动代码使其支持串口DMA

qq_35141454的博客 2287

STM32MP157+AD7606BSTZ四通道IEPE传感器控制器实战(附电路图)

本文详细介绍了基于STM32MP157和AD7606BSTZ的四通道IEPE传感器控制器设计实战,涵盖硬件架构、数据采集芯片对比、关键电路设计及信号处理算法。通过双核协同工作和优化算法,实现高精度振动监测与故障诊断,适用于工业机械状态监测等场景。

weixin_29171129的博客 368

卷积通俗讲解

什么是卷积 卷积的意义在于加权叠加。卷积的本质是做内积,内积的本质是计算相似度。 首先给大家一个果壳上关于卷积的著名暴力讲解: 比如说你的老板命令你干活,你却到楼下打台球去了,后来被老板发现,他非常气愤,扇了你一巴掌(注意,这就是输入信号,脉冲),于是你的脸上会渐渐地(贱贱地)鼓起来一个包,你的脸就是一个系统,而鼓起来的包就是你的脸对巴掌的响应,好,这样就和信号系统建立起来意义对应的联系。 下面还...

weixin_42713739的博客 1597

85-dify案例分享-无需OpenAI账号,Dify+Sora2工作流实战:一键生成写实动漫视频,插件+教程全解析

本文详细解析了如何利用Dify平台结合Sora2插件,搭建无需OpenAI账号的AI视频生成工作流。通过可视化拖拽配置,用户输入文本描述即可一键生成高质量的写实或动漫风格短片,极大降低了AI视频创作的技术门槛。教程涵盖插件安装、API密钥获取、工作流搭建及优化技巧,助力创作者快速实现创意。

weixin_29053577的博客 554

深入理解图卷积网络(4)

图神经网络的滤波性质,我们先来想一个问题:在图信号中,究竟是什么频率的信号起了更大的作用?在得到重构的图信号之后,我们以它为输入,训练一个两层的多层感知机,在图数据上做节点分类任务。D -1/2AD-1/2 xW实际上是一个没有加自环的图卷积网络,在加了自环并做相应的正则化后,D-1/2(A+为了简化分析,假设图论傅里叶变换所用的是正则化后的拉普拉斯矩阵 L=I-D-1/2AD-1/2,那么D-1/2AD-1/2x=(I-L)X=U(I-假设一个图是联通的,并且不是一个二分图,我们对它上面的一个图信号。

m0_63860007的博客 1163

重磅!Repo Wiki!

RepoWiki是Qoder平台的智能文档生成功能,通过静态代码分析自动提取项目架构、模块依赖和核心逻辑,并持续追踪代码变更保持文档同步。其工作流程分为四个阶段:1)代码扫描与AST解析;2)结构分析与依赖映射;3)文档智能生成;4)增量更新机制。支持多种编程语言,能识别设计模式并推断技术决策,适用于新项目搭建和遗留系统维护。优势在于降低理解成本和提高开发效率,但存在文件数量限制和依赖Git的局限性。典型应用场景包括自动生成架构图、API手册和团队知识沉淀。

ayusong870的博客 4037

22、云数据中心网络(DCN)部署最佳实践

本文详细介绍了云数据中心网络(DCN)部署的最佳实践,涵盖SDN设计、服务网络规划、管理网络规划等方面。通过合理的架构设计、路由规划和组件协同,提升数据中心的自动化水平、可靠性及安全性,以满足不断增长的业务需求。

d6e7f8的博客 188

深入理解卷积层:从理论到实践

卷积神经网络(Convolutional Neural Networks,CNN)已经成为计算机视觉领域的核心架构,而卷积层(Convolutional Layer)正是CNN的灵魂所在。本文将带你深入理解卷积层的核心原理、数学基础和实践应用,帮助你掌握这一深度学习中的重要组件。 ## 卷积层的基本概念 ### 什么是卷积运算? 严格来说,深度学习中的"卷积层"实际上执行的是**互相关运算*...

gitblog_00470的博客 425

【部署】Ubuntu 24.04.4虚拟机下部署OpenClaw

OpenClaw是一款基于AI的智能助手工具,本文详细介绍了在Ubuntu 24.04.4系统上的三种安装方法。推荐使用一键安装脚本(curl -fsSL https://openclaw.ai/install.sh | bash),自动完成Node.js检测、CLI安装和引导配置。对于开发者,提供了从源码构建的详细步骤,包括环境准备、依赖安装和构建流程。文章还包含常见问题解决方案(如sharp构建错误处理)以及后续维护建议(更新、配置检查和日志查看)。安装完成后,用户可通过终端TUI或Web UI进行初始

海兰 1万+

使用Python的一维卷积

经常看到有人想学习如何快速开发深度学习应用程序,他们学习了PyTorch或Tensorflow等库的基础知识,但他们还没有真正理解他们使用的这些神奇功能背后的含义。这种情况经常发生,当某些功能不起作用或需要自定义某些功能时,没有人知道从哪里开始。当一个人对计算机视觉感兴趣时,通常会开始研究卷积神经网络,从高层次来说,它们是非常容易理解的。但有时,当我们的朋友或同事不是在处理二维图像,而是不得不在一...

深度学习与计算机视觉 2171

Unity如何实现3D物体拆解组装

最近有一个需求,是做一个发动机的拆卸和安装功能,其实是一个很简单的功能,但是其中有一个点我觉的非常有意思,就是拖拽组装时,物体如何精准拖到目标位置,思路有了,但是我一直找不到实现方式,早晨刷牙时无意间想到了叉乘,我才有了解决方案。就凭这一次的灵光乍现,也很有必要写篇博客来记录一下。首先,我们先来看下我们要实现的效果,就是对一个发动机(任意多组件物体,如:车)的360°预览查看,手动拖拽拆解,手动拖拽组装。360°旋转视角远近拉伸视角点击拖拽拆卸拖拽组装。

TxNet 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

从“卷积”、到“图像卷积操作”、再到“卷积神经网络”,“卷积”意义的3次改变

【从“卷积”、到“图像卷积操作”、再到“卷积神经网络”,“卷积”意义的3次改变】 https://www.bilibili.com/video/BV1VV411478E/?绝了 这个up主讲的贼好。

weixin_51087794的博客 334

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

卷积图解_一篇文章搞懂卷积

本文从一名工程师的角度讲解了数字图像处理领域的重要概念——卷积。本文力求使用最少的数学公式将卷积的物理含义以及计算方法讲解清楚。其中第四节和第五节图解卷积过程,第六节给出了卷积的代码实现。相信工程师朋友们可以通过这一篇文章轻松理解卷积。(一)线性时不变系统 如果一个系统具备齐次性,可加性和时不变性,则该系统为线性时不变系统。 齐次性:如果一个系统对输入信...

weixin_30224993的博客 6959

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

40.图像卷积

卷积(Convolution)是一种数学运算,广泛应用于信号处理和图像处理领域。基本思想是两个函数的积,通过滑动窗口的方式计算它们的叠加值。对于一维情况下,假设 \( f \) 和 \( g \) 分别表示输入的两个函数,其中 \( f \) 是输入函数, \( g \) 是卷积核函数,卷积运算的符号表示为:对于二维情况,卷积运算略微复杂,有两个变量 \( x \) 和 \( y \)。

qq_41238579的博客 1092

深入理解Gluon教程中的卷积神经网络原理与应用

深入理解Gluon教程中的卷积神经网络原理与应用 【免费下载链接】d2l-zh 项目地址: https://gitcode.com/gh_mirrors/d2l/d2l-zh ...

gitblog_00341的博客 403

深入理解卷积神经网络:从原理到应用

如今,无论是手机相册的人脸识别、自动驾驶的实时路况分析,还是医疗影像的肿瘤检测,CNN 都在其中扮演着核心角色。以 32x32 像素的彩色图像为例,输入层神经元数量达到 32x32x3=3072 个,第一层若有 1000 个神经元,仅输入层到第一层的连接就超过 300 万条。(三)全连接层(Fully Connected Layer):从特征到决策的桥梁​。(一)卷积层(Convolutional Layer):特征提取的引擎​。(二)池化层(Pooling Layer):特征的精简与抽象​。

LNNNNNNNNLLLL的博客 884
上一篇: 线段树与树状数组
下一篇: 【Opencv3学习笔记 1】OpenCV的安装配置部署详细步骤(window + vs2019)
Andy in boots
博客等级 码龄7年 73粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值