📜  ML |卷积卷积简介

📅  最后修改于: 2021-05-04 20:40:22             🧑  作者: Mango

让我们从一个基本问题开始本文:“为什么需要填充和跨步卷积?”

假设我们有一个尺寸为nxn的图像。如果使用fxf滤镜对其进行卷积,则获得的图像尺寸为(n-f+1) x (n-f+1)

例子:
考虑一个6 x 6的图像,如下图所示。将使用3 x 3过滤器对其进行卷积。卷积是使用元素明智的乘法完成的。

图1:使用3×3滤镜和s = 0对6×6图像进行卷积后获得的图像


图2:6 x 6滤镜

图3:3 x 3滤镜

图4:元素明智的乘法
但是这种卷积有两个缺点:

  1. 通过每次应用卷积滤波器,原始图像会下沉。也就是说,输出图像的尺寸小于原始输入图像的尺寸,这可能会导致信息丢失。
  2. 图像角落中的像素仅用于输出之一,而不是中间像素,这会导致巨大的信息损失。

为了避免这种情况,需要填充。同样,有时会发生我们将使用fxf滤波器对输入图像非常大的情况进行卷积的情况,这在计算上可能非常昂贵。在这种情况下,使用了大步前进。这就是为什么填充和跨度是卷积神经网络的最基本构建块之一的原因

输出图像尺寸:

让有n×n的图像与FXF过滤器进行卷积。假设填充边框为p像素,跨度为s ,则获得的输出图像的尺寸为

Floor((n+2p-f)/s + 1) x Floor((n+2p-f)/s + 1)

应选择步幅,以便需要相对较少的计算,并且信息损失应最小。
图5:使用3×3滤镜和步幅为2的6×6图像卷积后获得的图像