知行编程网知行编程网  2022-05-22 16:00 知行编程网 隐藏边栏 |   抢沙发  4 
文章评分 0 次,平均分 0.0

如何通俗易懂地解释卷积?

来自 | 知乎    作者 | 1335

https://www.zhihu.com/question/22298352/answer/1071892762

本文仅作学术交流,著作权归作者所有,如有侵权,请联系删除

如何通俗易懂地解释卷积?

我来举个通俗易懂的例子吧。我大一是这么理解记忆的,到现在大四一直没忘记过。

要理解卷积,就必须树立起来“瞬时行为的持续性后果”这个概念。

举个例子。在一个时刻点,我以迅雷不及掩耳之势吃下了一个冰激凌,此时我的体重瞬间增加,之后随着消化吸收能量利用和排泄等生理活动的进行,我的体重又缓慢下降。如下图所示:


如何通俗易懂地解释卷积?


我们把这个函数记为 。我们把基础体重记为0,即没吃冰淇凌的时候体重是0,吃冰淇凌的效果过去了之后体重还是0。我们记每一个冰淇凌带来的瞬间体重增加为 。易知,

如何理解“瞬时行为的持续性后果”呢?在这个例子里,吃冰激凌是瞬间完成的动作,是一个瞬时行为;吃完冰激凌之后的体重的缓慢下降是持续了一段时间的,因此是吃冰激凌这个瞬时行为的一个持续性后果。

此时,只有在0时刻的瞬间吃了一个冰淇凌,在0时刻的瞬间,吃冰淇凌的速度是 ,其中 表示极小的一个时间段;在其他时刻,吃冰淇凌的速度为0。因此,我们可以用一个冲击函数 来表示在这种情况下吃冰淇凌的速度表示的是,当吃冰淇凌的速度为冲击函数 的时候,对我的体重的影响。

接下来我们考虑,我吃冰淇凌的频率很低,且每次只在一个瞬间吃一个冰淇凌,每次都等到体重恢复到原来的程度了再吃一个,那么我的体重变化就是这样子的。


如何通俗易懂地解释卷积?


这种情况下,如果我想要知道每一个时刻的体重,只需要知道我吃每个冰淇凌的时刻 ,再知道吃一个冰淇凌的效果 ,很容易就能求出来了。

接下来,我们考虑,如果我吃冰淇凌的速度恒定为1(注意不是一瞬间吃一个了,不是冲击函数),且时时刻刻都在吃冰淇凌,那么,在我连续吃了时间的冰淇凌之后,我的体重是多少呢?

这个问题是不是有点不好算了呢?之前的冰淇凌增加的体重还没降到0呢,现在的冰淇凌带来的体重就又来了,还一直持续,还是连续的,想想就头疼。

这个时候,要引入两个个原理 。

第一,线性原理。即,我在一瞬间吃冰淇凌的个数,会以线性的方式作用在冰淇凌对体重的影响函数 上。我在一个瞬间吃了1个冰淇凌,之后我的体重变换是 ,如果我在一个瞬间吃了0.5个冰淇凌,之后我的体重变换是 ,如果n个呢,那就是

第二,累加原理。即,冰淇凌的作用效果是可以累加的。即,一段时间之前我吃了一个冰淇凌,经过了一段时间的体重下降,现在我的体重是 。现在我又吃了一个冰淇凌,体重又增加了。假设这个增加是可以累积的(直观上也是可以累积的),那么我的体重就会是 。这就是累加原理。

这时我们来试着计算,在从开始就不停地吃冰淇凌,且吃冰淇凌的速度恒定为1的情况下,在任意时刻 我的体重。

由于我在不停地吃冰淇凌,所以,我们先算,在某时刻 附近的一瞬间 ,我吃的冰淇凌对现在时刻 的我的体重的影响。因为,吃冰淇凌的速度是1,时间是 ,因此,在这一瞬间我吃的冰淇凌的个数是 。那么根据线性原理,在这一瞬间,我吃的冰淇凌对现在时刻 的我的体重的影响就是

那么,根据累加原理,现在时刻 的我的体重就是:从0到 时刻我吃的所有冰淇凌对我的体重的影响的累加,即为:

上面这个式子是不是有点像我们学过的卷积了呢?

我们上面的讨论基于我们吃冰淇凌的速度是常数1,那么,如果我吃冰淇凌的速度不是常数,而是一个连续变化的函数,如在t时刻,吃冰淇凌的速度是 那么,在我连续吃了时间的冰淇凌之后,我的体重是多少呢?

同样,我们先算,在某时刻 附近的一瞬间 ,我吃的冰淇凌对现在时刻 的我的体重的影响。因为,吃冰淇凌的速度是 ,时间是 ,因此,在这一瞬间吃的冰淇凌的个数是 。那么根据线性原理,在这一瞬间,我吃的冰淇凌对现在时刻 的我的体重的影响就是

再根据累加原理,现在时刻 的我的体重就是:从0到 时刻我吃的所有冰淇凌对我的体重的影响的累加,即为:

这就是大家平时接触到的卷积了!

因此,在我的理解下,我将卷积解释为:

一个对象(本文中的吃冰淇凌)对一个系统(本文中的体重)的作用效果满足线性原理、累加原理。该对象对这个系统连续作用了一段时间后,求该系统的状态。这个时候,一个卷积就可以求出来了!

在卷积 中,第一个函数 表示这个对象对系统的作用速度。第二个函数 表示当作用速度为单位冲击函数时这个对象对系统的作用效果。

我们来验证一下第二个函数 的意义。取我吃冰淇凌的速度为单位冲击函数 ,则到时刻 我的体重就是: ,的的确确就是我吃冰淇凌的速度为单位冲击函数时,我的体重的变换。


最后,是一点说明。

课本上标准的卷积其实长成下面这个样子,积分区间是

这个在我这个case里也比较好理解,主要是考虑到时间的物理意义。

第一,理解当 时, 恒成立。这个比较容易理解,因为,我在 时刻吃的冰淇凌,对吃冰淇凌之前也就是 时刻的我的体重是没有影响的。所以,当 的时候,

第二,理解当 时, 恒成立。这个更好理解,就是时间非负性。我是从 时刻开始吃冰淇凌的, 表示我在 时刻吃冰淇凌的速度。的时候,我还没吃冰淇凌呢 ,自然不存在吃冰淇凌的速度这个概念。

所以,

在其他的case里,情况就不一样了。

1、某一个对象的作用域可能不是时间域,不必遵循时间上的因果律。因此,当 时,

2、某一个对象的作用域可能不是时间域,作用域存在负数的可能性。因此,当 时,

基于以上两点考虑,积分区间就是 ,也就是课本上标准的卷积形式了!

<pre style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong>完<strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong></span></strong></span></strong></section><section style="max-width: 100%;letter-spacing: 0.544px;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-bottom: 15px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></section><section style="margin: 5px 32px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">如何评价何恺明团队的最新工作RegNet?<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(87, 107, 149);font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">MIT最新深度学习入门课,安排起来!</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(87, 107, 149);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">有了这个神器,轻松用 Python 写个 App</span></section><section style="margin: 5px 32px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">Manning大神牵头,斯坦福开源Python版NLP库Stanza:涵盖66种语言<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></section></section></section></section></section></section></section></section></section>
如何通俗易懂地解释卷积?

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享