摘要
在开放世界中的图像分类必须处理OD(Overtof-distribution)图像。系统最好能拒绝OOD图像,否则它们会映射到已知类别的顶部并降低可靠性。使用能够拒绝OOD输入的开放集分类器会有帮助。然而,开放集分类器的最佳精度取决于OOD数据的频率。因此,无论是标准分类器还是开放集分类器,重要的是能够确定世界何时发生变化,增加OOD输入将导致系统可靠性降低。然而,在操作过程中,由于没有标签,我们无法直接评估准确性。因此,这些分类器的可靠性评估必须由人类操作者来完成,由于网络不是100%的准确,所以一些故障是可以预期的,这就变得更加复杂。为了使这一过程自动化,在此,我们将开放世界识别的可靠性问题形式化,并提出多种自动可靠性评估策略,以解决这一新问题,只使用报告分数/概率数据的分布。分布式算法可以应用于SoftMax的经典分类器以及开放世界的极值机(EVM),以提供自动可靠性评估。我们表明,所有的新算法都明显优于使用SoftMax平均值的检测。
1 引言
许多在线业务,特别是购物网站和社交媒体,创建了一个平台,用户可以上传一张图片,它将图片分为预定义的类,可能是开放集分类器,除了训练数据集中的已知类,还有一个分布外(OOD)类,也被称为新颖、垃圾、未知、拒绝或背景类,否则系统会忽略。OOD类可以被认为是一个 "背景 "独立类,或者是特征空间的原点[11]。将太多的图像映射到拒绝类或错误分类会降低用户的满意度。但由于操作过程中没有标签,所以没有明显的方法来检测输入分布是否发生了变化。因此,在线业务使用人力来监测图像分类质量,并在质量下降时对系统进行微调。使用人力进行监控是很昂贵的。在其他应用中,例如机器人或车辆导航,由于处理周期太快,人类无法监督,因此必须自动处理因OOD输入增加而降低的可靠性。图1显示了分数分布和为什么阈值会有问题,以及为什么检测已知和OOD混合的变化是困难的。你是否正确地猜到A、B和C是正常批次,而D、E和F分别有3%、5%和20%的OOD数据?
当我们走向操作可靠性的道路时,我们首先要为闭集分类器增加鲁棒性。我们可以通过过渡到开放集分类器,甚至过渡到逐步增加OOD样本的开放世界分类器来进一步提高可靠性[5]。虽然已经有适量的研究在研究分类器可靠性确定的各种定义(见第2节)和定义开放集和开放世界识别算法,但之前的工作没有解决当OOD输入频率有变化时的可靠性问题。在这项工作中,我们通过定义和提出在开放集/开放世界环境下自动评估分类器可靠性问题的解决方案,使操作可靠性更进一步。这种评估是必要的,以确定何时可能是微调和增量学习新类别的时间;然而,增量学习的阈值和过程的选择是特定领域的,超出了本文的范围。
极值理论(EVT)是统计学的一个分支,研究极端事件的行为,即概率分布的尾部[8, 1, 6]。EVT估计比任何已经观察到的事件更极端的事件的概率。EVT是一种从观察到的样本到未观察到的样本的推断。极值机(EVM)[26,16]使用EVT来计算一个点相对于另一个点的类的径向包含概率。因此,EVM已被成功地用于实例级OOD检测。虽然EVM是一个固有的开放集分类器,但它的应用并不广泛,因此,我们也很自然地会问,对于一个标准的封闭集分类器来说,我们是否能检测到分布的转变,从而需要进行再训练。在本文中,我们展示了基于分布的算法,包括应用于SoftMax分数或EVM分数的具有Kullback-Leibler(KL)发散的高斯模型,在检测方面是有效的。我们还为EVM开发了一种新的检测算法,该算法做了伯努利分布假设,并发现它的效果同样好。因此,所提出的可靠性算法可以用于传统的 "封闭集 "和最近的 "开放集 "分类器,用于开放世界的可靠性评估。
我们的贡献
2 相关工作
图像分类器的鲁棒性已经研究了很多年,已知图像分类器的准确性和鲁棒性之间有一个权衡[28]。数据转换对鲁棒性的影响在[3]中得到了证明。稳定性训练是提高鲁棒性的另一种方式[34]。 虽然,通过提高鲁棒性,图像分类器可以提高对已知类别变化的可靠性;在实践中,当OOD图像与其他图像的比例增加时,鲁棒性会下降。
当遇到一个分布外的输入时,大多数图像分类器将OOD映射到一个已知的类别。最近推出的开放集分类器[2, 26, 32, 24, 4, 13, 19],开发了改进的方法来合理检测一个输入是否来自一个新的类别(又称未知或失配),并将其映射到一个拒绝或新的类别标签。在[7]中提出了一个准线性多面体圆锥判别法系列来克服标签的不平衡。在[31]中提出了一个迭代学习框架,用于训练具有Openset噪声标签的图像分类器。网络可以被训练为联合分类和重建[32]。提出的类别条件自动编码器可以提高已知的准确性,同时拒绝未知的东西[24]。[21]中提出了在开放世界中引导探索未知的策略。开放世界学习的鲁棒性在[27]中被研究。一些技术,如[26],允许增量更新以支持这些新的未知数的开放世界学习,但没有提供关于系统的可靠性何时已经降低到需要增量更新的指导。这些开放集图像分类器的质量与已知图像和未知图像的比例直接相关。通过降低这个比例,开放集图像分类器应该进行微调,以便对数据有更好的可靠性。因此,企业应该投资于可靠性评估政策。
有各种关于分类器可靠性的研究[20, 35, 9],这些研究关注的是密集分类器的准确性或错误。这些并不适用于开放世界的设置。还有一些人认为在近集设置中最大的几个分数(极值)[36, 29, 15]弱的近似于在开放集分类中使用极值[2]。在[22]中,可靠性被定义为分类置信度值之间的差异。Matiz 和 Barner 将可靠性定义为预测的置信值[23]。在一篇发表的论文[18]中,作者表明,置信度不等于可靠性,因为图像分类器可能以高置信度将图像放入错误的类别。任何对单一输入的可靠性测量都可以被看作是一种带有拒绝的分类器,它是开放集识别算法的一个子集。
观察成批或移动窗口的数据集,有必要检测与增加OOD样本有关的分布变化。在[25]中,作者将可靠性定义为其标准偏差的倒数,即R = σ-1。Zhang将可靠性定义为拒绝率和准确性之和[33]。这个定义是不可接受的,因为如果图像分类器把所有的图像都归入拒绝类,拒绝率就是1.0,因此,可靠性就是1.0。在[18]中,他们使用了一个假阳性率的点,其中没有失去理想的正确预测。他们对可靠性的定义也因为同样的原因而失败,如果一个图像分类器说每张图像都是负面的(拒绝类),那么它的可靠性是1.0。
将数据视为时间上的序列,可以将可靠性评估问题视为一种专门的分布性变化检测。在变化检测文献中,有各种各样的算法,其中一个重要的算法是KL发散[10]。 因此,虽然有适量的研究在研究分类器可靠性确定的各种定义,但当OOD输入的频率发生变化时,以前的工作没有从开放集分类器的角度解决这个问题。
3 问题的形式化和评估
英国标准机构将可靠性定义为 "一个项目的特性,由它在规定的条件下在规定的时间内执行所需功能的概率表示" [12]。在本文中,我们假设一个训练有素的网络,这样每类的误差在不同的类别中是相对一致的,也就是说,网络的训练使其误差不是类别的函数。有了这个假设和标准的定义,网络对其训练分布中的类间采样频率的变化应该是合理可靠的,所以这种类间的分布性转变并不重要。然而,由于OOD数据不是我们可以在训练中使用的,我们不能假设OOD数据和网络的误差是统一的。如果来自未见过的类的样本的频率发生变化,分类器就会变得不可靠,它们会增加拒绝的频率。因此,我们试图通过与OOD样本有关的分布变化来正式确定可靠性。
定义1 开放世界的可靠性评估 让我们定义T为训练中看到的已知和未知类的混合物,以及U为训练中未见过的类。让x1 ... xn,是来自分布D1的样本,其中x∈D1→x∈T,即D1与训练或一些操作验证集一致,因此根据定义是可靠的。让xN+1 ... xm, 是来自另一个分布D2的样本。让PU(x; D)为概率,给定分布D,x∈U,即x是训练中未见的类的概率。最后,让M是两个概率分布之间的异同度量。
M和δ的选择可能与领域有关,因为错误的代价可能受到分布转变的大小和频率的影响。在本文中,我们探讨了多种模型。按照定义,这并不是说可靠性在增加或减少,只是说它发生了变化。然而,通过一些措施,人们可以确定变化的方向。
从实验的角度来看,我们可以引入不同的分布D2,并根据引入时的地面实况标签来衡量检测率。 给定一串样本,检测分布从可靠到不可靠的变化往往是一个重要的操作标准。我们把可靠性定位误差定义为报告的可靠性变化位置的绝对误差,即如果检测是在时间nr报告的,而地面真相是ng,对于一个给定的试验,绝对误差是
并可以考虑许多试验的平均绝对误差。 我们将按时检测定义为报告在给定试验中绝对误差为零的变化,而早期和晚期检测有一个适当符号的非零误差。
为了实现这样的评估,我们需要某种方法来估计某物脱离分布的概率。一种简单而常见的方法是使用分类器置信度,即SoftMax,如[22]。更好的OOD检测方法是基于已经开发的更正式的开放集分类器,对于这项工作,我们考虑来自极值机(EVM)的模型[26, 16]。虽然EVM可能对单个OOD检测更好,但我们表明所提出的可靠性评估方法对两者都有同样好的效果,并期望它能在任何良好的输入失调概率的每实例估计基础上运行良好。
评估协议
与测试开放集分类器类似,开放世界可靠性评估的测试需要训练时使用的分布内类以及分布外数据的混合。对于测量开放集的评估,我们建议使用大量的类来确保良好的特征;少量的类会因过度拟合产生更多的退化特征。在这个评估中,我们使用ImageNet 2012的所有1000个类作为已知类进行训练和验证。然后,为了创建一个测试集,我们将ImageNet 2012验证集的1000个类作为已知类,将ImageNet 2010训练集的166个不重叠的类作为未知类。我们注意到,虽然一些早期的工作,如[2,26],使用了2012/2010的分割,但他们声称2010有360个不重叠的类。虽然按类名来说可能是真的,但我们的分析显示了许多超类/子类关系或重名的类,例如斧头和斧头。为了确定不重叠的类,我们首先用2012年的分类器处理2010年的类,以确定哪些类有超过10%的测试图像被归入同一2012年的类中。然后我们让人检查这些类是否相同。最终的列表有166个类,在我们的GitHub repo中,网址是https://github.com/ROBOTICSENGINEER/AutomaticOpen-World-Reliability-Assessment。测试使用2012年验证测试数据中不同比例的数据作为已知数,使用2010年的类作为未知数或分布之外的数据。为了评估这些政策,我们创建了24个配置测试。每个配置有10,000个测试。每个测试由4000张图像组成。前2000张图像大部分是已知的,其中20张是未知的(1%)。在后2000幅图像中,未知图像的比例增加,以1%的增量从2%到25%不等。我们使用的批次大小为100。
4 EVM的背景
因为我们使用EVM作为多种新算法的核心,所以我们简单回顾一下它的特性,这样本文就自成一体了。EVM是一个基于距离的无核非线性分类器,它使用Weibull族分布来计算一个点相对于另一个点的类别的径向包含概率。Weibull族分布定义为
其中μ∈R,σ∈R+,ξ∈R-是位置、尺度和形状参数[8,1,6]。EVM为每个类的决策边界提供了一个紧凑的概率表示,以其极端向量为特征。每个极端向量都有一个Weibull分布系列。一个点到每个类的概率被定义为属于该类的每个极端向量的最大概率。
其中Wl,k(x)是x对应于l类中k个极端向量的Weibull概率。如果我们用0表示未知标签,预测的类标签yˆ∈W可以计算如下。
其中τ∈R+是一个阈值,可以在一些验证集上进行优化。如果阈值过大,EVM倾向于将已知图像归入拒绝类,即错误拒绝率高。如果选择的阈值太小,EVM就会把未知图像归入已知类别,即错误分类率高。因此,这个阈值在错误拒绝率和错误分类率的权衡中起着滑块的作用。
5 开放世界可靠性评估的算法 我们处理批次,或数据窗口,并试图检测分布发生偏移的第一个批次。考虑到这个定义,算法的自然系列是估计输入未知的概率,然后估计分布的属性并进行比较。
SoftMax阈值的平均值 神经网络的SoftMax分数是众所周知的,也是对单一实例进行分布外拒绝的最简单方法[14]。跟踪识别分数的平均值是考虑评估输入分布是否发生变化的一种自然方式。为了设计一个可靠性评估器,我们使用这个,这是一个分布的简单估计,即它的平均值。利用这样的观察,如果分布发生变化,包括更多的OOD样本,人们会期望SoftMax的平均分也会减少。在这个方法中,我们收集批次中每个图像的SoftMax的最大值,并将其保存在一个缓冲区中,缓冲区的大小等于批次大小。然后,我们计算出缓冲区的平均值。最后,可以通过将平均值与校准的平均值进行比较来评估可靠性,例如,校准的平均值是为了在具有某种固定混合比的验证集中优化性能。补充材料中的算法1总结了这种方法。
SoftMax分数的截断高斯模型的Kullback-Leibler分歧 最大SoftMax的平均值只考虑分布的第一时刻。因此,如果一批图像的分布发生变化,而分布的平均值保持不变或变化不大,第一种方法就会失败。一种更先进的变化检测方法是使用Kullback-Leibler分歧与更先进的数据分布模型。Kullback-Leibler发散是信息论中最基本的测量方法之一,它测量的是相对熵
其中,x是最大SoftMax,p(x)是测试批的概率密度函数,q(x)是训练数据集的概率密度函数。 对分布进行经典的高斯假设,即让p(x)∼N(μ,σ2)和q(x)∼N(m,s2),我们可以得出KL分歧度为。
补充材料中的算法2总结了这种方法,它是KL发散的直接应用,是对SoftMax值分布之间的一种衡量。观察图1(a)中的分布,人们可能会注意到,该分布根本不是对称的,上面有1的边界,这是模式。因此,它不能很好地用具有简单平均数和标准差的原始数据的高斯模型来描述。这里的重要见解是将其视为一个截断的高斯,并使用矩配方法进行近似,如[17]。
EVM分数的截断高斯模型的KL发散 当然,自然也可以考虑将基于信息论的KL发散方法与基于EVM的每一批的概率估计相结合。补充中的算法4提供了细节。同样,图1(b)中显示的分数分布是有界的,这次有两个不一样的峰值,它们似乎更不像高斯的。这是KL发散和EVM分数的一种新的组合,被列入评估中,以帮助评估EVM概率比SoftMax的信息增益,算法完全相同。
融合KL分歧模型 SoftMax和EVM的KL分歧都是可行的方法,具有不同的误差特征。因此,我们也很自然地要问,是否有办法融合这些算法。对于KL发散,一个简单的方法是归纳出一个双变量分布模型。我们用一个二维高斯模型来做这件事,使用一个完整的2x2共同变量模型,算法5总结了这个方法。补充材料中的图显示了其性能,没有明显的差异。因此,考虑到增加的成本,我们不推荐它。
带有EVM的开放世界新奇性检测 考虑EVM概率的方法有很多,鉴于图1中的数据形状不明显是高斯的,我们试图开发一种具有不同分布假设的方法。我们开发了一种新的算法,我们称之为开放世界新奇性检测(OND),其目的是只使用具有显著新奇性的例子,即高概率的OOD样本。我们不仅从EVM的极值理论概率出发,而且不看所有数据的平均值或高斯模型,只考虑那些输入来自未知类别的值概率超过阈值的样本的平均值。然后我们将其与假设检验结合起来,假设已知和未知输入的伯努利分布。这使我们不仅可以检测到分布上的变化,还可以检测到这种变化是在提高还是降低可靠性。
对于一个给定的领域,我们可以假设已知和OOD类的混合物可以用概率为ρ的伯努利分布来建模。
随着时间的推移,ρ会发生变化。如果ρ是恒定的或减少的,图像分类器仍然可靠。我们可以找到这个假设的误差为
最后,我们提出了通过对ε进行阈值处理来自动评估可靠性的OND策略,见补充材料中的算法3。注意这个算法有额外的参数∆和ρ,需要在训练/验证数据上进行估计。虽然在这里没有评估,但这个算法有一个操作上的优势,那就是它实际上可以通过改变ρ来对目标的预期OOD比率进行微调。
实验:略
8 结论
标准的封闭集和最近的开放集分类器都面临着一个开放的世界,当未知输入的频率分布发生变化时,误差会增加。虽然开放集图像分类器可以将图像映射到一组预定义的类别,并同时拒绝不属于已知类别的图像,但当世界的OOD分布发生变化时,它们无法预测自己的整体可靠性。目前,人们必须分配人力资源来监测封闭或开放集图像分类器的质量。适当的自动可靠性评估政策可以通过减少人力操作来降低成本,同时提高用户满意度。在本文中,我们对开放世界的可靠性评估问题进行了形式化,并提出了多个只使用分数分布数据的自动可靠性评估策略(算法2、3、4和5)。算法3使用阈值化最大EVM类概率的平均值的最大值来确定可靠性。这个算法为了简单起见,忽略了分布的高阶矩。算法4使用分数分布的高斯模型和最大EVM类概率的Kullback-Leibler分歧。我们还评估了算法2,该算法使用SoftMax分数的高斯模型的Kullback-Leibler发散,并表明它也提供了一个有效的开放世界可靠性评估。我们使用SoftMax的平均值作为基线,而新的算法则明显更好。我们用ImageNet 2012检测已知图像,用非重叠的ImageNet 2010检测未知图像。正如任何检测问题一样,在错误或早期检测和真实检测率之间存在着固有的权衡。如果我们调整阈值,使错误检测率为零,那么即使是最好的算法也无法在5.68%的测试中检测到。这是因为未知图像的特征可能在已知图像上重叠,因此,算法无法感知转变。在未来的工作中,我们将研究极值理论而不是高斯假设来设计更好的自动可靠性评估策略。