卷积的公式:
对于函数 f(x) 或 g(x) 在一个区间(比如负无穷到正无穷)的积分, 可以很好理解为 函数曲线和 x 轴 围成的面积。
对于函数 f(x)g(x) 在一个区间(比如负无穷到正无穷)的积分, 可以将一个函数值理解为权重,或简单理解为两个函数先乘积再积分
为了说明的便利,假设 f(x) = 1, x 定义域为 [-2, -1]; g(x) = x, x 定义域为 [0, 1]
此时 f(x)g(x) 在整个区间的积分是 0,因为两个函数积分不为零的区间不相交,相乘后都是 0
为了让有效积分区间有交集,可以移动其中一个或两个函数,比如平移 g(x) 为 g(x+2),此时 g(x+2) 的定义域为 [-2, -1]
这时 f(x)g(x+2) 就有了有效积分值,不再是 0
现在还没完,我们希望 f(x)g(x) 是 头尾的值相乘再积分,不再是 头跟头,尾和尾 的次序。
举例来说,你约你老乡(异性)出来玩时带了你舍友,他也带了他舍友,开始你和你舍友寒暄,你舍友和你老乡的舍友一起聊,
但是最后你喜欢和你老乡的舍友聊,其他两人也是一样,那好,你和你舍友交换下,或者你老乡和他舍友交换下
为了达到这样的效果,把 f(x) 或 g(x) 沿着 y 轴翻转,比如 g(x) 翻转为 g(-x)
但是问题来了,此时两个函数乘积的有效积分区域不相交,乘积的积分为 0,上面说过了,此时可以再把 g(-x) 平移,
比如 g(-x+a)
这时还有一个问题,平移多少呢,平移多了,两个函数乘积还是没有有效积分区域,少了也是一样,所以
两个函数乘积的积分就是 平移量 a 的函数了
到这里,文章一开始的 卷积公式 就出来了
但是有一个疑问,为什么 比如说 g(x) 要翻转?
这应该和实际问题有关,比如 f(t) = 1 和 g(t) =1 即输入和激励函数都是定义在 [0, 1] 上的常量函数,则
\int_{-\infty}^\infty f(x)g(t-x)dx
在 t = 0 时最大,但考虑实际,应该是在 t = 1 时最大,翻转就是为了解决和实际冲突的问题?
在图像处理方面,卷积核和图像直接作用,时间变量在这里相当于卷积核的平移?
在卷积神经网络中,卷积核是网络学习得到的,甚至不用人为设计,真可谓一劳永逸