过滤器/内核数量与特征图数量之间的关系

数据挖掘 神经网络 深度学习 美国有线电视新闻网
2021-09-21 04:08:14

Yann LeCun 的感知和推理的层次模型

上图来自Yann LeCun 和 Marc'Aurelio Ranzato的“深度学习教程”(参见第 73 和 81 页)。

我不明白为什么 64 个内核(从输入到第 1 层)产生 64 个特征图,而 4096 个内核(第 2 层到第 3 层)产生 256 个特征图。

2个回答

在链接的教程中,每个内核都是二维的,并从其输入应用于单个通道/特征图。为了构建一个特征图,输出来自Ninput_channels卷积被加在一起 ​​- 这很重要,因为它允许构建在前一层中的特征图之间具有交互的特征图。

从图中可以看出,第一个输入层有 1 个通道(灰度图像),因此第 1 层中的每个内核都会生成一个特征图。但是,一旦在第 2 层中有 64 个通道,那么在第 3 层中生成每个特征图将需要将 64 个内核加在一起。如果您希望在第 3 层中有 256 个特征图,并且您希望所有 64 个输入影响每个输入,那么您通常需要 64 * 256 = 16384 个内核。值 4096 来自图中未显示的架构的其他方面,例如将特征图分成组,以便每个输出层只处理一小部分输入层。

卷积网络的演示文稿和教程之间存在一些符号和表示差异,具体取决于来源。这是其中之一。其他来源可能会将内核排列成 4D 结构:Ninput_channels×Noutput_channels×Kwidth×Kheight 使内核和输入/输出之间的关系更加明确。

显示相同内容的另一种方法是将内核视为 3D,并确保内核深度 Kdepth 与输入通道数相同 Ninput_channels - 这在数学上与总结多个单独的卷积相同,并且维度可能是 ñp_CH一个nnels×ķw一世dH×ķHe一世GH×ķdepH

卷积层的输出计算如下:

深度(特征图的数量)等于该层中应用的过滤器数量(因为每个添加的通道都是一个过滤器的特征图的结果)

根据以下等式计算宽度(高度相同)

W=W-F+2小号+1在哪里F是感受野(过滤器宽度),是填充和小号是步幅。

有关更多详细信息,请参阅以下链接中的示例

CS231n 用于视觉识别的卷积神经网络