Chapter 54、Attributing error to one part

将错误归因于某个组件

让我们继续使用这个例子:

图片1

假设猫检测器输出如下边界框:

图片2

因此猫种类分类器被给予如下裁剪图片,于是其错误地输出y=0,即图片里没有猫。

图片3

猫检测器做的很差。然而,技术娴熟的人仍可以从如此差的裁剪图片中识别出暹罗猫。所以我们应该将该错误归因于猫检测器,还是猫种类分类器,还是归因于两者?答案是模棱两可的。

如果像这些模棱两可的样例数量较小,你可以做任何想你想做的决定并得到类似的结果。但这里有一个更正式的测试,它可以让你更明确地将错误归因于某个组件。

  1. 用手工标注的边界框替代猫检测器的输出。

图片4

  1. 用相应的裁剪图片去跑猫种类分类器。如果猫种类分类器仍将其错误分类,那么将错误归因于猫种类分类器。否则,将错误归因于猫检测器。

换句话说,进行一项试验,实验中给猫种类分类器提供一个“完美的”输入。有两种情况:

  • case 1: 即使提供了“完美的”边界框,猫种类分类器仍错误地输出y=0。这种情况下,很明显猫种类分类器是错的。
  • case 2: 提供一个“完美的”边界框,猫种类分类器现在可以正确输出y=1。这表明如果只有猫检测器提供一个更完美的边界框,那么整个系统的输出才是正确的。因此,将错误归因于猫检测器。

通过在错误分类的开发集图片上执行该分析,你现在可以明确地将每一个错误归因于一个组件。这允许你评估由于流水线中每个组件引起的错误分数,因此决定在哪儿集中注意力。

results matching ""

    No results matching ""