我对卷积的理解

2023-4-9 13:34| 发布者: 挖安琥| 查看: 122| 评论: 0

摘要: 来源:Mengqi's blog,作者:Mengqi。在学习机器学习和图像处理的过程中,经常会遇到卷积这个概念。我每次遇到这个概念都有点似懂非懂的样子。有时候清楚它的直观解释,但又搞不清公式中是如何体现的。究其原因,还 ...

来源:Mengqi's blog,作者:Mengqi。


在学习机器学习和图像处理的过程中,经常会遇到卷积这个概念。我每次遇到这个概念都有点似懂非懂的样子。有时候清楚它的直观解释,但又搞不清公式中是如何体现的。究其原因,还是我没有完全搞懂这个概念。维基百科上有一个动态图来演示这个概念,但对于我来说还是有些复杂。于是自己在网上找了很多文章来研究,终于有了比较直观的印象,这里就趁热把我理解的解释一下,作为总结。


一、一维卷积


1. 数学定义


维基百科上,卷积的形式化定义如下:


2. 直观解释


先来分析一下这个公式:f( x ) g ( x ) 表示 f ( x ) g ( x ) 的卷积,注意此处自变量为 x。 它是对 (∞,∞) 区间上对 τ 求积分,积分对象为两个函数的乘积: f( τ ) 和 g ( xτ )。等式右边只有 g ( xτ ) 提到了 x ,其他部分都在关注 τ 。


这样一个公式恐怕还是难以理解,接下来将通过一个例子来进行解释。


3. 例子


试想小明有一段时间每天都要去输液,输的药会在身体里残留直至失效,药效随着时间是不断衰落的。这里为简便起见,假设药效4天就失效,而且药效持续函数是离散的。如下图所示:



图中,横坐标为天数,纵坐标为药效。输液当天 (day=0) 药效为100%,第二天减弱为80%,第三天减弱为40%,第四天减弱为0。


现在先定义一些符号:记天数为 t ,每天输液的药量为 m ( t ),药效函数为 eff ( t ),小明身上残留的药效为 rest ( t )。其中药效函数:



下面观察一下小明从第一天起,连续三天输液后身上所留下的药效(假设每天药量固定为10)。


  • 第一天,小明去医院输完液后,药效为10( rest ( t )= m ( t ) eff (0)。



  • 第二天,小明去医院准备输液:输液前,他身上带着前一天的药效,此时已经衰减为1080%=8,即 m ( t 1) eff (1);输液后,他身上携带的药效为8+10=18( rest ( t )= m ( t 1) eff (1)+ m ( t ) eff (0)。



  • 第三天,小明去医院准备输液:输液前,他身上带着前两天的药效,第一天的此时已衰减为1040%=4( m ( t 2) eff (2),第二天的此时衰减为1080%=8( m ( t 1) eff (1);输液后,他身上携带的药效为4+8+10=22( rest ( t )= m ( t 2) eff (2)+ m ( t 1) eff (1)+ m ( t ) eff (0)。



4. 分析


从上面的分析我们可以得到,小明第 t 天身上残留的药效 ,其中 n 为药效有效的最大天数。我们不难想象,但药效函数 eff ( t )为连续时,上式中的求和就应改为积分;而当药效能无限期有效时,上式中 n 就为∞。无限期有效的药效函数,所对应的 (本例中严格来说应该是,这里推广到了(∞,∞))。推导到这里,基本就是维基百科上卷积的定义了。


5. 总结


我之前对卷积概念的困惑主要是因为对卷积的形式化定义公式的那个 τ 的意义理解错了,总以为τ 是随着坐标轴变化的量。事实上,在上面举的例子中, τ 是作为沿着纵坐标遍历的量:它的作用是对「纵向」上,历次函数 eff ( t ) 在当前点( t ) 残余量( rest ( t ) 的求和。积分也是对纵向上的积分,而非横向上沿自变量的积分。


横坐标变化的量始终为 t ,而且在卷积中并没有明显体现出 t 的变化。


最后重新回顾一下上面的整个过程:比较三天以来的示意图可以发现,如果我们以「当天」而不是第 t 天为参考的话,就会看到 eff ( t ) 随着时间是在向左平移(深蓝的线表示当天,前几天的线都在其左边),然后各天衰落后的药量残余等于 eff ( t ) 值乘上初始的药量值,最后将各天的药量残余求个和。整个过程的核心就是 「(反转),移动,乘积,求和」,这里面「反转」的概念也好理解,就是本来 eff ( t ) 是 「朝着右边」 走的函数, t =0, t =1,, eff ( t ) 是形容 t 天后的药量的,然而实际例子中我们是以当天为参考系,我们是在 「朝着左边」 看的,因而要「反转」。我认为这个「反转」是一个很自然的过程,不算是整个卷积的核心。此外,在计算机领域,至少我接触到的图像处理、机器学习方面用到的卷积,其卷积核(就是例子中不断平移的函数 eff ( t ) 一般是对称的,所以这个反转的概念也不是那么必要。


二、二维卷积


1. 数学定义


二维卷积在图像处理中会经常遇到,图像处理中用到的大多是二维卷积的离散形式:


2. 图像处理中的二维卷积


二维卷积就是一维卷积的扩展,原理差不多。核心还是「(反转),移动,乘积,求和」。这里二维的反转就是将卷积核沿反对角线翻转,比如:



之后,卷积核在二维平面上平移,并且卷积核的每个元素与被卷积图像对应位置相乘,再求和。通过卷积核的不断移动,我们就有了一个新的图像,这个图像完全由卷积核在各个位置时的乘积求和的结果组成。


举一个最简单的均值滤波的例子:


这是一个3×3的均值滤波核,也就是卷积核



这是被卷积图像,这里简化为一个二维5×5矩阵:



当卷积核运动到图像右下角处(卷积中心和图像对应图像第4行第4列)时,它和图像卷积的结果如下图所示:



可以看出,二维卷积在图像中的效果就是:对图像的每个像素的邻域(邻域大小就是核的大小)加权求和得到该像素点的输出值。滤波器核在这里是作为一个「权重表」来使用的。


声明:公众号偶尔转载的文章出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。


网站平台:www.posongbi.com


弹性力学的研究内容及发展概况 谈弹塑性力学的物性方程:理论与实验终于协调了 理论力学、材料力学与结构力学的关系 一名优秀的工程师首先是力学家直观的力学性能-动图讲解 浅谈有限元方法的核心思想:数值近似和离散化 有限元四面体网格与六面体网格的争议 关于疲劳问题的有限元分析清单 如何看“力学” 疲劳失效和SN曲线

路过

雷人

握手

鲜花

鸡蛋
版权声明:免责声明:文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递 更多信息之目的, 并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快处理。
已有 0 人参与

会员评论

 万奢网手机版

官网微博:万奢网服务平台

今日头条二维码 1 微信公众号二维码 1 抖音小程序二维码 1
上海万湖珠宝贸易有限公司 地址:上海市宝山区共和新路4727号新陆国际大厦1003-1007室 网站经营许可证 备案号:沪ICP备11005343号-12012-2019
万奢网主要专注于手表回收,二手名表回收/销售业务,可免费鉴定(手表真假),评估手表回收价格,正规手表回收公司,宝山实体店,支持全国范围上门回收手表
返回顶部