【问题标题】:regarding the trick of using 1*1 convolution关于使用 1*1 卷积的技巧
【发布时间】:2021-02-16 04:48:20
【问题描述】:

我曾经看过以下关于使用1*1卷积的说法,它可以帮助连接不同维度的输入和输出:

例如,要将激活维度 (HxW) 减少 2 倍,您可以使用步长为 2 的 1x1 卷积。

如何理解这个例子?

【问题讨论】:

  • 当您使用步幅为 2 的 1x1 卷积时,由于您在每个交替像素上应用 1x1 过滤器,因此输出的尺寸将是原来的一半。

标签: deep-learning computer-vision pytorch conv-neural-network


【解决方案1】:

您可以使用 2 的步幅。但是,我不会说这是一个技巧,而不是保留信息的神奇解决方案。您丢失一半的信息。我也不会将这种方法限定为池化方法。

内核大小为 1 像素高和 1 像素宽,每次移动 (stride) 两个像素。因此,对于一行上的每个像素,内核将每两个像素输出一个值,即输出该行上一半的像素数。等价于高度,内核将完全丢弃一半的行。


这是一个大小为 1x1 的 2D 卷积示例,在 6x6 输入上的步幅为 2。在左侧,深黄色的 1x1 块是内核的连续位置。右侧是生成的图像,形状为 3x3

【讨论】:

  • 只想指出 OP 自己提到了使用 2 的步幅。可能他们无法正确可视化它,而您的插图有所帮助。
猜你喜欢
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
  • 2017-01-11
  • 2014-10-26
  • 2011-01-02
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
相关资源
最近更新 更多