【问题标题】:Convolutional Neural Network Training卷积神经网络训练
【发布时间】:2018-05-01 02:15:57
【问题描述】:

我有一个关于卷积神经网络 (CNN) 训练的问题。

我已经设法使用tensorflow 训练了一个网络,该网络接受输入图像(1600 像素)并输出与之匹配的三个类之一。

使用经过训练的类的变体测试网络会产生良好的结果。然而;当我给它一个不同的 -fourth- 图像(不包含任何经过训练的 3 图像)时,它总是返回一个随机匹配的类。

我的问题是,我如何训练网络来分类图像不属于三个训练图像中的任何一个?一个类似的例子,如果我针对mnist 数据库训练一个网络,然后给它一个字符“A”或“B”。有没有办法区分输入不属于任何一个类?

谢谢

【问题讨论】:

    标签: tensorflow machine-learning neural-network conv-neural-network training-data


    【解决方案1】:

    另一个解决方案是检查你的 CNN 在给出其他东西时通常会给出什么结果。我相信最后一层必须是 softmax 并且你的 CNN 应该返回三个给定类的概率。如果这些概率中没有一个接近于 1,这可能表明这是其他情况,假设您的 CNN 训练有素(在预测错误标签时必须因过度自信而被罚款)。

    【讨论】:

      【解决方案2】:

      您可能有三个输出节点,并选择最大值(one-hot encoding)。这有点不幸,因为它的输出数量很少。无法识别的输入往往会导致相当随机的输出。

      现在,有了 3 个输出,大致可以得到 7 个结果。您可能会得到一个高值(3 种可能性),但无法识别的输入也可能导致 2 种高输出(也有 3 种可能性)或大致相等的输出(也有 3 种可能性)。因此,随机输入很有可能(约 3/7)在输出节点上产生一个模式,而您只希望这是一个可识别的输入。

      现在,如果您有 15 个类和 15 个输出节点,您将看到大约 32767 个未识别输入的可能结果,其中只有 15 个对应于预期的 one-hot 结果。

      这是缺乏训练数据的根本原因。如果您的训练集有 3 个类别之外的示例,您可以将其转储到第 4 个“其他”类别并进行训练。这本身并不是一个可靠的指示,因为通常理论上的“其他”集合很大,但是您现在有两种互补的方式来检测其他输入:通过“其他”输出节点或 11 个模棱两可的输出之一。

      【讨论】:

        【解决方案3】:

        您的模型将始终像您的标签一样进行预测,例如,如果您使用 MNIST 数据训练您的模型,当您进行预测时,预测将始终为 0-9,就像 MNIST 标签一样。

        您可以做的是首先训练一个不同的模型,其中包含 2 个类别,您将在其中预测图像是属于数据集 A 还是 B。对于 MNIST 数据,您将所有数据标记为 1,并添加来自其他不同来源(不是 0-9)的数据并将它们标记为 0。然后训练模型以查找图像是否属于 MNIST。

        【讨论】:

        • 感谢您的回复。我正在考虑这个问题,但如果我要创建另一个模型,这意味着我需要在其他所有方面对其进行训练(这在某种程度上是不可能的)。我正在考虑另一种解决方案,如果我将图像裁剪为 4 或 5 段,然后针对不同的类别训练它们(例如,段 #1 与输出节点 #1 匹配,依此类推)。我想在呈现不同的图像时,这会使在每个片段中找到完全匹配变得更加困难。
        • 您不必在“其他所有内容”上对其进行训练,您只需使用足够多的示例来增强您的训练集,这些示例与“其他内容”更相似,而不是您的原始课程。跨度>
        【解决方案4】:

        卷积神经网络 (CNN) 在训练后从定义的类中预测结果。无论准确性如何,CNN 总是从其中一个类返回。我遇到过类似的问题,你可以做的是检查准确度值。如果精度低于某个阈值,则它属于无类别。希望这会有所帮助。

        【讨论】:

        • 这很可能不起作用。如果你的 CNN 分类器得到一个它没有训练过的输入,它通常会非常确定它是它知道的某个类。您需要一个单独的课程,其中包含不代表您的培训课程的随机图像。此外,CNN 并不“总是从一类中返回”。您可以很好地在 CNNS 之上进行回归。
        猜你喜欢
        • 2019-01-14
        • 1970-01-01
        • 1970-01-01
        • 2016-07-21
        • 2020-09-10
        • 2016-08-17
        • 2017-08-31
        • 2016-07-01
        • 2016-07-24
        相关资源
        最近更新 更多