【问题标题】:CNN Regression on Grid - Limitation of Convolutional Neural Networks?CNN 网格回归 - 卷积神经网络的局限性?
【发布时间】:2018-08-13 02:08:42
【问题描述】:

我正在使用 CNN 解决(与高能物理相关的)问题。

为了理解问题,让我们考虑these examples here.

左侧是 CNN 的输入,右侧是所需的输出。所以网络应该对输入进行聚类。这种聚类背后的实际算法(即我们如何获得所需的训练输出)非常复杂,我们希望 CNN 学习这一点。

我尝试了不同的 CNN 架构,例如类似于 U-net 架构 (https://arxiv.org/abs/1505.04597) 的一种,但也尝试了卷积层的各种串联等。

输出总是非常相似(对于所有架构)。 Here you can see some CNN predictions.

原则上,网络性能相当好,但正如您所见,在大多数情况下,CNN 输出由几个直接相邻的填充像素组成,在真实情况下永远不会(!)发生。

我一直使用均方误差作为所有网络的损失函数。

您有什么建议可以避免这个问题并提高网络性能?

或者这是对 CNN 的普遍限制,而在实践中使用 CNN 无法解决这样的问题?

非常感谢!

【问题讨论】:

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


    【解决方案1】:

    我的建议是拆分工作。首先使用 U 形 NN 在二进制分割任务中找到激活(就像在你的论文中一样),然后对找到的激活进行回归以找到它们的最终值。根据我的经验,这比对大图像进行回归要好得多,因为正如您所观察到的,MSE 会导致输出模糊。

    【讨论】:

    • 谢谢!但是我可能应该使用多类分割而不是二元分割,因为我可以在一张图像中拥有多达 10 个这些不同的对象/集群,对吧?还是你的意思是别的?
    【解决方案2】:

    CNN 不知道您想要一个清晰的结果。正如@Thomas 所提到的,MSE 往往会给你带来模糊的结果,因为它是损失函数的本质。给出一个模糊的结果不会在 MSE 中引入大的损失。

    一个简单的修改是使用 L1 损失(绝对差而不是平方误差)。它具有恒定的梯度,而 MSE 的梯度随着误差而减小。

    如果您真的想要一个清晰的结果,添加手动步骤会更容易 - 非最大抑制 (NMS)。在实践中,一个 3x3 box-max 过滤器可能会做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-03
      • 2015-04-09
      • 2018-03-09
      • 2020-05-26
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多