CNN网格回归 - 卷积神经网络的局限性?

时间:2018-03-05 12:05:43

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

我正在研究使用CNN的(高能物理相关)问题。

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

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

我尝试过不同的CNN架构,例如类似于U-net架构(https://arxiv.org/abs/1505.04597),还有各种卷积层的连接等。

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

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

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

您是否有任何建议可以避免此问题并改善网络性能?

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

非常感谢!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

CNN不知道您想要一个出色的结果。如@Thomas所述,MSE往往会给您模糊的结果,因为这是损失函数的本质。给出模糊的结果不会在MSE中造成很大的损失。

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

如果您真的想要一个清晰的结果,则添加手动步骤(非最大抑制(NMS))会更容易。实际上,可以使用3x3的Box-max滤镜。