文档章节

卷积

天蚕宝衣
 天蚕宝衣
发布于 2017/03/16 20:54
字数 1693
阅读 23
收藏 1

第一种理解

作者:果程C
链接:https://www.zhihu.com/question/22298352/answer/50940942
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

应题主邀,把我在卷积的物理意义是什么? - 数学的答案搬过来。
——————————————————————————————————————
对于初学者,我推荐用复利的例子来理解卷积可能更好理解一些:

小明存入100元钱,年利率是5%,按复利计算(即将每一年所获利息加入本金,以计算下一年的利息),那么在五年之后他能拿到的钱数是100(1+5\%)^5,如下表所示:
将这笔钱存入银行的一年之后,小明又往银行中存入了100元钱,年利率仍为5%,那么这笔钱按复利计算,到了第五年,将收回的钱数是100(1+5\%)^4,我们将这一结果作为新的一行加入上面的表格中:
以此类推,如果小明每年都往银行中存入新的100元钱,那么这个收益表格将是这样的:
可见,最终小明拿到的钱将等于他各年存入的钱分别计算复利之后得到的钱数的总和,即:

用求和符号来简化这个公式,可以得到:
\sum_{i=0}^{5}{f(i)g(5-i)}, \mathrm{where} \ f(i)=100, g(5-i) = (1.05)^{5-i}
在上式中,f(i)为小明的存钱函数,而g(i)为存入银行的每一笔钱的复利计算函数在这里,小明最终得到的钱就是他的存钱函数和复利计算函数的卷积。
为了更清晰地看到这一点,我们将这个公式推广到连续的情况,也就是说,小明在从0t的这一段时间内,每时每刻都往银行里存钱,他的存钱函数为f(\tau)\ (0\leq \tau\leq t),而银行也对他存入的每一笔钱按复利公式计算收益:g(t-\tau)=(1+5\%)^{t-\tau},则小明到时间t将得到的总钱数为:
\int_{0}^{t} f(\tau)g(t-\tau)d\tau=\int_{0}^{t} f(\tau)(1+5\%)^{t-\tau}d\tau
这也就是卷积的表达式了,上式可以记为(f\ast g)(t)

