对卷积的理解
姓名:马鑫蕊
学号:19011210098
【嵌牛导读】在泛函分析中,卷积(Convolution)是通过两个函数f 和g 生成第三个函数的一种数学算子,表征函数f 与g经过翻转和平移的重叠部分的面积。从数学上讲,卷积就是一种运算,因为涉及到积分、级数,所以看起来觉得很复杂。机器学习、信号处理、通信、或自动控制相关的专业也都会碰到卷积这个概念,就连当前最热门的人工智能中的卷积神经网络,都含有卷积这个词。那么,卷积到底是什么呢?有什么用呢?
【嵌牛鼻子】卷积 离散 连续
【嵌牛提问】如何通俗易懂地理解卷积呢?
【嵌牛正文】
卷积的定义:我们称为,的卷积
其连续的定义为:
其离散的定义为:
这两个式子有一个共同的特征:
只看数学符号,卷积是抽象的,不好理解的,但是,我们可以通过现实中的意义,来习惯卷积这种运算,正如我们小学的时候,学习加减乘除需要各种苹果、糖果来帮助我们习惯一样。
下面我们看看现实中,这样的定义有什么意义?
离散卷积的例子:掷骰子
有两枚骰子,把这两枚骰子都抛出去,求:这两枚骰子点数加起来为4的概率是多少?
表示第一枚骰子,表示投出1的概率,表示投出2的概率,依次类推,同理,表示第二枚骰子。那么,两枚骰子点数加起来为4的情况有:
因此,两枚骰子点数加起来为4的概率为:
把该情况写成卷积的标准形式就是:
连续卷积的例子:做馒头
楼下早点铺子生意太好了,供不应求,就买了一台机器,不断的生产馒头。
假设馒头的生产速度是 f(t) ,那么一天后生产出来的馒头总量为:
馒头生产出来之后,就会慢慢腐败,假设腐败函数为 ,比如,10个馒头,24小时会腐败:
第一个小时生产出来的馒头,一天后会经历24小时的腐败,第二个小时生产出来的馒头,一天后会经历23小时的腐败。
如此,我们可以知道,一天后,馒头总共腐败了:
这就是把该例子写成连续卷积的标准形式。
如果还是对卷积的含义不太明白,下面是对卷积的另外解释:
卷积表示为y(n)=x(n)∗h(n) ,x(n)表示的是系统的输入,y(n)表示的是系统的输出,h(n)表示的是相应函数。
使用离散数列来理解卷积会更形象一点,我们把y(n)的序列表示成y(0),y(1),y(2),⋯, 这是系统响应出来的信号。
同理,x(n)的对应时刻的序列为x(0),x(1),x(2),⋯
其实我们如果没有学过信号与系统,就常识来讲,系统的响应不仅与当前时刻系统的输入有关,也跟之前若干时刻的输入有关,因为我们可以理解为这是之前时刻的输入信号经过一种过程(这种过程可以是递减,削弱,或其他)对现在时刻系统输出的影响,那么显然,我们计算系统输出时就必须考虑现在时刻的信号输入的响应以及之前若干时刻信号输入的响应之“残留”影响的一个叠加效果。
假设0时刻系统响应为y(0),若其在1时刻时,此种响应未改变,则1时刻的响应就变成了y(0)+y(1),叫序列的累加和(与序列的和不一样)。但常常系统中不是这样的,因为0时刻的响应不太可能在1时刻仍旧未变化,那么怎么表述这种变化呢,就通过h(t)这个响应函数与x(0)相乘来表述,表述为x(m)×h(m−n),具体表达式不用多管,只要记着有大概这种关系,引入这个函数就能够表述y(0)在1时刻究竟削弱了多少,然后削弱后的值才是y(0)在1时刻的真实值,再通过累加和运算,才得到真实的系统响应。
再拓展点,某时刻的系统响应往往不一定是由当前时刻和前一时刻这两个响应决定的,也可能是再加上前前时刻,前前前时刻,前前前前时刻,等等,那么怎么约束这个范围呢,就是通过对h(n)这个函数在表达式中变化后的h(m−n)中的m的范围来约束的。即说白了,就是当前时刻的系统响应与多少个之前时刻的响应的“残留影响”有关。
当考虑这些因素后,就可以描述成一个系统响应了,而这些因素都可以通过一个表达式(卷积)描述出来。
参考资料:
https://baike.baidu.com/item/卷积/9411006?fr=kg_qa
https://www.zhihu.com/question/22298352