如何检查经过训练的神经网络

How to check a trained neural network

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

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

最诚挚的问候

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

有了模型后,就让它预测保留集的标签。然后将这些预测标签与实际标签进行比较:

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

基于这四项,您可以计算 F1 分数或准确性等指标来计算模型的性能。 (看看下面的 wiki:https://en.wikipedia.org/wiki/F1_score