从数学上讲,卷积就是一种运算
在信号与系统中卷积的公式如下:
对应相乘再相加,这是在坐标轴上进行的
对于在图像中这样一个二维矩阵的卷积中,我们可以想象的就是卷积神经网络中的“平滑问题”
如下图所示为对图像做平滑,一个典型的8领域平滑,其结果中的每个值都来源于原对应位置和其周边8个元素与一个3X3矩阵的乘积,也就相当于对原矩阵,按照顺序将各区域元素与W矩阵相乘,W 矩阵为
这也被称作核(Kernel, 3X3)
最后我们可以得到如右图所示的数字“3”。
如果依次平滑过去便可以得到卷积图的像素值数值变化。
内核放置在图像的左上角。内核覆盖的像素值乘以相应的内核值,并且乘积相加。结果放置在与内核中心相对应的位置的新映像中。下图显示了第一步的一个例子。
卷积过程中的一个步骤内核被移动一个像素,这个过程被重新设置,直到图像中的所有可能的位置被过滤如下,这次是水平的Sobel过滤器。请注意,在卷积图像周围存在空值的边框。这是因为卷积的结果放在内核的中心。为了解决这个问题,我们使用了一个叫做“padding”或者更常见的“零填充”的过程。这仅仅意味着在原始图像周围放置了一个零边框,以使其四周变宽。卷积然后按正常进行,但是卷积结果现在将产生与原始大小相同的图像。
内核在执行卷积的图像上移动卷积后发现边缘空白,为了使图像有原来的尺寸,边缘填0,也即padding, 但是填完了再利用“核”再做一次卷积,所以执行下面的操作:
使用零填充使得生成的图像不会缩小所以池化层的目的也比较明确,就是减小尺寸,去除padding产生的数据信息。
现在我们有了我们的卷积图像,我们可以使用色彩映射来显示结果。在这里,我只是规范了0到255之间的值,以便我可以应用灰度可视化:
卷积的结果神经网络中,卷积+池化是特征提取器,全连接层是分类器.
参考文献:
[1] https://www.zhihu.com/question/39022858
[2] https://mlnotebook.github.io/post/CNN1/
[3] https://www.zhihu.com/question/22298352
网友评论