相信通过上面这个例子,大家应该能够很清晰地记住卷积公式了。下面我们再展开说两句:
如果我们将小明的存款函数视为一个信号发生(也就是激励)的过程,而将复利函数g(t-\tau)视为一个系统对信号的响应函数(也就是响应,那么二者的卷积(f\ast g)(t)就可以看做是在t时刻对系统进行观察,得到的观察结果(也就是输出)将是过去产生的所有信号经过系统的「处理/响应」后得到的结果的叠加,这也就是卷积的物理意义了。

第二种理解

看到科学网上几篇关于卷积的博文,也颇为受益。的确,卷积是一个极为重要的运算,其定义事实上是自然的。但由于我们教材中过于拘泥于形式,从而使得学生感觉这是个天上掉下来的东西。我第一次接触卷积之时便有此感觉。不过,在后期逐渐接触之中,形成了一些自己的浅见,并在课堂之上经常提起。仅记于此,以为交流之便宜。

首先,卷积的定义是如何而来?事实上,卷积命名让人有些疏离之感。但是,倘若我们将其称之为“加权平均积”,那便容易接受的多。的确,卷积的离散形式便是人人会用的加权平均,而连续形式则可考虑为对连续函数的加权平均。假如我们观测或计算出一组数据。但数据由于受噪音的污染并不光滑,我们希望对其进行人工处理。那么,最简单的方法就是加权平均。例如,我们想对数据x_j进行修正,可加权平均为
w/2*x_{j-1}+(1-w)x_j+w/2 *x_{j+1}。
此处,w为选择的权重,如果可选择0.1等等。
这里实际上是用两边的数据对中间的数据进行了一点修正。上面的公式,实际上是两个序列在做离散卷积,其中一个序列是
......0,0,w/2,1-w,w/2,0,0......,
另一个序列是
.....,x_1,x_2,x_3,......
将上述简单的思想推而广之,便是一般的卷积。若把序列换为函数,则就是我们通常卷积的定义。这时候,你可以考虑为一个函数对另外一个函数做加权平均。不过,一个扮演的是权重角色,另一个则扮演被平均的角色。

那么,卷积为什么重要?犹如乘积无处不在,卷积也是无处不在的。究其原因就便是:卷积是频域上的乘积!
但凡对Fourier变换有些了解,便知道一个函数可从两个方面来看:时域和频域。Fourier变换宛如西游记中的照妖镜,任何函数在其面前都会展现出另外一面。所以,很多时候我们如果对一个函数看不清楚,那就在照妖镜里看一下,做一下Fourier变换,便会豁然开朗。而函数的性质,经过Fourier变换之后,也会有与之相对应的性质。例如,函数的光滑性经过Fourier变换后,便是其在无穷远处趋向于0的速度。那么,函数的乘积经过Fourier变换后,便是卷积!因此,卷积实际上是乘积的另外一面,不过这一面需要借助照妖镜才可以看到,所以让我们感觉有些陌生。卷积,Fourier变换与乘积是紧密联系在一起的。因此:有卷积的地方,便会有Fourier变换;有Fourier变换的地方,便会有卷积!想想Fourier变换的应用范围,便不难理解卷积的重要。

说了半天,我们的学生,甚至于数学专业的大学毕业生,为什么会对卷积感觉莫测与神奇呢?我在以前的博文里面提过,我们大学的数学教育似乎比较轻视Fourier变换。事实上,我们承袭了中学数学教育的传统,喜欢在技巧性强的地方大做文章。高等数学里面,两个地方学生花费时间甚多:一是中值定理,一是不定积分。因为这两处最容易出现技巧性强的题目。但是,对于Fourier变换这种带有新思想的地方却着力不足。就像我前面所说:有卷积的地方,便会有Fourier变换。也就不难理解,学生对卷积陌生的根本原因是教学方面对Fourier变换的轻视。

© 著作权归作者所有

天蚕宝衣
粉丝 29
博文 246
码字总数 181517
作品 0
天津
私信 提问
Python3机器学习实践:卷积神经网络篇二 初识卷积

一、定义 卷积,和加减乘除一样,是一种数学运算。下面给出它的定义:f,g的卷积记为(f*g),其中: 其中[a, b]为函数的定义域,连续情形下f(x), g(x)在定义域区间内是可积的。 二、示例:高利...

AiFan
05/10
0
0
由浅入深:CNN中卷积层与转置卷积层的关系

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由forrestlin发表于云+社区专栏 导语:转置卷积层(Transpose Convolution Layer)又称反卷积层或分数卷积层,在最近提出的卷...

腾讯云加社区
2018/11/22
22
0
TensorFlow系列专题(十二):CNN最全原理剖析

一、 前言 卷积神经网络(convolutional neural network,CNN)是一种专门用来处理网格结构数据(例如图像数据)的前馈神经网络,是由生物学家Hubel和Wiesel在早期关于猫脑视觉皮层的研究发展...

人工智能遇见磐创
03/29
0
0
深度可分离卷积(Xception 与 MobileNet 的点滴)

前言 从卷积神经网络登上历史舞台开始,经过不断的改进和优化,卷积早已不是当年的卷积,诞生了分组卷积(Group convolution)、空洞卷积(Dilated convolution 或 À trous)等各式各样的卷...

Kaami
2018/08/12
0
0
【图解AI:动图】各种类型的卷积,你认全了吗?

卷积(convolution)是深度学习中非常有用的计算操作,主要用于提取图像的特征。在近几年来深度学习快速发展的过程中,卷积从标准卷积演变出了反卷积、可分离卷积、分组卷积等各种类型,以适...

雪饼
06/20
684
0

没有更多内容

加载失败,请刷新页面

加载更多

总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
23分钟前
2
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
26分钟前
2
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0
JAVA 利用时间戳来判断TOKEN是否过期

import java.time.Instant;import java.time.LocalDateTime;import java.time.ZoneId;import java.time.ZoneOffset;import java.time.format.DateTimeFormatter;/** * @descri......

huangkejie
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部