带深度的二维卷积

机器算法验证 机器学习 神经网络 卷积神经网络 卷积
2022-04-15 21:02:36

假设我有一个卷积神经网络,其中我的输入图像尺寸为 25x25x3(3 个颜色深度通道),并通过 5 个内核的卷积层,每个 3x3

每个内核的深度将始终与输入深度相同,所以我的内核实际上是 3x3x3

该层将在 25x25x3 输入图像上对每个 3x3x3 内核进行卷积。每个内核卷积将产生一个 25x25x1 的特征图(然后将其堆叠以产生 25x25x5 的输出体积)

我对二维卷积(深度为 3)如何生成只有深度为 1 的特征图感到困惑

我在想象空间维度上的单独卷积(3x3 超过 25x25,分别针对 3 个深度通道中的每一个)。跨 3 个深度通道的空间卷积如何浓缩到 1 个输出深度通道(对于每个内核)?那里有什么操作?是简单的总结吗?最大限度?或者是其他东西?

2个回答

您已经了解单个内核的尺寸是 3x3x3,并且有 5 个内核。所以每个内核是一个 3x3 像素的 2D 窗口,每个内核中有 3 个分量,一个对应于每个颜色通道(R、G、B)。当内核被放置在输入图像上的特定位置时,它的 3 个分量与相应通道的像素数据相乘(点积),为每个分量(或通道)生成一个标量数。所以你得到 3 个标量,每个通道一个。然后将这些标量相加,并将表示滤波器偏差的另一个标量添加到和中。最终结果是单个标量。

您可以在此页面的卷积演示部分下查看动画演示。使用Toggle Movement按钮暂停动画并查看输出是如何生成的。

卷积运算 在上面的屏幕截图中(随机拍摄),应用卷积的图像通道部分用蓝色勾勒出来。过滤器 W1 的三个组件用红色标出。如果您将每个 3x3 蓝色矩形的点积与它的过滤器组件相乘,您将得到一个标量。为每个通道获得的 3 个标量与滤波器 W1 的偏差一起汇总,显示为滤波器组件下方的单个单元格。结果是一个标量,数字 2,在最后一列中以绿色勾勒。

文本还描述了卷积是如何进行的。

我有这个完全相同的问题,并来到这里寻找答案。@farhanhubble,您的回答非常有帮助。这是在您共享的站点的图像上绘制的卷积数学,只是为了进一步澄清。W1 与第一个像素位置的输入的卷积。

W1 与第二个像素位置处的输入的卷积。

图片来自与 farhanhubble 的答案相同的站点。