从数学上讲,卷积就是一种运算。( x * w )( t )称为 x 和 w 的卷积,其连续的定义为
离散的定义为
若将一幅二维图像 x 作为输入,使用一个二维的卷积核 w ,则有
可以看出,一个卷积包含两个输入,如上面的 x 和 w 。 x 表示输入, w 表示卷积核,即kernel。
卷积在工程和数学上有非常多的应用,在信号处理领域,任意一个线性系统的输出,都是输入信号和系统激励函数的卷积。本书关注的是数字图像处理领域,所以卷积操作都指图像领域的二维卷积。
一个二维卷积的实例如图2.4所示,卷积就是在图像上滑动,取与卷积核大小相等的区域,逐像素做乘法然后相加。
图2.4 二维卷积的实例
在图2.4中,原始图像大小是5×5,卷积核大小是3×3。首先卷积核与原始图像左上角3×3对应位置的元素相乘求和,得到的数值作为结果矩阵第1行第1列的元素值,然后卷积核向右移动1个单位(步长为1),与原始图像前3行第2、3、4列所对应位置的元素分别相乘并求和,得到的数值作为结果矩阵第1行第2列的元素值,以此类推。
注意,这里不区分卷积和互相关,它们的区别只在于权重算子是否进行了翻转,但在机器学习中,其是否翻转并不影响算法学习效果。