如何检查训练有素的神经网络

时间:2016-12-06 15:34:21

标签: machine-learning neural-network deep-learning convolution deep-dream

我正在写一些关于googles deepdream的文章。可以通过深度学习的网络进行检查,请参阅research blog google与哑铃相关的示例。
在该示例中,训练网络以识别哑铃。然后他们使用deepdream来查看网络学到了什么,结果是网络训练不好。因为它识别哑铃加手臂作为哑铃。

我的问题是,网络如何在实践中检查?用deepdream或其他方法?

最好的问候

1 个答案:

答案 0 :(得分:1)

通常在机器学习中,您可以在训练过程中未使用的数据集(测试集)中验证您学习的网络。因此,在这种情况下,您将拥有一组用于训练模型的哑铃和没有哑铃的示例,以及在训练过程中未看到的一组(也包括哑铃和没有哑铃)。

当您拥有模型时,可以让它预测版主集的标签。然后,将这些预测标签与实际标签进行比较:

  • 每次正确预测哑铃时,都会增加真阳性的数量,
  • 如果它正确预测没有哑铃,则增加真负值
  • 当它预测哑铃时,但它不应该是一个,增加假阳性的数量
  • 最后,如果它预测没有哑铃,但有一个,你增加假阴性的数量

基于这四个,您可以计算诸如F1得分或准确度等度量来计算模型的性能。 (看看下面的wiki:https://en.wikipedia.org/wiki/F1_score