从数学上讲,卷积是一种运算。
f 和 g f和g f和g的卷积为 ( f ∗ g ) ( n ) (f*g)(n) (f∗g)(n)
其连续定义为:
( f ∗ g ) ( n ) = ∫ − ∞ ∞ f ( τ ) g ( n − τ ) d τ (f*g)(n) = \int_{-\infin}^{\infin}f(\tau)g(n-\tau)d\tau (f∗g)(n)=∫−∞∞f(τ)g(n−τ)dτ
其离散定义为:
( f ∗ g ) ( n ) = ∑ τ = − ∞ ∞ f ( τ ) g ( n − τ ) (f*g)(n) = \sum_{\tau=-\infin}^{\infin}f(\tau)g(n-\tau) (f∗g)(n)=τ=−∞∑∞f(τ)g(n−τ)
示例一:求两枚骰子结果之和为4的概率为:
( f ∗ g ) ( 4 ) = ∑ τ = 1 3 f ( τ ) g ( 4 − τ ) = f ( 1 ) g ( 3 ) + f ( 2 ) g ( 2 ) + f ( 3 ) g ( 1 ) (f*g)(4) = \sum\limits_{\tau=1}^{3} f(\tau)g(4-\tau)=f(1)g(3)+f(2)g(2)+f(3)g(1) (f∗g)(4)=τ=1∑3f(τ)g(4−τ)=f(1)g(3)+f(2)g(2)+f(3)g(1)
其中 f ( τ ) f(\tau) f(τ)为第一枚骰子投出 τ \tau τ的概率
示例二:B站王木头学科学
卷积的作用:对于一个输入不稳定,输出稳定的系统,可用卷积求出系统存量。
应该将卷积当做是过去对现在的影响
f f f是不稳定的输入, g g g是稳定的输出;如 f f f是一个人的进食系统,他想啥时候吃就啥时候吃, g g g是他的消化系统,应该是条稳定的曲线。
卷积神经网络即在图片交给神经网络之前,先对图片进行卷积操作。
我们知道图片的卷积操作是找个卷积核与图片进行对应位置的先相乘再相加。这和上述卷积操作的离散定义相吻合。
卷积可以看做是过去对现在的影响。比如吃饭的例子中,是t时刻之前所有x时间对t时刻产生的影响。 g g g函数里面的参数是 t − x t-x t−x
图片的卷积可以看做是周围像素点对当前像素点产生的影响。
如上图,便是 x − ( x − 1 ) = 1 x - (x-1) = 1 x−(x−1)=1,即为 g g g的第一个参数,第二个参数为 y − ( y − 1 ) y-(y-1) y−(y−1)
即f的左下角位置对应着g右上角的位置;可见这种对应关系有点拧,只需将 g g g函数旋转 180 ° 180° 180°(如下图),二者对应关系就一致了。
故 g g g函数 ≠ \neq =卷积核, g g g函数旋转180度之后才是卷积核。我们的已知卷积核已经把旋转这个步骤忽略了。
注: g g g函数规定了如何影响。
我们知道卷积操作的本质是处理一个像素点和周围像素点的关系。
目前知道其处理完的结果应该是和原图差不多的图片(利用平滑卷积核)。
那卷积为何能提取局部特征?因为还有其他种类的卷积核。
某些卷积核可以对图片进行过滤,把某些特征保存下来,过滤掉其他特征,此类卷积核又称作过滤器。
如下图垂直边界滤波器和水平边界滤波器:
故卷积核是对周围像素点的主动试探和选择,可通过该卷积核把周围有用的特征保留下来。
比如用如下三个卷积核,就可以找出识别字母 x x x所需的三个特征。
综上:卷积有三层含义:
互相关和卷积的区别在于卷积核是否进行翻转,互相关也称作不翻转卷积。
卷积: Y = W ∗ X Y=W*X Y=W∗X
互相关: Y = W ⊗ X Y = W\otimes X Y=W⊗X = r o t 180 ( W ) ∗ X rot180(W)*X rot180(W)∗X
r o t 180 ( . ) rot180(.) rot180(.)表示旋转180度。
神经网络中使用卷积是为了进行特征抽取,卷积核是否进行翻转和其特征抽取的能力无关,但互相关可减少不必要的操作和开销,故深度学习工具中卷积操作其实都是互相关操作。 2 ^{2} 2
接下来介绍一下卷积的变种:
步长 ( S t r i d e ) (Stride) (Stride)是指卷积核在滑动时的间隔。
当图像大小为 ( M , N ) (M,N) (M,N),卷积核大小为 ( m , n ) (m,n) (m,n),步长为 ( u , v ) (u,v) (u,v)时,卷积后的特征图大小为 ( K , L ) (K,L) (K,L)。其中:
K ≤ M − m u + 1 L ≤ N − n v + 1 K\leq \frac{M-m}{u}+1\\ L\leq \frac{N-n}{v}+1 K≤uM−m+1L≤vN−n+1
一般使 K , L K,L K,L取整;
特征图 ( f e a t u r e m a p ) (feature\ map) (feature map)指卷积后的结果
零填充 ( Z e r o P a d d i n g ) (Zero\ Padding) (Zero Padding):在图像两端进行补零。
参考资料:
[1]: B站王木头学科学
[2]: 神经网络与深度学习 - 邱锡鹏