学习过信号处理的人知道,信号上的卷积操作是通过一个信号旋转后再在信号上进行移动逐渐得到重叠后的新信号。与图像上的卷积操作不同,图像上的卷积操作实际上是图像的感受野与卷积核进行加权和,终其原因是因为,数学上的卷积操作与图像上的卷积操作不同。
一、数学中的卷积
数学中的卷积操作分为两种,一种是连续函数进行卷积操作。另外一种是离散卷积操作。图像中由于是离散的点,以下将着重介绍离散卷积操作的详细步骤。
1、准备工作
矩阵的卷积准备一共是分为两个,一个是待处理矩阵X
;一个是3x3
的卷积核。
卷积核的矩阵如下;
待处理矩阵X;
2、执行第一步,将卷积核翻转180°,也就是成为了
第二步,将卷积核h的中心对准x的第一个元素,然后对应元素相乘后相加,没有元素的地方补0。
第三步,每个元素都像这样计算出来就可以得到一个输出矩阵,就是卷积结果
最后结果
二、卷积神经网络中的卷积
其本质上是一种互相关函数计算或者说图像处理中的spatial filter
图像的卷积中是没有对卷积核进行反转的,而是直接通过图像对感受野上的值进行加权和,本质上图像处理是对图像上的特征进行特征提取,其反转的意义不大。
三、数学卷积和图像卷积的区别
最直观的就是:是否进行翻转,然后再进行对应元素的加权求和
其实本质上来说是两者的用途不同
- 数学中的卷积,主要是为了诸如信号处理,求两个随机变量和的分部等而定义的运算,所以需要“翻转”是根据问题的需要而确定的。
- 卷积神经网络中的“卷积”是为了提取图像的特征,其实只是为了借鉴”加权求和“的特点
- 最后一点是,
数学中的”卷积核“都是已知或者给定的,i卷积神经网络中的”卷积核“本身就是为了训练学习的参数,不是给定的,根据训练学习的,那么不反转和反转这项工作本身不存在什么本质的意义,因为无论是否进行反转,其对应的卷积核的参数都是未知数。