【问题标题】:Initializing convolutional layers in CNN在 CNN 中初始化卷积层
【发布时间】:2019-07-05 19:37:00
【问题描述】:

是否有一个函数可以初始化卷积层的权重,以便更多地关注更接近输入图像中心的信息?

我的所有输入图像都居中,因此远离图像中心的像素比靠近中心的像素更重要。

【问题讨论】:

  • 为什么不适当地裁剪图像(例如,torchvision 的CenterCrop)?卷积不是这样工作的,它是一个收集图像中局部模式的滑动窗口。您不能初始化内核以更加重视图像的中心。
  • 卷积层是平移不变的,因此没有初始化方案可以实现这一点。

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


【解决方案1】:

请在此处查看 GIF 以了解卷积的演示:

https://github.com/vdumoulin/conv_arithmetic#convolution-animations

如您所见,无论图像中的位置如何,卷积操作都是相同的,因此权重初始化不能改变图像的焦点。

也不建议急于思考网络将和不需要学习您的任务的内容。有时,在您作为人类可能关注的范围之外,还有大量令人惊讶的信号。我建议训练网络并查看其性能,然后(正如其他人建议的那样)考虑裁剪。

【讨论】:

    【解决方案2】:

    是否有一个函数可以初始化卷积层的权重,以便更多地关注更接近输入图像中心的信息?

    这是不可能的,因为初始化只是为了触发学习过程。 然而,模型是可以具有功能的,实现关注的。

    你不需要初始化 conv。层也是因为在 PyTorch 中这已经完成automatically

    【讨论】:

      猜你喜欢
      • 2018-06-21
      • 1970-01-01
      • 2018-01-26
      • 1970-01-01
      • 2021-06-09
      • 2019-07-10
      • 2017-11-23
      • 2015-07-23
      • 1970-01-01
      相关资源
      最近更新 更多