RGB 图像的 2D 卷积背后的数学

数据挖掘 神经网络 美国有线电视新闻网
2022-03-06 13:56:41

我阅读了许多讨论为什么 2D 卷积层通常用于神经网络中的 RGB 图像的线程。我读到可以使用 3D conv 层。

我不明白的是它背后的数学。

假设您的图像是 300 x 300,并且kernel_size = (3, 3)图层filter = 16and 。将是 (300, 300, 3) 因为有 3 个通道 (RGB)。Conv2DInput_shape

  1. 由于内核是二维的,因此一次只能在 1 个通道上进行卷积。那是对的吗?
  2. 3 个通道是否应用/卷积了相同的内核?如果是这样,应该有 3 个输出,但输出的维度是 (298, 298, 16)。它是 3 个通道的平均值吗?
2个回答

如果您的图像是 3D,那么您的内核也应该是 3D。当然,您也可以应用 2D,其中相同的过滤器将应用于所有通道。

图片来源(内容也不错)。 在此处输入图像描述

但是,通常您将 3D 滤镜应用于 3D 图像。因此,如果您将 16 个大小为 3x3x3 的过滤器应用于大小为 6x6x3 的图像,那么您将得到 16 个大小为 4x4 的输出(更新:输入图像的第三维(即 RGB 通道为 3)应与过滤器的维数匹配, 这也应该是 3)。如果您应用 16 个大小为 3x3 的过滤器,您将获得 16 个大小为 4x4x3 的输出。它将分别处理每个通道。但是当您使用 3D 过滤器时,您的卷积运算输出取决于所有三个维度。换句话说,您将 3x3x3 过滤器中的 27 个点与图像中相应的 27 个点(3x3 像素及其 3 个通道)相乘,然后将它们相加以获得结果。因此,您可以处理另外 1 个维度(16x4x4x3 而不是 16x4x4)。

您的问题 1 的答案是肯定的,您将一次应用过滤器 1 个通道。

检查链接以获得 Andrew NG 的非常好的解释。

实际上,每个过滤器都是内核的集合,该层的每个输入通道都有一个内核。

卷积层中的每个滤波器产生一个且仅一个输出通道

过滤器的内核在它们各自的输入通道上滑动,然后将处理后的版本加在一起形成一个通道。过滤器的内核每个产生每个通道的一个版本,过滤器作为一个整体产生一个整体输出通道。

参考了解更多。