上一篇文章对神经网络算法有了初步的理解,也为涉及重要的数学知识点。然而,进一步理解的的话我们需要理解卷积。
如果仅仅是为了理解卷积神经网络。大概的理解卷积是足够了的。但是本篇的目的是卷积神经的前沿和探索新的选择。做到这一点要很深入的理解卷积。
幸运的是,借助几个例子,卷积就能简单的呈现。
从丢球来学习
设想从一定的高度丢球到地面,这仅仅是一维的运动。如果丢一个球然后在落地的上方再次丢下去,有多大的可能移动距离c呢?
让我们进一步突破这个想法。在第一次丢下,从开始的位置有f(a)的概率下落a个单位,f可能是离散函数.
在第一次丢球之后,我们捡起球,在第一次落地的上方以一个高度再次丢下,相对于起落点球可能落下b个单位g(b),从不同的高度落下的话,g可能是一个不同沟通离散函数。
我们假定第一次落球的固定距离是a,两次总共的下落距离和是c,第二的固定距离是b,且a+b=c。这个场景的结果可能就是简单的f(a)⋅g(b).1。
咱们来考虑一个离散的例子。我们想总的下落距离c=3。如果第一次的下落距离是a=2,则第二次必须是b=1总和才能是a+b=3。这个关系可能是f(2)⋅g(1)。
但是这不是保证总距离是3的唯一的方式。球第可以一次下落个单位,第二次两个单位。或者第一次0单位,第二次3个单位。a,b可以是任何值,只要满足a+b=3。
可能是f(1)⋅g(2) 和 f(0)⋅g(3)。
为了找到所有满足总距离是3的可能性,我不能仅仅只考虑一种达到c的可能性。代替的,我们找所有将c差分为两次下落a,b的肯能性,并计算每种可能性的总和。
... f(0)⋅g(3) + f(1)⋅g(2) + f(2)⋅g(1) ...
我们已经知道每种可能性只是简单的f(a)⋅g(b)。所以计算每种a+b=c总和的肯能行的总和,我们使用如下方法表示:
事实证明,我们是在做卷积。特别的是,我们是做f和g在c处的卷积:
如果我们替换 b=c−a,我们将得到:
这是卷积的标准定义2。
使其更具体一些,咱们可以考虑使用球落地的位置。第一次落在a中间的概率是f(a)。如果落在a,则有g(c−a)概率落在c。
获得卷积,我们考虑所有的位置。
可视化卷积
有一个很好的技巧,帮助更容易的理解卷积。设想球落在一个距离开始位置确定的距离x上,落到这里的概率是f(x)。
首先先观察。假设球自开始的地方下落距离x的概率是f(x)。然后它从距离x的地方落下的概率是f(−x)。
如果我们知道第二次落在c点,则第一次是落在a第二次的概率是?
所以之前的位置是a的可能性是g(−(a−c))=g(c−a)。
现在,考虑所有可能的落地点对于最后落在c处的影响。我们知道第一次落在中间位置的可能性是f(a)。我们也知道第一次在a时第二次落在c处概率是f(c-a).
如上总结,我们得到卷积。
这种方式的优势是将在c处的卷积在一张图中就可视化。通过移动下半部分,可以评估在另一个c处上午卷积。者有利于我们整体理解卷积。
例如,我们可以看到上下对其的时候达到顶峰。
/**写不下,待下一篇**/