本文主要是介绍Toward Open Set Recognition,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘要解读
1.到目前为止,在计算机视觉中,几乎所有基于机器学习的识别算法的实验评估都采用了封闭集识别的形式,即在训练时已知所有测试类。对于视觉应用来说,一个更现实的场景是开放集识别,在训练时存在不完整的世界知识,在测试时未知的类可以提交给算法。解读:陈述背景,指明为什么要进行开放集识别。
2.本文探讨了开集识别的性质,并将其定义形式化为约束最小化问题。解读:将开放集识别定义为经验风险+开放空间风险最小化问题
3.现有算法不能很好地解决开放集识别问题,因为它需要很强的泛化能力。作为解决方案的一个步骤,我们引入了一个新的1-vs-set机器,它雕刻一个决策空间的边缘距离的1-class或binary svm的线性核。这种方法适用于计算机视觉的几个不同的应用,其中开放集识别是一个具有挑战性的问题,包括对象识别和人脸验证。我们在这项工作同时考虑了这两个问题,大规模跨数据集实验在Caltech 256 and ImageNet sets上执行,以及LFW数据集上执行人脸匹配实验。与现有1-class and binary SVMs相比,实验证明了在相同的任务上,提出方法的有效性。解读:提出一个解决方案1-vs-set机器,并且在对象识别和人脸验证两个领域上,验证了提出方法的有效性
引言解读
1.识别和分类是计算机视觉中的常见术语。有什么区别吗?在分类中,我们假设存在一组特定的类,我们必须在这些类之间加以区别。在识别方面,我们假设有一些类我们可以在更大的空间里识别我们不识别的东西。激发我们工作的一个问题是:一般的物体识别问题是什么?当然,这个问题是《vision》的中心主题。根据Duin和Pekalska[1]的说法,一个人应该如何获得多阶层的认可仍然是一个开放的问题。它应该作为一系列的二进制分类来执行,还是通过检测来执行,在那里搜索每一个可能的类?当某些类被错误地采样、完全没有采样或未定义时,会发生什么。解读:识别和分类的区别是,识别应该可以发现未知类,而分类只需要区分已知类。
2.一般术语识别(以及本文所考虑的特定术语对象识别和人脸验证)表明,该表示可以处理不同的模式,通常是通过区分特征来定义的。它还建议,要识别的模式将在一般设置中,在视觉上与许多类混合。然而,对于某些问题,我们不需要也往往不可能掌握所有可能的类的知识(见图1)。例如,在生物学家的识别应用中,可能会对某一种鱼感兴趣。然而,分类器必须将相关设置中所有其他可能的对象的集合视为潜在的否定。类似地,面向安全的人脸匹配的验证问题将感兴趣的目标限制在一个声明的身份,而将所有其他可能的人作为潜在的冒名顶替者。在处理一般的对象识别,在无数的未知对象中有一个有限的已知对象集,组合和配置,标记一些新的,新奇的,或未知的应该总是一个有效的结果。这就导致了所谓的开放集识别,与那些做出封闭世界假设或使用封闭集计算的系统相比。解读:背景,产生开始集的原因与场景(人脸匹配与生物学家识别鱼)
3.对于许多视力问题,研究人员认为一个从所有类实例,并随后贴上整个空间以二进制的方式是积极的(þ1)或负面(1)。相比之下,一个开集场景类,不仅实例,在测试中没有出现在训练。假设我们可以收集积极类的例子是合理的,但是消极类的数量和种类没有很好地建模。重要的区别在于,用周和黄的话说,所有正面的例子都是相似的;每个反面的例子都有它自己的反面。此外,即使已知所有的否定类,从实用主义的观点来看,我们通常不能有足够多的积极例子来平衡所需的否定样本。在任何一种情况下,我们都试图将问题从闭世界假设推广到开集。解读:引出一种开放集识别类型,即正类只有一类,负类无穷多类,部分未知,部分已知。出现这种情况有两个原因,1是正类都类似,负类很多,各不同,2是即使正类能收集与负类一样多,也是不平衡的。
4.目标检测也许是最常见的视觉问题,但它并不存在于特定的封闭设置中。检测的目的是定位图像中感兴趣的目标。因为阴性检测不是感兴趣的。这个问题是开放的,而不是封闭的。流行的检测方法用一个相对适度的正例子采样和一个非常大的(通常是数以百万计的)来自数千个不同类的负例子采样来训练二进制分类器。当有可能对负类进行良好的采样时,这是一种合适的策略,但由于对可能的负类的了解非常不完整,在许多情况下它可能会导致不准确。此外,我们通常会留下一个负的集合偏差[3]这是由我们所知道的大量的班级抽样所定义的。从某种意义上说,当我们对可能类的领域有非常有限的知识时,检测就成为开放集识别的一种特殊情况,只有一类是我们感兴趣的。解读:给出上一段中开放集识别类型的实例,即目标检测,我们感兴趣的是有目标的正类,只有一种,而没有目标的负类有无数类。
5.图1描述了几种常见的开放程度不同的视觉问题。直觉上,一个只有单一兴趣类别的问题比一个有许多兴趣类别的问题要不那么公开。然而,我们可能遇到的未知类的数量也应该起到关键作用。让我们通过考虑要识别的目标类的数量、训练中使用的类的数量和测试中使用的类的数量来形式化一个特定问题或数据空间的开放性。解读:定义开放性,如公式1,与未知类的数目(testing-training)正相关。
6.上面的公式产生了百分之百的开放性(值在0到100%之间),其中百分之百代表一个完全封闭的问题,值越大,问题就越开放。对于固定数量的培训课程,增加测试类的数量会增加开放性,就像增加需要识别的目标类的数量一样。在培训过程中,增加课程的可用性会降低开放性。通过对(1)取平方根,开放性随着类数量的增加而逐渐增长(如果是线性的,那么在这个公式中,开放性会迅速向只有中等数量的类的1移动,这是没有意义的)。表1显示了我们工作中考虑的不同例子的开放性值,以及图1中问题谱系中的其他例子的开放性值。每个类的训练实例的数量对给定分类器的准确性很重要,但不是类的属性问题本身,因此不是这个定义的一部分。对于几乎任何不受约束的现实问题,测试类的数量可以随着开放性接近100%而快速增长。解读:解释开放性公式,并给出几个表格案例。同时说明,每类的训练样本数目虽然影响准确率,但并不影响开放性。
7.开放集识别问题的潜在解决方案必须对未知类和已知类进行优化。与典型的多类分类的一个重要区别是,一般的开集多类解决方案必须能够将输入标记为已知的类之一或未知的类。仅仅返回最有可能的类是不够的:分类器还必须支持拒绝。我们在这里提供的第一个见解是,支持向量机(SVMs)定义了半空间,并将分类远离任何训练样本的数据。虽然我们需要支持强泛化的解决方案,但对于与给定标签相关的样本与已知数据的距离应该有一个限制。解读:引出开放集识别的第一个方案,SVM,SVMs能够划分半平面,训练样本一侧,非训练样本一侧。但决策边界应该有进一步的限制,即训练样本的每一侧都应该有距离限制,使得与训练样本在一定距离内的能够划分为训练类。
8.根据培训数据衡量的经验风险,是经典定义和优化的风险。然而,对于开放集识别来说,考虑如何扩展模型以捕获不充分的泛化或专门化带来的未知风险是至关重要的。这与二元分类器方法不同,二元分类器方法试图最大化边际,边际是正决策边界和负决策边界之间的差距。虽然最大裕度对于闭集问题非常有效,但这种方法通常会导致对开放集问题的过度泛化。例如,在图2中,包含未知数的空间(?)可能会被标记为狗,因为没有什么限制正向标签传播,如果决定边界存在于鸟、青蛙和狗之间。支持向量机只考虑已知的负性,找到一个平面来分离正类和负类。人们可能会把最大裕度方法看作是假设所有的未知点都有相等的可能是正的或负的,基于最近的点,即使这个点非常远。对于一个来自未知类的样本,比如浣熊,这是一个错误的假设。我们认为,要想解决开放集识别问题,需要在训练样本的合理支持之外,最小化代表学习识别函数f的开放空间。解读:封闭集使用经验风险,而对于拥有未知类样本的开放集来说,使用SVM的决策平面回导致未知类被随意分在两个半空间中(相当于决策空间被过度泛化),带来未知风险,因此开放集识别方法应该对这个风险有限制,例如在狗这一类的四周都设置一个边界。(以图中浣熊为例)
9.这项工作的主要目标是发展一个全面的理解开放集识别在监督学习设置。构造了该问题的第一个形式化,并给出了一个扩展已有的具有线性核的1类和二值支持向量机来解决开放集识别问题的经验案例。生成的1 vs-set机器是向解决方案迈进的一步。具体来说,我们重新讨论一类和二分类支持向量机的开放集识别问题,并解决泛化/专业化问题通过一种新的学习技术。我们引入开放空间风险的概念,然后将训练数据的经验风险与开放空间的风险模型相结合,使一个误差函数最小化,而不是将泛化/专业化问题作为支持向量机训练函数的误差最小化。已知的类训练数据表示1-vs-set的集合。解读:该文的目标是提出并形式化开放集识别问题,然后扩展现有ocsvm,bisvm来适应这个问题(主要扩展是解决泛化和专门化的问题),并且通过经验风险+开放集风险最小化来实现,而不是直接促进泛化或专门化,扩展的方法称为1-vs-set)
10.提高整体开集识别错误,我们1-vs-set配方平衡周围的未知类以获得一个核心优势决定边界SVM的基地,专业产生的半无限通过添加另一个飞机,然后概括或专业两架飞机(图2所示)来优化经验和开放空间的风险。该过程利用开放集训练数据和风险模型来定义一个新的开放集边界。第二个平面使1 vs-set机器避免了图2中浣熊分类的过度泛化。整体优化还可以对A的原始裕度进行调整,以减少开敞空间的风险,避免出现owl这样的负面影响。解读:介绍具体解决思路,即通过在原来SVM的决策平面外,在训练样本另一侧再增加一个决策平面。并通过这两个平面的调整(专门化或泛化)来最小化经验风险和开放空间风险。
11.我们将本文的其余部分组织如下:首先,我们将在第2节中形式化开放集识别问题。在第3节中,我们将介绍开放集识别和机器学习的相关工作,包括视觉和模式识别。在第4节中,我们形式化了我们的边际泛化和专业化的理论模型,以发展1-vs-set机器。我们将该模型与常用的SVM模型进行比较,用于对象识别和人脸验证问题,并在第5节给出结果。我们将在第6节中总结和讨论未来工作的一些想法。解读:1-3介绍问题,4-6介绍解决方案、效果、结论。
开放集识别形式化解读
1.假设各种类对象的图像被处理成d维表示,即。我们测量特征向量x2 IRd。我们假设我们有可数许多类y标记,这存在一个概率测度Pðx;yÞðx;yÞ。为了简单起见,我们将重点关注单个类的开放集识别,并且为了不失一般性,我们假设这个类的标签为1。此外,我们假设示例可以是正的或负的,但不能同时是正的或负的(没有嵌套类)。代表积极的输入空间x 2 P如果Pðx;1Þsupy Pðx;yÞ,即。,输入感兴趣的类是最有可能的类。这里的识别可以看作是找到一个有效的近似。解读:定义概率测度,定义正例输入空间,并说明开放集识别为找到一个近似的正例输入空间。
2.让f: IRd7!根据Smola[5],我们的总体目标是找到一个函数f,使我们的期望误差最小化。更准确地说,考虑一个损失函数Lðx;y;fðxÞÞ定义错误标签的惩罚一个向量x。
解读:定义可测识别函数,并说明理想情况下可测函数的目标是最小化上述(3)中的分类误差(理想风险,暂不区分经验风险和开放集风险)
3.不幸的是,由于我们没有考虑到联合分布Pðx;yÞ,我们不能直接最小化(3),在基本配方问题是无法解决的。在这一点上,传统的方法是改变问题,只使用我们知道的东西。正如Smola指出[5,部分1.2.1),唯一的出路是近似(Pðx;yÞ]的经验概率密度函数……因此,将理想风险最小化转换为将经验风险最小化。不幸的是,即使是最小化经验风险,一般来说,都是不合适的[5][6]。因此,之前的工作([6]、[5]、[7]等)利用了其他知识,比如假设标签空间至少局部平滑,并将经验风险最小化规范化,使其具有良好的适用性。例如,假设f来自于一个特定的再生核希尔伯特空间(RKHS), H是一种添加光滑约束的方法,并且最小化f2h上的经验风险(带有一个正则化项),然后很好地构成。解读:指明理想情况下存在的问题(特征与标签的联合分布是未知的,尤其对于未知的类别,更不可能知道其概率分布),而现有方法忽略未知样本(忽略开放空间风险),仅考虑已知样本(考虑经验风险)。并且还对标签空间进行空间(再生核希尔伯特空间)和局部平滑假设(实际情况下,已知标签之间可能存在未知标签,而不是连续的已知标签,可能不满足假设)。
4.这就回避了这样一个问题:如果近似理想风险公式的唯一方法是经验风险,或者当我们从(3)的理想风险最小化到我们的开放集识别公式时,是否有其他已知的东西可以/应该被添加。我们倾向于对f做最小的假设,但是直觉上,对于任何已知的类,将开放空间标记为正是有风险的。开集识别的洞察力是认识到,我们知道别的东西:我们知道积极的训练样本存在,我们知道在开放空间(空间远离已知数据)我们没有一个好的基础分配一个标签为感兴趣的类。解读:不作平滑假设,而是仅利用我们已知的情况/事实,即1)我们知道正的训练样本在哪和2)任何远离正样本的标签是不确定的。
5.在正式确定开放空间风险之前,我们注意到最大边际概念可以被视为使用弱关于开放空间的知识,其中我们预期在决策边界附近会有错误。因此,这些算法寻求最大化已知数据和决策边界之间的距离。这种最大裕度假设对于类之间的空间很好,但并不能真正解决其余的开放空间。一般来说,在远离任何已知样本的地方仍然有无限的空间,而且在这些开放空间的另一边甚至没有一点可以用来定义边界。我们寻求将这些风险正规化并加以管理。解读:指明现有方法(SVM,找到最好的分类边界)的决策边界仅利用了较少(弱知识,仅考虑决策/分类边界附近可能会有误差,而忽略远离分类边界的未知样本/开放空间的可能误差)的已知知识,因为对于远离分类边界的空间来说,可能没有未知类别的点来定义决策边界(所以直接被忽略了)。
6.开放空间提供什么信息?如果一个oracle提供了开放空间的函数ðxÞ1,那里没有一个已知的类存在,疲软的识别系统:ðxÞ1可以建造,即使没有训练样本。结合训练数据,估计可能会更好。理想情况下,人们可能希望将开空间定义为子空间irdp,但这只是将定义简化为识别问题。从正数据估计开放空间直接导致一个单类公式,如我们在本文中研究的1类支持向量机。但是请注意,线性1类SVM的开放空间仍然是半空间。我们估计开放空间的方法在精神上是相似的,但不同的是我们将标记的空间缩小到小于半空间,并且在开放空间的定义中包括了其他训练数据,以及在随后的识别函数中。解读:以正例数据进行识别的方法是支持向量机生成的半空间,但本文进一步缩小半空间。
7.虽然我们不知道联合分布Pðx;yÞ(3),看看开放空间的风险的一个方法是一个弱的假设:远离已知的数据差异[8]的原则表明,如果没有理由分配概率,选择都应得到相同的概率。在我们的例子中,这意味着在开放空间的所有点上,所有标签(已知和未知)都是等可能的,因此风险应该相应地计算。然而,我们不能在无限空间上有常值概率分布必须是可积的,并被积分到1。我们必须以不同的方式来形式化开放空间(例如,通过确保问题是恰当的,然后假设概率与相对勒贝格测度[9]成比例)。因此,我们可以考虑从开放空间到完整空间的度量,并定义与此比例成比例的风险惩罚。解读:现有方法对未知的样本,只根据在哪个半平面,就分配错误的标签概率。而在开放空间中,我们不能直接分配概率,因为未知样本属于哪一类的概率应该是均等的(由于无限空间上分配常数概率是不可取的,因此本文分配的概率根据距离正例样本的距离进行递减。
8.考虑一个例子与大型球包含标记为开放空间的积极O和所有的积极训练的例子,以及给定的可测量的识别函数f, fðxÞ1识别类的y和fðxÞ0当y并不认可。开放空间ROðfÞ风险可以定义为
其中开放空间风险被认为是正标记开放空间与正标记开放空间(包括正例子附近的空间)整体测量的比率(根据勒贝格测量)。我们越是给开放空间贴上积极的标签,开放空间的风险就越大。方程(4)只是一种理论可能性。其他定义也可以捕捉开放空间风险的概念,有些可能以更精确的方式这样做。本例不包括损失函数、类条件密度或类先验,但可以定义这样的开放空间风险模型。这样的选择可能允许更精确的估计和/或简化多类公式,但由于未知的类有未知的先验和未知的联合分布,它们将需要引入更多的假设和复杂性。在4.2节中介绍了一个具体的线性内核开放空间风险模型。
解读:定义整个空间包括So,正例空间S0-O和开放空间O,因此开放空间风险被定义(也可以有其他定义)为开放空间被标记为正例与/整个空间标记为正例的比例(也就是说开放空间风险主要是指开放空间被标记为正例)。
9.虽然我们希望将开放空间中未知的风险降到最低,但我们也需要在训练数据上的经验风险RE(数据误差测量)之间取得平衡。这种经验风险通过某种类型的性能度量结合数据错误(经验的错误概率和损失函数)。研究人员研究了支持向量机和其他学习模型,这些模型优化了更一般的数据误差测量[10]。虽然这里的陈述适用于许多措施,我们的实施可以优化多种不同的经验风险模型,我们认为最适合开放集问题的是f措施的逆。我们将在第5节中更详细地讨论这个乐谱。经验风险也可以包括硬约束的说明(例如,至少满足一个特定的错误接受或错误拒绝率),我们将在下面讨论。总之,我们的目标是平衡开放空间中的未知风险和经验(已知)风险。在这个意义上,我们正式地定义开集识别问题如下。
在(5)中,我们将开放集识别定义为在允许识别函数的空间上将开放集风险最小化,它结合了开放空间风险和经验风险。考虑到函数f2h的假设,这个定义平衡了已知的^ V [^K,以及与未知类U相关的开放空间风险RO。解读:定义开放集识别问题为最小化经验风险和开放集风险,同时本文主要针对SVM方法(也可以是洽谈方法)优化其开放集风险,以f-score为目标。
10.我们还可以对训练错误(经验风险)进行明确的硬约束。这在某些应用程序中是有用的,其中一种错误可能被限制在操作使用(例如,最大允许的错误接受率)。满足这样的约束并不容易在(5)的最小化公式中指定。我们可以通过使(5)服从训练集中观察到的误差的分数的约束来增加这个约束
解读:给出可以进行经验风险约束的选项,例如假阴律、假阳率等(对于本文不重要)。
11.在定义开放集问题时,评估方法必须选取u中的一些未知类作为样本。因此,它们实际上是已知的,但被排除在训练之外。这在精神上类似于一般的机器学习评估,我们必须有已知的数据,而这些数据在训练中被认为是未知的。一个人可以做支撑型交叉验证或简单地有单独的测试数据。类似地,开放集识别可以保留一些类进行测试。注意,正式定义并没有精确地定义未知类的空间,我们不假定它们是枚举的,更不用说建模了。但是,重要的是要定义包含未知类的计算范式。如果我们从不测试未知的类,那么解决方案看起来可能过于受限。因此,对问题开放性为0的某集合T进行测试是评价开放集识别的必要条件。理想情况下,评估应该考虑具有多种开放水平和多种大小的训练和测试数据的测试集。解读:说明开放集方法评估方法,首先应该要在所有类中,选一部分作为未知类,只在测试集中出现,而不在训练集中出现来模拟开放集情况。其次,应该评估不同的开放性情况,即调整未知类的比例。
相关工作解读
1.文献中对开放集识别的处理有限,几乎所有的前期工作都集中在评价上。在评估协议之外,我们不知道任何先前的正式定义。在评价研究中人脸识别方法,Phillips等人的[11],一个典型的框架,开放集身份识别描述。Phillips等人所描述的开放集识别中评估的关键是操作阈值的定义所有的分类分数必须达到或超过才能被认为是匹配的。包含阈值的开放集识别系统不会天真地接受最高分数作为匹配,允许它处理样本与已知类不对应的情况。当然,选择仍然依赖于识别系统及其运行环境的要求。
可以考虑使用一系列阈值构建完整的性能曲线(CMC、DET、PR等),并通过选择曲线上的一点来匹配实例。这一想法不仅局限于人脸识别,而且为许多研究跨视觉识别领域的研究人员所熟悉。在[12]中,Fayin和Wechsler再次从评估的角度看待开放集人脸识别,将其描述为国家标准与技术协会(NIST)早期人脸识别测试中观察列表的变体。它们指出:开放集识别是在假设不是所有的探测都有伴子的情况下操作的,因此它需要拒绝选项。解读:此前的开放集识别主要是在评估上,举例Phillips等使用带拒绝选项的分类器,即当且仅当最高分数类超过指定阈值时,才会接受这个分类。(已经考虑到了未知的样本,但仅仅简单使用,并没有形式化)。
2.鉴于我们在第2节中对开放集识别的正式定义,我们将简要讨论可能满足该定义的识别技术方面的相关工作。解决开放集问题的一个自然倾向可能是考虑二进制和多类学习方法,利用负训练数据的代表性抽样来尽可能地推广分类器。然而,二分类的性质抑制了开放集问题所需的可控泛化。考虑图3中的两个例子。1-vs-1分类器[13]是通过使用一个类的正例和另一个类的负例来训练的。在1-vs-1场景中,可以在训练期间在两个类之间实现良好的分离,但这并不能建立分隔额外已知或未知类的边界。1-vs-All分类器[13]是通过使用单个类的示例来训练的在1-vs-All场景中,我们可以看到对于未知类,1-vs-1也存在同样的问题。在这两种情况下,当只考虑一个额外的训练示例时,结果可能会更糟,因为在不考虑其他可能的类的情况下,边界会重新调整以最大限度地分离已知数据。解读:解决这个开放集的方法是在多分类和二分类中尽可能利用已知的负例数据来构造决策边界。并指出在二分类中,1-vs-1和1-vs-All都不能做到隔离出未知类的边界,而1-vs-1甚至连已知类的边界都不能隔离出来。
3.任何开放集问题的另一个问题是训练都是高度不平衡和非常不完整的(特别是在检测的情况下)。不平衡的数据通常会导致消极方面的过度专业化。重新采样并不能真正解决这个问题,而开放集识别中固有的不平衡也带来了二进制分类器无法轻易克服[14]的问题。因此,我们转向其他方法来弥补我们工作中的这些缺陷。解读:指出开放集还可能存在的问题,如高度不平衡和非常不完整等
4.摘要以1类和二类支持向量机为基础,研究了开放集识别问题,并引入了一个新的公式来解决开放集识别问题的泛化/特殊化问题。虽然有可能使用密度估计器(如[15],[16],[17],[18])来代替SVM,但我们将重点限制在线性核机器上。SVM对于这项工作有许多可取的特征:它的解是全局的和唯一的,它有一个简单的几何解释,并且它不依赖于输入空间的维数。以前也曾考虑过将它用于开放集识别。解读:指出本文将以ocsvm,bisvm为主进行开放集问题扩展。
5.Scho lkopf等人[19]引入的1类SVM将我们熟悉的SVM方法用于开放集识别问题。由于训练数据中没有第二个类,内核函数定义的原点就成为第二个类的唯一成员。我们的目标就是找到相对于原点的最佳边界。训练后产生的函数f的值þ1地区捕获的大部分训练数据点和1
定义正分类并获取大部分训练数据。正如一些研究者在文献[20]中指出的,1类SVM并没有提供特别好的泛化或专业化能力,这限制了它的使用。解读:简要介绍ocsvm,是一种将训练数据当作一类,原点当作一类的特殊SVM。其缺点在于泛化和专门性能不好。
6.虽然对于二进制支持向量机来说不是什么大问题,但是使用径向基函数(RBF)内核,特别是对于大型支持向量机来说,也会导致过度专门化通过对参数执行网格搜索,然后对给定数据集的所有可用的正示例和负示例进行测试,滥用1类SVM可能会发生这种情况。虽然SVM形式上仍为1类,但由于只使用正数据进行拟合,因此优化类参数以避免整个数据集的负训练样本是不合适的。
在计算机视觉文献中,1类支持向量机得到了一些关注(尽管有限),主要集中在图像检索和人脸识别领域。将一类支持向量机应用于计算机视觉问题是由Chen等人在十年前提出的。对于二值分类,正训练例和负训练例通常是同等对待的。然而,Chen等人认为,在图像检索中,虽然假设正训练样本以某种方式聚类是合理的,但负训练样本不能这样假设,因为它们可以属于任何类。因此,对于一个开放集问题,考虑一个1类支持向量机似乎很自然,它只使用一个目标类的正例子来训练。Chen等人[21](以及后续工作[22]、[23])证明了该方法的可行性,但需要注意的是:内核和参数的选择。Zhou和Huang注意到[20],RBF等高斯核通常用于1类支持向量机,经常导致训练数据过拟合,核参数的选择过于特殊,导致整体缺乏对多个类的泛化。我们认为,缺乏泛化和专业化,加上封闭集测试的常见做法,是1类SVM在视觉上没有获得多大吸引力的主要原因。解读:考虑二分类中,正训练数据可以合理聚集,而负样本则不能合理聚集,因此需要使用一分类SVM,但是1分类SVM由于只有一个类的训练数据,同时特定的核函数选择,都有可能导致缺乏泛化或专门化,因此没有被广泛使用。
7.检测,如引言中提到的,是一个重要的开放集问题,一些1类支持向量机技术已经被提出来解决它。Hongliang et al.[24]提出了一种有趣的方法,使用1类支持向量机进行人脸检测。通过选择子集并将负例纳入正例来优化用于训练1类SVM的数据,他们改进了泛化。这在一定程度上解决了周和黄在训练阶段的顾虑,但逻辑上不一致,没有理论支持。Cevikalp和Triggs[25]使用平板方法定义正数据周围的边界,然后应用1类支持向量机作为第二阶段的假阳性筛选用于对象检测。Wu和Ye[26]使用正类样本和少数离群值样本训练的1类SVM,试图最大限度地利用高斯核定义的正体积和离群值之间的边界来进行新新值检测。这种情况与本文提出的方法类似,但有以下关键区别。
我们的训练数据由更大的已知数据样本组成,而不仅仅是少数的例外情况
在SVM训练后,我们考虑一个平衡的风险公式
我们采用一种同时适用于1类和二值支持向量机的线性核方法
解读:介绍了计算机视觉中的一些方法。1.在人脸检测中,训练多个1类SVM,在正例中混入一些负例,来增强泛化性能。2.定义正例数据边界,并进行第二个阶段筛选3.以少量离群值作为负例,来进行训练分类边界。并指出于本文的不同,本文1.使用所有的已知负例作为负例2.考虑的是经验风险+开放集风险3.支持向量机使用了线性核。
8.除了计算机视觉,1-类支持向量机在模式识别的其他领域也被考虑,通常隐含地解决开放集识别问题,但没有对该问题的正式定义。最早和最好的作品之一是Manevitz和Yousef[27],它考虑了文档分类问题。使用1类支持向量机和基于更严格的离群值检测的新变异,作者在一个标准文档分类数据集(路透社)上显示了高水平的分类精度。Manevitz和Yousef,和Zhou和Huang[20]一样,指出准确性对于核和参数的选择是非常敏感的,他们指出对于这个问题还没有很好的理解。同样,我们自己的作品[28]也使用了一类支持向量机来进行文学风格的开放集分析。
语音处理领域也考虑了一类支持向量机用于处理类未知的问题。在Shen和Yang的工作[29]中,提出了一种新的基于1类支持向量机的数据描述核用于文本相关的说话人验证。Kadri等人[30]成功地将1类支持向量机应用于音频流分割,通过对语音窗口的任意概率分布最大化广义似然比,克服了语音重叠和极短说话人变化的问题。Rossignol和Pietquin[31]使用1类SVM方法在重叠语音的背景下进行音频分割。在[30]的后续工作中,Rabaoui等人[32]超越了流分割,将语音分类考虑到识别任务中。
解读:介绍了其他领域如文本、语音方面的1类SVM应用。
9.虽然1类支持向量机是专门为开放集问题设计的,但二进制支持向量机在这个问题上的潜力不容忽视。具体来说,用一个类的正样本和多个类的负样本(这在检测中很常见)训练分类器,是开放集识别的有效解决方案。二进制支持向量机试图学习一个最大限度地分离两个类的边界。设w是超平面的法向量。为了在线性二进位情况下(本文考虑的情况)分离数据,该算法解决了以下优化问题
式中,xi是来自数据fx1的第i个训练例;x2;。;xm jξ2 Xg, X包含正负样本,和彝语2 f1;þ1g是第i个训练示例中,正确的输出标签。
Malisiewicz等人[33]在重新访问用于检测任务的二进制支持向量机时注意到,用一个正例子和数百万个负例子训练的一个特定类的大型分类器集合可以产生令人惊讶的良好泛化效果。在这篇论文中,我们研究了一些特定的例子,其中假设了更多有限的训练数据样本可用的,特别是对于已知的类,在这些类中,像[33]这样的方法不容易应用。
解读:说明二类SVM,训练样本为一类正例,一类所有类的负例,同时指明一个应用
10.还应该提到一些类似于二进制svm的公式。与我们的算法一样,可以找到一些利用多个超平面[34]、[35]的方法,但不是在开放集识别的上下文中。Bartlett和Wegkamp[36]对铰链损失函数进行了改进,引入了一种带有拒绝选项的分类形式。拒绝选项是二值分类器的第三个决策,表示当一个观察的标签的条件概率接近于机会时的怀疑。为了实现这样一个拒绝选项,Bartlett和Wegkamp描述了一个构造(有点类似于我们自己对过度泛化问题的修复),它使用一个阈值来标记一个模糊的决策空间。然而,这里引入拒绝的概念是为了解决关于特定样本的不确定性问题,而不是拒绝不属于感兴趣类别的样本。解读:指明还有一些类似本文的方法,即构建多个超平面用于分类(但不是用于开放集设置,本质上是对封闭集分类结果的置信度,而非开放集识别,即样本仍属于已知的某一类,但由于分数过低,不能直接相信这个分类结果)。
11.在严格的SVM框架之外,还有几种其他方法可以应用于开放集问题,尽管它们没有专门解决这个问题。最近,视觉界做出了一些努力来处理对象模型的表达性和易学性,以及增加训练数据[37]的需求。实际上,当训练类和测试类不相交时(即没有目标类的训练示例可用),已经引入了一些工作来解决对象分类问题。在这个方向上,研究人员探索了用于对象类识别的知识转移,如:由通用到特定的排序[38]施加的对象类空间的层次结构,表示对象类[39]的描述性属性的中间层,以及已知对象类[40]之间的直接相似度计算。在机器学习的文献中,也有一些在这个方向上的工作,如zero-shot[41]和one-shot[42]学习技术。为了处理一些类没有训练数据可用的分类问题,所有这些方法都需要在已知类和未知类之间引入耦合。根据Lampert等人[39]的说法,由于无法获得未观察类的训练数据,因此无法从样本中学习这种耦合,通常需要人工将其插入系统中。解读:其他非SVM的方法,如知识转移(元学习)、zero-shot[41]和one-shot等,学习一个通用的基于相似的分类方法。
12.指出这些类型的方法与我们在本文中讨论的方法之间的区别是有用的。在开放集识别问题中,我们有感兴趣的类的训练样本和一些负类的样本。然而,在我们解决这个问题的方案中,已知类和未知类之间不需要任何耦合,也不需要任何人工工作。上面的一些方法有正式的定义,但是对平滑性或数据准确性没有限制。将开放集识别的相关定义与将这些问题的开放集变体形式化的类别相结合,应该是可能的。解读:指出开放集识别与上述方法的区别,开放集识别中已知类和未知类可以没有任何关系,而上述方法中已知类和未知类则存在某种耦合(即类似的属性,大类相同)
13.最后,本文所考虑的开放集识别问题也不同于一般的无监督和半监督学习技术(见[43])。常见的无监督技术(如聚类)并不能解决开放集问题的正式定义,开放集问题是一种更精确的标记,而不是在一个大型图像集合[45]中对具有相似外观的组进行标识。我们希望充分利用现有的培训实例。此外,半监督学习也不适用于我们的问题,因为我们没有将标签从已知样本传播到未知样本。半监督学习旨在开发同时利用有标记和无标记样本[45]的技术。事实上,正如我们在第2节中所讨论的,我们的目标是最小化所关注的类的总识别错误(5)。开放集识别问题的任何解决方案都可以作为半监督学习的工具,但其评价标准可能存在显著差异。解读:开放集识别不使用任何无标签样本,主要的目的是能够适应未知样本的分类,但开放集识别方法却可以作无监督和半监督学习的工具。
介绍1-VS-SET机器解读
1.我们的开放集问题的初始方法是基于支持向量机的一个新的变种,我们称之为1-vs-set机器。正如我们在第2节中所描述的,解决开放集问题所固有的风险最小化包括最小化正标记区域以解决开放空间风险(反映过度泛化),并结合边界约束来最小化经验风险(反映过度专业化)。在本文中,我们引入了一个线性核的公式,它同时适用于1类支持向量机和二进制支持向量机。由于开放集识别问题与人类认知直接相关,因此可以提出支持线性核作为具有生物学基础[46],[47]的理想鉴别器的论点。此外,在我们的经验中,线性内核产生更好的结果比非线性内核相同的开集数据(我们显示在第五节)。的初始定义一类支持向量机是基于RBF内核,但多个作品可以发现[27],[48]使用一类支持向量机与线性内核。一旦定义了1类支持向量机的方程,如3.1节所述,对于线性核函数来说,最小化问题仍然定义得很好。直观地说,1类线性支持向量机可以被看作是取所有正数据,找到与支持向量接触的平面,并且原点在与训练数据相对的平面上的平面。对于二进制支持向量机,线性核是一种典型的选择,经常用于检测[3]、[33]的开放集问题。在这里,我们描述1 vs- set算法的细节。解读:引出本文的1-vs-set机器来解决开放集问题(最小化经验风险和开放空间风险),包括线性(最初的ocsvm使用径向基内核,但也使用线性核的)ocsvm和bisvm。
形式化线性核风险
2.解决优化问题的第一步是定义一个可计算的开放空间风险项。我们的开放集概念表明,标记远离阳性样本的点存在风险。正如在第二节中提到的,研究这个问题的一种方法是根据勒贝格度量的比率。但计算给定f ROðfÞ可能是棘手的。我们从一个示例开始强调一般问题,但由于我们的目标是最小化风险,我们能够找到另一种形式,这样减少ROðfÞ没有显式计算。解读:优化的关键是优化开放空间风险(将远离训练/正例样本的样本标记为正例的风险,这种风险很难直接计算),可以通过非显式计算来实现
3.作为开放空间风险的第一个近似值,我们称之为炮弹模型风险,我们在训练样本周围取一个大的球,在这个球周围取一个更大的球然后把两个球之间的任何东西都看成是开放的空间。更正式,让Sy包含一个球的半径变化的训练数据,并不失一般性,让它成为面向这样的所有积极的训练样本类y是在球的上半部分,与h等相关的半空间上的线性支持向量机定义fðxÞ1当x 2 h和fðxÞ0时。设为半径为ro的球,与Sy的中心相同,设为,壳模型的开放空间S,对于任意大的ro,壳为Sy。回忆一下,我们可以形式化shell建模的风险RSh的半空间h与shell S相交为。
解读:定义开放集空间风险(原文无图,这里补了一个图如上),开放空间风险即为Sh面积,也就是将开放空间标记为正例的风险)
4.我们强调,对于传统的线性内核,标记半空间正会带来未知的重大风险。我们可以考虑其他模型来进一步降低风险。下一个简单的模型,将只有一个自由参数添加到经典线性内核,是考虑分段常数fðxÞ正只在两个平行的超平面之间的空间。考虑一个板的固定厚度,即。两个被距离隔开的平行超平面之间的空间。假设平板不包含球的中心So和Sy。勒维和佩莱格里诺[49]表明,这种平板与d维球的相对测量值随着半径的增大而趋于零。因此,板s d维壳模型开放空间风险为零。因此,在下面,我们考虑这个特定的平板模型,但有额外的改进。
由于对于所有小的平板,贝壳模型的风险对于大的平板将趋近于零,因此需要一个更精细的模型来区分平板。我们可以考虑一个固定但大的壳尺寸的风险,在这种情况下,板的厚度与风险成正比。但是,我们还希望包括更接近训练数据的开放空间术语。在可能的情况下,改进的模型将使用边缘式的惩罚,而在不可能的情况下,将使用与勒贝格措施的比率相关的惩罚。
我们将d维中1-vs集线性核的函数H定义为两个平行的d维超平面(A,在第1节中介绍)之间的平板。我们初始化平面,使其只包含所有正训练数据。我们可以通过进一步分离两个平面来概括初始训练数据之外的内容,或者我们可以通过移动两个平面中的任何一个,使它们更靠近来进行专门化。对于给定的平面方向,开放空间的风险与平面之间的分离距离成正比。因此,我们的初始优化从基于平面分离调整参数开始。特别是,我们过度泛化的风险定义为平面距离的扩张:þ,在附近的边缘距离平面,平面的边缘距离远,þ分离需要占所有积极的数据。在类似的方式,我们定义风险为þ过度专门化。在优化过程中,通过对可用训练样本相对于原始样本进行分类确定经验风险,从而平衡了这两项保证金。基于类内数据的间隔限制增长的决定是我们的初始解决方案,以平衡如果我们添加大的球产生的假阳性的过度泛化风险,同时需要泛化以避免未来的假阴性。
在空白处!A在附近的飞机和!在远平面上,我们允许用户指定的控制参数pA和p来衡量附近开放空间的重要性。我们提供这些额外的改进(在4.2节中描述)是因为只有用户才能预测问题的开放性和局部开放空间的重要性。结合过度泛化和过度专业化的风险,以及任何特定的细化,我们的开放空间风险R&为线性核板模型
解读:以图4的形式( 为平面到原分类边界的距离,w是指平面附近的空间),定义开放集风险,第一项为过泛化风险,第二项为过专门化风险,第三四项为两个平面内的开放空间风险。
在近平面压力和远平面压力下进行优化和精炼
5.有了这些定义,我们就可以在平板空间内对风险进行数值优化。算法1和算法2详细介绍了1类和二进制机器的优化过程。
图4说明了这一过程。基本线性1-vs-set机器,如图4a所示,将只触及正例子的极端。然后我们转向贪婪优化来同时移动平面。如果所有的负面培训课程都在该平板之外,过度专业化风险项将抵消开放空间风险项,并将平面推广,如图4b所示。如果负例与底板重叠,过度专业化的风险将为1,而过度泛化的风险项和可能的经验风险项RE将要求平面向内移动,如图4c所示。算法1将导致一个优化,每架飞机是决定分数f。这是紧随其后的是一个微调的地方每架飞机在孤立点之间的优化和下一个最近的积极或消极的点,用一个特例当飞机是一个极端的数据。我们细化平面位置,根据参数化压力pA和p(控制在决策分数之间平面移动的距离),从最接近的数据和平面之间的边界进行一般化或专门化。如果一个决策得分是极端的,那么我们就不能真正定义一个基于边际的细化。这是一种比较常见的情况。当这种情况发生时,我们限制泛化是指定的压强乘以宽度þ积极的数据。利用压力细化位置的过程在算法2中有详细说明。
解读:给出优化算法,即算法1根据支撑向量(正例点),移动A,Ω(A,Ω在支撑向量上)来最小化经验风险和开放集风险,算法2进一步使A,Ω向外扩展而进行泛化,泛化的范围不超过原支撑向量的最近点。(注意其中使用负例的bisvm只会影响决策函数f的计算。)
6.参数化的压力影响到应用专业化和泛化的程度。当考虑大板的风险时,我们注意到近平面很可能有任何未知的负数据冲击或接近正边界。对于远点的飞机来说,更有可能增加的正数据会略微超过现有数据,而负数据可能不会那么接近。因此,我们提供了单独的压力,这样用户可以专门化近平面,而一般化远平面。在我们的实验中,在使用算法1和算法2后,当近平面相对于支持向量机的正常边缘进行专业化处理,而远平面则由初始优化结果进行一般化处理时,通常会得到更好的结果。然而,我们注意到,这部分只是语义,因为远平面的任何位置实际上是对标准支持向量机的一种专门化,它可以被看作是一个无限远的平面。当解决开放集问题时,通过专门化slab以使其更接近积极的例子,未知的风险就会降低。
最后,从学习的模型f和改进的平面A和,可以使用算法3对任意测试向量tx进行分类。在软件实现中,通过对距离的排序和从基地位置的搜索来优化R&ðfÞþrRE。代码还支持设置固定召回或精度,这是容易实现的明确的优化过程,满足定义1和(6)。由于我们使用的扩展LIBSVM[50]图书馆和排序,我们的实现是可行的,但整体的复杂性线性1-vs-set机可以OðnÞn数据项使用的思想[51]约阿希姆,和简单的选择,找到点接近远近的飞机。
解读:给出总的分类方法,同时介绍一些情况,例如注意到近平面A很可能有任何未知的负数据冲击或接近正边界,而远平面Ω更有可能增加的正数据会略微超过现有数据,因此通常会专门化(内移)近平面A,而泛化(外移)远平面Ω。
这篇关于Toward Open Set Recognition的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!