数学中的卷积和卷积神经网络中的卷积严格意义上是两种不同的运算
两种卷积的区别
- 数学上的卷积,要经过180度旋转,然后对应位置相乘并求和;而卷积神经网络中的卷积不需要经过旋转。
- 数学上的“卷积核”是给定的或者预知的,而卷积神经网络中的卷积是首先随机初始化然后经过训练而学习得到的。
数学上的卷积(这里指二维离散卷积)
原理
公式为
如图1所示,a矩阵是的矩阵,a矩阵经过数学卷积运算后得到c矩阵。现在我们计算
处的值,c矩阵其他值的计算方式与
一致。
图1
根据公式(1),可得到的计算过程如图2,抽象为公式为
图2
会发现图2的计算过程就是图3中颜色相同的块相乘,并求和的过程。
图3
总之,和
卷积的过程是,卷积核
绕中心点旋转180度,然后与
对应位置相乘并求和
应用
- 数学上的卷积能称之为一种运算,一定是因为有着广泛应用的
- 数学上的卷积主要是为了诸如信号处理、求两个随机变量和的分布等而定义的运算,所以需要“翻转”是根据问题的需要而确定的
我们以“丢骰子为例”,使用单个下标的离散卷积,公式为
。我们投掷两颗骰子,求解两颗骰子点数为4的概率,则
那么,两枚骰子点数加起来为4的情况有:
因此,两枚骰子点数加起来为4的概率为:
符合卷积的定义,把它写成标准的形式就是:
卷积神经网络中的卷积
原理
本质上就是卷积核与图片局部区域对应位置相乘并求和,或者为图片的局部区域像素值加权求和,其中权值就是卷积核心。
应用(图像滤波)
- 平滑滤波
- 边缘提取
这两种操作,很容易通过设计特定的“卷积核”,然后将其与像素矩阵的对应像素(不进行旋转)相乘得到
举例说明
我们对下述的图像进行平滑滤波和边缘提取处理
使用下面的卷积核,就可以得到预期的效果
实现原理:
- 平滑滤波,就是将中心像素与周围邻近的像素进行平均,自然能够“削峰填谷”,实现平滑滤波
- 边缘提取,就是将像素值复制n份,然后减去周围的n个邻近像素值。所以说所在区域位置像素值很相近,那么经过卷积操作后,像素值就“减”为0;只有在边缘位置时(与周围像素值相差较大),像素值才不会被“减”为0,进而被保留下来。