我试图理解 2d 卷积与 3d 卷积的定义。根据 Pytorch,我看到了“最简单的定义”,看起来如下:
- 二维卷积图
- 3d 卷积图
这对我来说很有意义。然而,令我感到困惑的是,我本以为图像会被视为 3D 张量,但我们对它们应用了 2D 卷积。这是为什么?为什么通道张量不是“图像清晰度”的一部分?
我还在https://forums.fast.ai/t/what-is-the-difference-between-2d-vs-3d-convolutions/52495上问了这个问题。
我试图理解 2d 卷积与 3d 卷积的定义。根据 Pytorch,我看到了“最简单的定义”,看起来如下:
这对我来说很有意义。然而,令我感到困惑的是,我本以为图像会被视为 3D 张量,但我们对它们应用了 2D 卷积。这是为什么?为什么通道张量不是“图像清晰度”的一部分?
我还在https://forums.fast.ai/t/what-is-the-difference-between-2d-vs-3d-convolutions/52495上问了这个问题。
以这种方式从输入到输出的角度来看可能不是最好的。因此,让我们从我们的目标开始,以及这些 ND 卷积如何实现这一目标(注意这些都是我自己的话,可能不是最好的表述)。
假设:存在高度相关的地方关联
目标:拥有一个利用这些本地关联的线性模型
解决方案: ND 卷积
说明: ND 卷积通过仅连接局部节点/神经元来利用我们的局部性假设。它是一个滑动窗口这一事实使我们能够学习任何位置的过滤器以及可重复使用的过滤器。
您的问题: ND 卷积中的 N 在哪里很重要?:当使用 ND 卷积时,我们假设在N
维
中存在这个局部性,仅此而已。因此,我们将输入的所有其他组件连接到一个稠密的物质中,因为我们没有假设可以在这个空间中工作。现在转到您提到的形状,例如 2D 卷积的输入和输出。我们正在卷积一个大小的过滤器与激活形状图(只是指激活图的数量,它们之间没有关联)。我们用内核上的通道,因为我们没有对通道之间的位置做出任何假设。另一方面,在3D卷积中,我们假设局部性是 3 维的,所以我们的内核将是 ()。这些内核大小实际上是由输入大小决定的,内核的维度数量实际上会匹配输入(减去批次),因为它需要密集匹配每一个。
您现在可能在想,在 Torch 中情况并非如此:这是因为很少需要输入与您提到的不同的 2D 卷积,因此他们只为奇异形状实现了它。我希望这可以清除卷积并帮助您不仅理解 2 维和 3 维卷积,还可以理解所有 N。