赞
踩
在高等数学中,卷积是一个泛函数,具体来说就是通过两个函数f和g生成第三个函数的一种数学运算,其本质是一种特殊的积分变换,表征函数f与g经过翻转和平移的重叠部分函数值乘积对重叠长度的积分。卷积有如下的定义公式:
将f函数和g函数设定为如下两个曲线。
可以设f(t)曲线为我们一天的时间与进食量的关系曲线。g(t)为时间与剩余食物的多少。
从图像可以看出,假设要求t时刻胃里的食物残余量。在x时刻吃了一份米饭,那么在t时刻胃里米饭的剩余量为g(t-x),这仅仅是x时刻大米饭的剩余量。对以上进行扩展的话,t时刻之前所有进食的东西到t时刻剩余量我们可以以积分的形式进行表达。也就是
∫
0
t
f
(
x
)
g
(
t
−
x
)
d
x
\int_0^t {f(x)g(t-x)} \,{\rm d}x
∫0tf(x)g(t−x)dx,对以上的解释进行一个总结的话我们就可以得出如下结论:
t时刻的食物剩余量与t时刻之前所有时刻的进食量有关,也就是t时刻之前的进食量越多,其剩余量越多。
这也就是卷积的基本表达形式。反应到图像即为如下图:
上图链接两个函数图像的白色线就是t时刻之前吃的东西与剩余多少的关系点。,将上图进行翻转会出现如下图。
原分享者认为,之所以叫卷积是因为有一个反转的操作,也就是向上或者向下叠的操作,也就是“卷”的动作,所以为卷积。
上图就是一个卷积核在图像上进行卷积的一个操作。点对点相乘,后将相乘的结果进行一个相加的操作。那么这又和卷积有什么关系呢?如下图:
在第一节我们例子里也说过,t时刻的食物剩余量与t时刻之前所有时刻的进食量有关,也就是t时刻之前的进食量越多,其剩余量越多。
抽象为卷积核如上图,可以将卷积核中的中心核定义为t时刻剩余的食物量。周围一圈的数值可以定义为t时刻之前所有时刻的进食量,在原始的卷积公式
∫
0
t
f
(
x
)
g
(
t
−
x
)
d
x
\int_0^t {f(x)g(t-x)} \,{\rm d}x
∫0tf(x)g(t−x)dx可以看出,f(x)可以与g(t-x)相消,得到t的。反应到如上图可以看出,我们如果想要求f(x-1,y-1)这个点对应的g(x)时,我们可以假设x-1,y-1与那个数相加会得到x,y。可以得出是1,1。也就是f(x-1,y-1)对应的g(x)为g(1,1),综上我们可以得出如下图的公式:
那么我们从图中可以看出,这两两对应的点与传统卷积对应的方式是反的。所以需要将g函数,也就是上图中我们绘制的"卷积核"进行反转180度才能够对应上,如下:
这个操作与数学上的卷积”卷“的动作一致了。综合卷积函数的解释我们可以得出卷积核的意义所在。也就是卷积核所对应源图像上中心点的数值受其周围点影响。也可以解释为中心点对周围点的一个试探,即如果想要考虑这个特征点时,我们就将此点对应的数值调高,反之则调低。而卷积核,也就是g函数就是规定影响多少的这个函数。也就将图像卷积与泛函数的卷积定义联系了起来。
上幅图是经过卷积前后的对比,整体上来看,其主要特征基本相似,但是并不是完全相等。但是缩小到局部来看,他们确实相等的。这也是神经网络中局部特征提取的一个过程。如下图所示:
上图中左面的数字也就是卷积核中的数值矩阵(水平边界过滤器、垂直边界过滤器),而右面的部分是对应卷积核在特征提取完之后特征图。卷积核之所以称为过滤器,是因为它可以过滤掉与卷积核特征不一致的特征局部特征,如下图:
当卷积核运算到蓝框时,他们的特征是完全对应的,则卷积运算后的数值相对较高图中显示为1。反之如下图,结果为0.55。
将具有不同特征的卷积核运用到同一图像时,则会出现如下情况:
最后三个输出结果相加,则就出现了本节开头的那个特征了。这也是为什么神经网络需要多个卷积核来进行特征提取的原因,多个卷积核可以获得不同的特征,来过滤出最想要的特征图效果。
本文仅对学习进行记录,原版出自王木头视频分享,侵删!感谢分享,受益匪浅。
原版链接如下:
https://www.bilibili.com/video/BV1VV411478E?spm_id_from=333.999.0.0&vd_source=daca59f06bb2dadbd77ae52d8da8748c
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。