我应该在时代期间调整错误分类样本的损失权重吗?

时间:2017-06-03 19:11:40

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

我正在使用FCN(完全卷积网络)并尝试进行图像分割。在训练时,有些区域被贴错了标签,但是进一步的训练并没有太大帮助它们消失。我相信这是因为网络了解了一些可能不完全正确的功能,但是因为有足够的正确分类的例子,它会陷入局部最小值并且无法离开。

我能想到的一个解决方案是训练一个时代,然后在训练图像上验证网络,然后调整不匹配部分的权重,以在下一个时期更多地惩罚不匹配。

直观地说,这对我有意义 - 但我没有找到任何关于此的文章。这是一种已知的技术吗?如果是,它是如何调用的?如果不是,我缺少什么(缺点是什么)?

2 个答案:

答案 0 :(得分:2)

这在很大程度上取决于您的网络结构。如果使用原始FCN,则由于池操作,对象边界上的分段性能会降低。虽然它们没有按照您提出的路线进行,但是在原始FCN上已经存在相当多的用于图像分割的变体。

在这里举几个例子。一种方法是在FCN输出之上使用条件随机场(CRF)来细化分段。您可以搜索相关论文以获得更多想法。从某种意义上说,它与你的想法很接近,但区别在于CRF作为后处理方法与网络分离。

另一项非常有趣的工作是U-net。它采用了残余网络(RES-net)的一些想法,可以将较低级别的高分辨率特征集成到高级别,以实现更准确的分割。

这仍是一个非常活跃的研究领域。因此,您可以根据自己的想法进行下一次突破。谁知道!玩得开心!

答案 1 :(得分:1)

首先,如果我理解得很好,您希望您的网络适合您的训练集吗?因为这通常是你不希望看到发生的事情,因为这意味着虽然训练你的网络已经找到一些“规则”,使它能够在你的训练集上取得很好的成绩,但这也意味着它没有能够概括,所以当你给它新的样品时,它可能表现不佳。此外,你从不谈论任何测试集。你有没有在训练/测试集中划分数据集?

其次,为了给你一些东西可以研究,在你表现不好的地方惩罚更多的想法让我想到了一些被称为“AdaBoost”的东西(它可能是无关的)。这段简短的视频可能会帮助您了解它是什么: https://www.youtube.com/watch?v=sjtSo-YWCjc

希望有所帮助

相关问题