瓶颈架构在神经网络中如何工作?


21

我们将瓶颈架构定义为ResNet论文中发现的类型,其中[两个3x3转换层]替换为[一个1x1转换层,一个3x3转换层和另一个1x1转换层]。在此处输入图片说明

我了解将1x1转换层用作尺寸缩减(和还原)的一种形式,这在另一篇文章中进行了解释。但是,我不清楚这种结构为什么像原始布局一样有效。

一些很好的解释可能包括:使用什么步幅,在什么层上?每个模块的示例输入和输出尺寸是多少?上图中的56x56功能图如何表示?64-d是否参考滤波器的数量,为什么与256-d滤波器不同?每层使用多少个权重或FLOP?

任何讨论都将不胜感激!


我认为这可能有助于概括和防止过度拟合。但这只是模糊的回忆。
克里斯,

Answers:


5

由于计算方面的考虑,瓶颈架构用于非常深的网络中。

要回答您的问题:

  1. 上图中未显示56x56特征图。该块来自输入大小为224x224的ResNet。56x56是在某些中间层的输入的降采样版本。

  2. 64-d表示要素图(过滤器)的数量。瓶颈架构具有256-d分辨率,这仅仅是因为它意味着更深的网络,该网络可能需要更高分辨率的图像作为输入,因此需要更多的特征图。

  3. 有关ResNet 50中每个瓶颈层的参数,请参考此图


1
对于未来的读者,我应该提及的是,我认为1x1转换的步幅为1,pad = 0,以保持(WxH)为56x56。同样,3x3转换也要保持步幅= 1,填充= 1,以保持尺寸不变。
derekchen14年

我还是不明白。似乎它们都有相似数量的参数,在这种情况下,我仍然不了解bootleneck层的用途。
user570593'4

-1

我真的认为,纽斯坦的答案的第二点令人误解。

64-d256-d应该参考信道的数目的的输入特征地图 -不输入要素的数量映射。

以OP问题中的“瓶颈”块(图的右侧)为例:

  • 256-d表示我们只有一个输入维度为的输入要素地图n x n x 256。的1x1, 64图中的装置 64 的过滤器,每个是1x1和具有256通道(1x1x256)。
  • 因此,在这里我们可以看到单个过滤器(1x1x256)与输入特征图(n x n x 256)的卷积为我们提供了n x n输出。
  • 现在我们有了 64过滤器,因此,通过堆叠输出,输出特征图尺寸为n x n x 64

编辑:

  • @Michael Chernick:好的,那将是部分答案,因为我试图更正接受的答案。您能否花点时间看一下我的部分答案,然后让我知道我是否正确理解?

不论声誉如何,都不应使用答案作为评论。
Michael R. Chernick
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.