耿传兴,黄圣君,陈松灿
摘要——在现实世界的识别/分类任务中,由于受到各种客观因素的限制,在训练一个识别器或分类器时,通常很难收集训练样本来用尽所有类。更现实的场景是开放集识别(OSR),在训练时存在对世界不完全的知识,在测试时可以将未知的类提交到算法中,这就要求分类器不仅要准确地分类看到的类,还要有效地处理看不见的类。本文从相关定义、模型表示、数据集、评价标准和算法比较等方面对现有的开放集识别技术进行了全面的综述。此外,我们还简要分析了OSR与零样本、单样本(少样本)识别/学习技术、带拒绝选项的分类等相关任务之间的关系。此外,我们还概述了开放世界的识别,这可以看作是OSR的自然延伸。重要的是,我们强调了现有方法的局限性,并指出了该领域内一些有前景的后续研究方向。
索引词——开放集识别/分类,开放世界识别,零样本学习,单样本学习。
作者单位:南京航空航天大学计算机科学与技术学院,江苏南京,211106。通讯作者:陈松灿。电子邮件:{gengchuanxing;huangsj;s.chen} @nuaa.edu.cn。
图1。使用t-SNE可视化真实数据分布中的KKCs、KUCs和UUCs的一个示例。在这里,从PENDIGITS中随机选择‘1’,‘3’,‘4’,‘5’,‘9’作为KKCs,而其中的其余类作为UUCs。从字母中随机选取‘Z’,‘I’,‘J’,‘Q’,‘U’作为KUCs。
1 ^1 1Universum类[26]通常表示对于特定的学习问题而言不属于任何感兴趣的类的样本。
2 ∗ ^{2∗} 2∗表示作者自己扩展的基本识别类。
(a)原始数据集的分布情况
(b)传统的识别/分类问题
©开集识别/分类问题
图2 传统分类与开集识别的比较。图2(a)表示原始数据集分布,包括KKCs的1、2、3、4和UUCs的?5、?6。其中,KKCs只在训练中出现,而UUCs可能在测试中出现或不出现。图2(b)显示传统分类方法得到的各类的决策边界,当UUCs的?5,?6在测试过程中出现,这显然将误分类。图1©描述了开集识别,其中决策边界限制了KKCs的1、2、3、4的范围,为UUCs的?5、?6预留了空间。通过这些决策边界,一些来自UUCs的样本被标记为“未知”或被拒绝,而不是被错误地分类为KKCs。
在一个一般的封闭集(或静态环境)假设下:训练和测试数据来自相同的标签和特征空间,传统的识别/分类算法已经在各种机器学习(ML)任务中取得了显著的成功。然而,更现实的场景通常是开放的、非平稳的,如无人驾驶、故障/医疗诊断等,在这些场景中,看不到的情况可能会意外出现,这大大削弱了这些现有方法的稳健性。为应对这一挑战,国内外学者开展了几个相关研究课题,包括终身学习[1],[2]、迁移学习[3]-[5]、域适应[6],[7]、零样本[8]-[10]、单样本(少样本)[11]-[20]识别/学习和开放集识别/分类[21]-[23]。
基于Donald Rumsfeld的著名的“我们知晓一些我们已知的事”陈述[24],我们进一步扩展了[22]断言的类的基本识别范畴,重申类的识别应考虑以下四个基本类别:
1)已知的已知类(KKCs),即具有明显标记为正训练样本(对于其他KKCs来说,也可作为负样本)的类,甚至具有相应的辅助信息,如语义/属性信息等;
2)已知的未知类(KUCs),即标记负样本、不一定被分为有意义的类,如背景类[25]、universum类[26] 1 ^1 1等;
3)未知的已知类 ∗ 2 ^{∗2} ∗2(UKCs),即在训练中没有可用样本的类,但在训练中有它们的辅助信息(例如语义/属性信息);
4)未知的未知类(UUCs),即没有任何关于它们的信息的类:不仅在训练中看不到,而且在训练中也没有辅助信息(如语义/属性信息等)。
**1类 数字1 **
图1给出了使用t-SNE[27]从真实数据分布中可视化KKCs、KUCs和UUCs的示例。请注意,由于UKCs和UUCs之间的主要区别在于它们的附加信息是否可用,所以我们这里只可视化UUCs。传统的分类只考虑KKCs,而包含KUCs将导致模型具有一个显式的“其他类”,或具有一个使用未分类的负样本[22]训练的检测器。与传统的分类不同,零样本学习(zero-shot learning,ZSL)更注重对UKCs的识别。俗话说:如果没有任何关于过去与未来关系的假设,预测是不可能的。ZSL利用KKCs和UKCs之间共享的语义信息来实现这样的识别[8],[9]。事实上,假设测试样本只来自UKCs是相当限制与不现实的,因为无论是KKCs还是UKCs,我们通常对他们一无所知。另一方面,自然界中的物体频率遵循长尾分布[28],[29],这意味着KKCs比UKCs更常见。因此,一些研究者开始关注更为广义的ZSL (generalized ZSL,G-ZSL)[30]-[33],即测试样本来自KKCs和UKCs。作为一个与ZSL密切相关的问题,当训练中只有有限数量的UKCs样本可用[11]-[20]时,一次/几次射击学习可以被视为零次射击学习的自然扩展。与零样本学习和单样本/少样本学习相比,开放集识别(OSR)[21]-[23]可能面临更严峻的挑战,因为只有KKCs可用,没有任何其他辅助信息,如属性或有限的来自UUCs的样本数量。
开集识别[21]描述了一个训练中看不到新类(UUCs)而测试中出现新类(UUCs)的场景,它要求分类器不仅要准确地分类KKCs,还要有效地处理UUCs。因此,当测试样本来自某个UUC时,分类器需要有相应的拒绝选项。图2给出了传统分类问题和OSR问题的对比演示。需要注意的是,关于带拒绝选项[34]-[44]的分类,已有各种各样的文献工作。虽然在某种意义上是相关的,这个任务不应与开集识别混淆,因为它仍然工作在闭集的假设下,而对应的分类器由于置信度低而拒绝识别输入样本,避免将一个类别的样本归类为另一个类别的成员。
此外,通常用于异常检测的单类分类器[45]-[52]似乎适用于OSR问题,其中训练数据的经验分布建模,使其能够在特征空间的各个方向上与周围的开放空间(远离已知/训练数据的空间)分离。常用的单类分类方法有单类支持向量机(one-class SVM)[45]和支持向量数据描述(SVDD)[47],[53],其中单类支持向量机用最大间隔将训练样本从特征空间的原点分离,而SVDD用最小体积的超球封闭训练数据。需要注意的是,在一个类设置中,将多个KKCs视为一个单一的KKCs,明显忽略了这些KKCs之间的区别信息,导致较差的分类性能[23],[54]。即使每个KKC由[36]中提出的单个个体单类分类器建模,分类性能也相当低[54]。因此,有必要针对OSR问题,特别是多类OSR问题,重建有效的分类器。
作为总结,表1列出了开放集识别和上面提到的相关任务之间的区别。事实上,OSR已经在许多框架、假设和名称[55]-[60]下进行了研究。在人脸识别评价方法的研究中,Phillips等人[55]提出了一个开放集身份识别的典型框架,而Li和Wechsler[56]从评价的角度重新看待开放集人脸识别,并提出了开放集TCM-kNN (Transduction Confidence Machine-k Nearest Neighbors)方法。在2013年,Scheirer等人[21]首次对开集识别问题进行了正式化,并提出了一个初步的解决方案——1-vs-set machine,该方案在建模中加入了一个开集风险项,以解释KKCs合理支持之外的空间。后来,开集识别引起了广泛关注。注意,OSR在最近对ZSL[10]的调查中被提到,但是,它并没有被广泛讨论。与[10]不同,我们在这里提供了关于OSR的全面回顾。
本文的其余部分组织如下。在接下来的三节中,我们首先给出基本的符号和相关的定义(第2节)。然后,我们从建模的角度对现有的OSR技术进行分类,对于每个类别,我们回顾不同的方法,详细的如表2所示(第3节)。最后,我们在第4节中概述了开放世界识别(OWR),它可以被视为OSR的自然扩展。第5节介绍了常用的数据集、评价标准和算法比较,而第6节强调了现有方法的局限性,并指出了该领域的一些有前景的研究方向。最后,第7节给出了结论。
表1 开放集识别及其相关任务的区别
训练 | 测试 | 目标 | |
---|---|---|---|
传统分类 | 已知已知类 | 已知已知类 | 分类已知已知类 |
带拒绝选项的分类 | 已知已知类 | 已知已知类 | 分类已知已知类&拒绝低置信度的样本 |
单类分类(异常检测) | 已知已知类&少量或没有来自KUCs的异常值 | 已知的已知类&很少或没有异常值 | 检测异常值 |
单样本学习(少样本学习) | 已知已知类&数量有限的UKCs样本 | 已知未知的类 | 识别未知的已知类 |
零样本学习 | 已知已知类&辅助信息1 | 已知未知的类 | 识别未知的已知类 |
广义零样本学习 | 已知已知类&辅助信息1 | 已知的已知类&未知的已知类 | 识别已知的已知类&未知的已知类 |
开集识别 | 已知已知类 | 已知的已知类&未知的未知类 | 识别已知的已知类&拒绝未知的未知类 |
广义开集识别 | 已知已知类&辅助信息2 | 已知的已知类和未知的未知类 | 识别已知的已知类&认知未知的未知类 |
注意,单样本学习中未知的已知类通常没有任何辅助信息,如语义信息等。ZSL和G-ZSL中的辅助信息1表示来自KKCs和UKCs的语义信息,而辅助信息2表示仅来自KKCs的可用语义信息。由于该信息的一部分通常跨越KKCs和UUCs,我们希望利用它来进一步“认知”UUCs,而不是简单地拒绝它们。
正如[21]中讨论的,远离已知数据的空间(包括KKCs和KUCs)通常被认为是开放空间
O
\mathcal{O}
O。因此,将这个空间中的任何样本标记为一个任意的KKC不可避免地会带来风险,这被称为开放空间风险
R
O
R_{\mathcal{O}}
RO。由于UUCs在训练中是不可知的,因此通常很难定量分析开放空间风险。另外,[21]给出了对
R
O
R_{\mathcal{O}}
RO的定性描述,它被形式化为开放空间
O
\mathcal{O}
O的相对度量
S
O
S_{\mathcal{O}}
SO:
R
O
(
f
)
=
∫
O
f
(
x
)
d
x
∫
S
o
f
(
x
)
d
x
R_{\mathcal{O}}(f)=\frac{\int_{\mathcal{O}} f(x) d x}{\int_{S_{o}} f(x) d x}
RO(f)=∫Sof(x)dx∫Of(x)dx
其中,
f
f
f为可测量的识别函数。
f
(
x
)
=
1
f(x) = 1
f(x)=1表示KKCs中的某一类被识别,否则
f
(
x
)
=
0
f(x) = 0
f(x)=0。在这种形式下,开放空间的标记为KKCs的样本越多,
R
O
R_{\mathcal{O}}
RO就越大。
此外,[21]的作者还正式引入了针对特定问题或数据空间的开放性概念。
定义1。([21]中定义的开放性)让
C
T
A
C_{TA}
CTA、
C
T
R
C_{TR}
CTR和
C
T
E
C_{TE}
CTE分别表示待识别的类集、训练时使用的类集和测试时使用的类集。那么对应识别任务
O
O
O的开放性为:
O
=
1
−
2
×
∣
C
T
R
∣
∣
C
T
A
∣
+
∣
C
T
E
∣
O=1-\sqrt{\frac{2\times \left| C_{TR} \right|}{\left| C_{TA} \right|+\left| C_{TE} \right|}}
O=1−∣CTA∣+∣CTE∣2×∣CTR∣
式中
∣
⋅
∣
|·|
∣⋅∣为对应集合中的类数。
更大的开放性对应更多的开放问题,而当开放性等于0时,问题完全封闭。注意[21]并没有明确给出
C
T
A
C_{TA}
CTA、
C
T
R
C_{TR}
CTR和
C
T
E
C_{TE}
CTE之间的关系。在大多数现有的工作[22],[61]-[63]中,默认保持
C
T
A
=
C
T
R
⊆
C
T
E
C_{TA}=C_{TR}\subseteq C_{TE}
CTA=CTR⊆CTE的关系。此外,作者在[64]中具体给出了以下关系:
C
T
A
⊆
C
T
R
⊆
C
T
E
C_{TA}\subseteq C_{TR}\subseteq C_{TE}
CTA⊆CTR⊆CTE,这包含了前一种情况。然而,这种关系对于定义1来说是有问题的。考虑以下简单的情况:
C
T
A
⊆
C
T
R
⊆
C
T
E
C_{TA}\subseteq C_{TR}\subseteq C_{TE}
CTA⊆CTR⊆CTE,以及
∣
C
T
A
∣
=
3
|C_{TA}|=3
∣CTA∣=3,
∣
C
T
R
∣
=
10
|C_{TR}|=10
∣CTR∣=10,
∣
C
T
E
∣
=
15
|C_{TE}|=15
∣CTE∣=15。那么我们会得到
O
<
0
O<0
O<0,这显然是不合理的。事实上,
C
T
A
C_{TA}
CTA应该是
C
T
R
C_{TR}
CTR的一个子集,否则就没有意义了,因为人们通常不会使用
C
T
R
C_{TR}
CTR上训练的分类器来识别不在
C
T
R
C_{TR}
CTR里的其他类。直观上,一个特定问题的开放性应该只依赖于KKCs从
C
T
R
C_{TR}
CTR获得的知识和UUCs从
C
T
E
C_{TE}
CTE获得的知识,而不是
C
T
A
C_{TA}
CTA、
C
T
R
C_{TR}
CTR和
C
T
E
C_{TE}
CTE三者。因此,在本文中,我们重新校准了开放性的公式:
O
∗
=
1
−
2
×
∣
C
T
R
∣
∣
C
T
R
∣
+
∣
C
T
E
∣
O^{*}=1-\sqrt{\frac{2 \times\left|C_{\mathrm{TR}}\right|}{\left|C_{\mathrm{TR}}\right|+\left|C_{\mathrm{TE}}\right|}}
O∗=1−∣CTR∣+∣CTE∣2×∣CTR∣
注意与Eq.(2)相比,Eq.(3)只是评估开放性的相对更合理的形式。其他定义也可以体现这个概念,有些可能更精确,因此值得进一步探讨。考虑到开放空间风险和开放性的概念,OSR问题的定义如下:
定义2。(开放集识别问题[21])设
V
V
V为训练数据,让
R
O
R_{\mathcal{O}}
RO,
R
ε
R_{\varepsilon}
Rε 分别表示开放空间风险和经验风险。那么开集识别的目标是找到一个可测量的识别函数
f
∈
H
f∈H
f∈H,其中
f
(
x
)
>
0
f(x)>0
f(x)>0表示正确识别,且
f
f
f通过最小化以下开集风险来定义:
arg
min
f
∈
H
{
R
O
(
f
)
+
λ
r
R
ε
(
f
(
V
)
)
}
\arg \min _{f \in \mathcal{H}}\left\{R_{\mathcal{O}}(f)+\lambda_{r} R_{\varepsilon}(f(V))\right\}
argf∈Hmin{RO(f)+λrRε(f(V))}
其中
λ
r
\lambda_r
λr是正则化常数。
公式(4)中表示的开集风险在允许识别函数的空间上平衡了经验风险和开放空间风险。虽然上面提到的这个初始定义更理论化,但它为后续的OSR建模提供了重要的指导,导向了一系列OSR算法,这些将在下一节详细介绍。
3 ^3 3EVT的定义见附录B。
图3。关于现有OSR方法如何联系的全局图。“基于SR的”、“基于Dis的”、“基于MD的”分别表示基于稀疏表示、基于距离分布和基于边缘分布的OSR方法,“+EVT”表示对应的方法额外采用了统计极值理论。值得注意的是,粉色虚线模块表明目前从混合生成和判别模型角度还没有相关的OSR工作,这也是未来一个很有前景的研究方向。
虽然Scheirer等人[21]形式化了OSR问题,但一个重要的问题是如何将Eq.(1)纳入建模。在统计学习中,生成模型和判别模型的使用一直存在争议[65],[66],并对各自的价值进行了争论。然而,正如[22]所讨论的,开放集识别引入了这样一个新问题,除非施加一些约束,否则无论是判别模型还是生成模型都不能直接解决开放空间中存在的UUCs。因此,在一定的约束下,研究者分别从判别和生成的角度对OSR建模进行了探索。接下来,我们主要从这两个角度回顾现有的OSR模型。
根据建模形式,这些模型可进一步分为四类(表2):从判别模型的角度来看是基于传统ML (TML)和基于深度神经网络(DNN)的方法;从生成模型的角度来看是基于实例和非实例的生成方法。对于每个类别,我们通过关注其相应的代表性工作来回顾不同的方法。此外,图3给出了这些方法如何联系的全局图。此外,表5(附录A)列出了实现这些模型的几个可用软件包。接下来,我们首先从判别模型的角度进行回顾,其中大多数现有OSR算法都是从这个角度建模的。
表2 开放集识别的不同类别模型
不同类别的OSR方法 | 论文 | |
---|---|---|
判别模型 | 基于传统ML | [21]–[23], [61], [67]–[78] |
基于深度神经网络 | [25], [64], [79]–[87] | |
生成模型 | 基于实例生成 | [62], [88]–[91] |
基于非实例生成 | [63] |
A. OSR判别模型
1)基于传统ML方法的OSR模型:如上所述,传统机器学习方法(如SVM、稀疏表示、最近邻等)通常假设训练数据和测试数据来自相同的分布。然而,这种假设在OSR中不再成立。为了使这些方法适应OSR场景,人们做了很多努力[21]-[23],[61],[67]-[78]。
基于支持向量机(Support Vector Machine,SVM)[92]已成功应用于传统的分类/识别任务。但当测试中出现UUCs时,由于通常在封闭集假设下对KKCs进行过度占用空间的划分,其分类性能会显著下降。如图1(b)所示,一旦UUCs的样本落入一些为KKCs划分的空间,这些样本将永远无法正确分类。为了克服这一问题,人们提出了许多基于支持向量机的OSR方法。
Scheirer等人[21]利用定义2提出了1-vs-Set机器,该机器在建模中加入了一个开放空间风险项,以考虑KKCs合理支持之外的空间。具体来说,他们在分数空间中加入了另一个超平面,该超平面与SVM得到的分离超平面平行,从而在特征空间中形成了一个平板。进一步,线性核平板模型的开放空间风险定义如下:
R
O
=
δ
Ω
−
δ
A
δ
+
+
δ
+
δ
Ω
−
δ
A
+
p
A
ω
A
+
p
Ω
ω
Ω
R_{\mathcal{O}}=\frac{\delta_{\Omega}-\delta_{A}}{\delta^{+}}+\frac{\delta^{+}}{\delta_{\Omega}-\delta_{A}}+p_{A} \omega_{A}+p_{\Omega} \omega_{\Omega}
RO=δ+δΩ−δA+δΩ−δAδ++pAωA+pΩωΩ
其中
δ
A
\delta_{A}
δA和
δ
ω
\delta_{\omega}
δω表示相应超平面的间隔距离,
δ
+
δ^+
δ+是考虑所有正数据所需的分离。此外,给出用户指定的参数
p
A
p_A
pA和
p
Ω
p_Ω
pΩ来加权边界空间
ω
A
ω_A
ωA和
ω
Ω
ω_Ω
ωΩ之间的重要性。在这种情况下,出现在两个超平面之间的测试示例将被标记为适当的类。否则,它将被视为非目标类或被拒绝,这取决于它驻留在平板的哪一边。与1-vs-Set机器类似,Cevikalp[67]、[68]在传统SVM的基础上对正/目标类的样本增加了另一个约束,并提出了最佳拟合超平面分类器(BFHC)模型,该模型直接在特征空间中形成了一个平板。另外,使用核技巧可以将BFHC扩展到非线性情况,详见[68]。
虽然上述平板模型减小了每个二值支持向量机的KKC区域,但每个KKC所占用的空间仍然是无界的。因此,开放空间的风险仍然存在。为了克服这一挑战,研究人员进一步寻求控制这一风险的新方法[22],[23],[69]-[71]。
Scheirer等人在[22]的解决方案中加入了非线性核,通过只对具有有限度量的集合进行正标记,进一步限制了开放空间风险。他们建立了一个紧凑衰减概率(CAP)模型,当点从已知数据移动到开放空间时,类成员的概率会衰减。特别地,一种威布尔校正的支持向量机(W-SVM)模型被提出,该模型结合统计极值理论(EVT)[93]
3
^3
3对两个分离的支持向量机进行评分校准。第一个SVM是一个作为调节器使用的单类支持向量机CAP模型:如果由单类支持向量机预测的输入样本的后验估计
P
O
(
y
∣
x
)
P_O(y|x)
PO(y∣x)小于临界值
δ
τ
δ_{\tau}
δτ,则该样本将被直接拒绝。否则,它将被传递给第二个SVM。第二个SVM是二值支持向量机CAP模型,通过拟合的Weibull累积分布函数,得到相应的正KKC的后验估计
P
η
(
y
∣
x
)
P_η(y|x)
Pη(y∣x)。通过反Weibull拟合,得到了相应的负KKCs的后验估计
P
ψ
(
y
∣
x
)
P_ψ(y|x)
Pψ(y∣x)。定义指标变量:如果
P
O
(
y
∣
x
)
>
δ
τ
P_O(y|x)>\delta_{\tau}
PO(y∣x)>δτ,$\iota_y=1
,
否
则
,否则
,否则\iota_y=0
,
所
有
K
K
C
s
,所有KKCs
,所有KKCs\mathcal{Y} $的W-SVM识别为:
y
∗
=
arg
max
y
∈
Y
P
η
(
y
∣
x
)
×
P
τ
(
y
∣
x
)
×
ι
y
subject to
P
η
(
y
∗
∣
x
)
×
P
τ
(
y
∗
∣
x
)
≥
δ
R
y^{*}=\arg \max _{y \in \mathcal{Y}} P_{\eta}(y \mid x) \times P_{\tau}(y \mid x) \times \iota_{y} \\ \text { subject to } P_{\eta}\left(y^{*} \mid x\right) \times P_{\tau}\left(y^{*} \mid x\right) \geq \delta_{R}
y∗=argy∈YmaxPη(y∣x)×Pτ(y∣x)×ιy subject to Pη(y∗∣x)×Pτ(y∗∣x)≥δR
其中
δ
R
δ_R
δR为第二个SVM CAP模型的阈值。
δ
τ
δ_τ
δτ和
δ
R
δ_R
δR的阈值是经验设置的,如作者指定
δ
τ
δ_τ
δτ固定为0.001,而
δ
R
δ_R
δR建议根据具体问题的开放性进行设置
δ
R
=
0.5
×
o
p
e
n
n
e
s
s
.
δ_R= 0.5×openness.
δR=0.5×openness.
此外,在KDDCUP’99数据集上进一步使用W-SVM进行开放集入侵识别[94]。更多关于开放集场景下入侵检测的研究见[95]。直观地说,如果任何KKCs的正数据是准确建模而没有过拟合的,我们可以拒绝大量的UUCs(即使在不完全类知识的假设下)。基于这种直觉,Jain等人[23]调用EVT对决策边界处的正训练样本进行建模,并提出
P
I
P_I
PI-SVM算法。
P
I
P_I
PI-SVM也采用了基于阈值的分类方案,其中对应阈值的选择采用了W-SVM相同的策略。
注意,虽然W-SVM和 P I P_I PI-SVM都通过基于阈值的分类方案有效地限制了开放空间风险,但它们的阈值选择也给出了一些注意事项。首先,假设所有KKCs都有相同的阈值,这可能是不合理的,因为类在特征空间中的分布通常是未知的。其次,建议根据问题开放性[22]设置拒绝阈值。然而,相应问题的开放性通常也是未知的。
为了解决这些问题,Scherreik等人[69]引入了概率开放集支持向量机(POS-SVM)分类器,该分类器可以根据经验确定定义2中每个KKC的唯一拒绝阈值。POS-SVM没有将 R O R_{\mathcal{O}} RO定义为开放空间和类定义空间的相对测度,而是分别选择了开放空间风险 R O R_{\mathcal{O}} RO和经验风险 R ε R_{ε} Rε的概率表示(详见c.f.[69])。此外,作者还采用了一种新的OSR评价指标尤登指数,该指标结合了真阴率和召回率,将在第5.2小节中详细介绍。最近,为了解决滑动窗口视觉目标检测和开放集识别任务,Cevikalp和Triggs[70],[71]使用了一类拟线性“多面圆锥”函数[96]来定义正KKCs的接受区域。这种选择提供了一个方便的紧凑和凸区域形状族,用于区分相对良好的局部正KKCs和更广泛的负KKCs(包括负KKCs和UUCs)。
基于稀疏表示的技术:近年来,基于稀疏表示的技术被广泛应用于计算机视觉和图像处理领域[97]-[99]。特别地,稀疏表示分类器(sparse representation-based classifier,SRC)[100]得到了很多关注,它在训练时通过寻找测试样本的最稀疏表示来识别正确的类。SRC及其变体本质上仍处于封闭集假设下,为了使SRC适应开放环境,Zhang和Patel[61]提出了基于稀疏表示的开放集识别模型,简称SROSR。
由于OSR的大部分判别信息隐藏在两种误差分布的尾部,因此SROSR利用EVT对匹配误差分布的尾部和非匹配重构误差分布的和进行建模。这个模型包括两个主要阶段。第一阶段利用EVT对误差分布的尾部进行建模,将OSR问题简化为假设检验问题;第二阶段首先计算测试样本的重构误差,然后融合基于两个尾部分布的置信度得分,确定其身份。
据[61]记录,尽管SROSR优于许多有竞争力的OSR算法,但它也存在一定的局限性。例如,在人脸识别任务中,当数据集在姿态、光照或分辨率方面存在极端变化时,SROSR就会失败,此时SRC所要求的自我表达属性不再成立。此外,为了获得良好的识别性能,训练集必须足够广泛,以跨越测试集中可能发生的条件。值得注意的是,虽然目前只有SROSR被提出基于稀疏表示,但开发基于稀疏表示的OSR算法仍然是未来工作的一个有趣的话题。
基于距离的分类器:与前面提到的其他传统ML方法类似,基于距离的分类器在开放集场景下通常不再有效。为了应对这一挑战,Bendale和Boult[72]在最近邻类均值(NCM)分类器的基础上扩展,建立了开放集识别的最近邻非离群值(NNO)算法。NNO根据测试样本与KKCs均值之间的距离进行分类,当所有分类器都拒绝输入样本时,NNO拒绝输入样本。需要强调的是,该算法可以根据手工标记的数据动态添加新类。此外,作者还介绍了开放世界识别的概念,具体内容在第4节。
此外,Junior等[73]在传统最近邻分类器的基础上,引入了开放集版本的最近邻分类器(OSNN)来处理OSR问题。与直接对最相似类的相似度评分进行阈值设置的工作不同,OSNN采用的是对两个最相似类的相似度评分比率进行阈值设置,称为最近邻距离比(NNDR)技术。具体来说,它首先找到来自不同类别的测试样本的最近邻,然后计算比率
R
a
t
i
o
=
d
(
s
,
t
)
/
d
(
s
,
u
)
Ratio=d(s, t)/d(s, u)
Ratio=d(s,t)/d(s,u)
其中
d
(
x
,
x
′
)
d(x, x')
d(x,x′)表示特征空间中样本
x
x
x和
x
′
x'
x′之间的欧氏距离。如果比率小于或等于预先设定的阈值,
s
s
s将被归类为和
t
t
t相同的标签,否则被认为是UUC。
注意,OSNN本质上是多类的,这意味着它的效率不会随着可用类数量的增加而受到影响。此外,NNDR技术还可以根据相似度评分轻松应用于其他分类器,如最优路径森林(OPF)分类器[103]。此外,还可以用其他度量来代替欧几里得度量,甚至考虑的特征空间也可以是变换后的特征空间。OSNN的一个局限性是仅仅选择来自不同类别的两个参考样本进行比较,使得OSNN容易受到离群值的影响[63]。
基于边缘分布(Margin distribution):现有的OSR方法很少甚至没有考虑到数据的分布信息,且缺乏强大的理论基础,Rudd等[74]提出了一个理论上比较好的分类器——极值机(Extreme Value Machine,EVM),它源于边缘分布的概念。[104]-[107]对边缘分布的各种定义和使用进行了探讨,涉及的技术包括最大化均值或中值边缘,采用加权组合边缘,或优化边缘的均值和方差。利用边缘分布本身可以提供比软间隔支持向量机提供的更好的误差边界,这在某些情况下可以转化为减少实验误差。
作为边缘分布理论从每类公式[104]-[107]到样本公式的扩展,EVM是根据相对于参考点样本的半距分布来建模的。具体地说,得到如下定理:
定理1。假设我们从定义良好的类分布中得到一个正样本 x i x_i xi和足够多的负样本 x j x_j xj,产生成对的边缘估计 m i j m_{ij} mij。假设存在连续的非退化边缘分布。然后用威布尔分布给出了 x i x_i xi边界距离的最小值分布。
由于定理1对任意点 x i x_i xi成立,每个点都可以估计自己到边缘的距离分布,从而得到:
推论1。(
Ψ
Ψ
Ψ密度函数)给出定理1的条件,由
x
i
x_i
xi估计的
x
′
x'
x′包含在边界中的概率为
Ψ
(
x
i
,
x
′
,
κ
i
,
λ
i
)
=
exp
−
(
∥
x
i
−
x
′
∥
λ
i
)
κ
i
\Psi\left(x_{i}, x^{\prime}, \kappa_{i}, \lambda_{i}\right)=\exp ^{-\left(\frac{\left\|x_{i}-x^{\prime}\right\|}{\lambda_{i}}\right)^{\kappa_{i}}}
Ψ(xi,x′,κi,λi)=exp−(λi∥xi−x′∥)κi
其中
∣
∣
x
i
−
x
′
∣
∣
||x_i−x'||
∣∣xi−x′∣∣为
x
′
x'
x′到样本
x
i
x_i
xi的距离,
κ
i
κ_i
κi,
λ
i
λ_i
λi分别为拟合最小
m
i
j
m_{ij}
mij得到的Weibull形状参数和尺度参数。
预测:一旦EVM训练完成,则由Eq.(9)得到与类
C
l
\mathcal{C}_l
Cl相关联的新样本
x
′
x'
x′的概率,即$\hat{P}\left(\mathcal{C}_{l} \mid x^{\prime}\right) $,从而得到如下决策函数
y
∗
=
{
arg
max
l
∈
{
1
,
…
,
M
}
P
^
(
C
l
∣
x
′
)
if
P
^
(
C
l
∣
x
′
)
≥
δ
"unknown"
Otherwise
y^{*}=\left\{\begin{array}{ll} \arg \max _{l \in\{1, \ldots, M\}} \hat{P}\left(\mathcal{C}_{l} \mid x^{\prime}\right) & \text { if } \hat{P}\left(\mathcal{C}_{l} \mid x^{\prime}\right) \geq \delta \\ \text { "unknown" } & \text { Otherwise } \end{array}\right.
y∗={argmaxl∈{1,…,M}P^(Cl∣x′) "unknown" if P^(Cl∣x′)≥δ Otherwise
式中,
M
M
M为训练中KKCs的数量,
δ
δ
δ为概率阈值,该概率阈值定义了KKCs与无支持开放空间的边界。
EVM由边缘分布和极值理论推导而来,具有较好的解释,并可进行非线性无核变带宽增量学习,进一步探索开放集人脸识别[108]和入侵检测[109]。请注意,正如[75]所报道的,它也有一些局限性,其中一个明显的局限性是,当KKCs和UUCs的几何形状不同时,使用kkc的几何形状是有风险的。为了解决这些局限性,Vignotto和Engelke[75]进一步提出了基于EVT近似的GPD和GEV分类器。
其他基于传统ML方法的方法:使用基于中心的相似度(CBS)的空间学习,Fei 和 Liu[76]提出了一个新颖的解决方案用于文本分类下OSR的场景中,而Vareto等[77]探讨了开集人脸识别,提出了结合哈希函数、偏最小二乘法(PLS)和全连接网络(FCN)的HPLS和HFCN算法。Neira等[78]采用了集成的思想,将不同的分类器和特征结合起来解决OSR问题。我们请读者参考[76]-[78]了解更多细节。由于目前大多数传统的机器学习分类方法都是在封闭集假设下进行的,因此使其适应开放和非平稳的环境是很有必要的。
2)基于深度神经网络的OSR模型:由于其强大的学习表示能力,深度神经网络在视觉识别、自然语言处理、文本分类等任务中获得了显著的优势。DNN通常遵循一个典型的SoftMax交叉熵分类损失,这不可避免地会产生归一化问题,使其具有固有的封闭集性质。因此,DNN经常做出错误的预测,甚至在处理UUCs的样本时过于自信。[110]、[111]中的研究表明DNN很容易受到“愚弄”和“垃圾”图像的攻击,这些图像在视觉上离理想的类很远,但产生高置信度评分。为了解决这些问题,研究人员研究了不同的方法[25],[64],[79]-[87]。
Bendale和Boult[79]将DNN中的SoftMax层替换为OpenMax层,提出OpenMax模型作为开放集深度网络的第一个解决方案。具体来说,首先通过最小化交叉熵损失,用普通SoftMax层训练一个深度神经网络。采用最近邻类均值(Nearest Class Mean)的概念[101]、[102],然后将每个类表示为一个平均激活向量(Mean activation vector, MAV),其中包含该网络倒数第二层的激活向量(仅针对正确分类的训练样本)的均值。然后,计算训练样本与对应类MAVs的距离,用于拟合每个类的单独Weibull分布。之后,根据Weibull分布拟合得分对激活向量值进行重新分布,并计算UUCs的伪激活。最后,在这些新的再分布激活向量上再次使用SoftMax计算KKCs和(伪)UUCs的分类概率。
正如[79]中讨论,OpenMax有效地解决欺骗/垃圾图像和不相关的开集图像的识别挑战,但它无法识别与训练样本在视觉上难以区分的对抗图像,而对抗图像设计目的是使深度网络产生高置信度但不正确的答案[111],[112]。Rozsa等人[80]也分析和比较了使用SoftMax层和OpenMax的DNN的对抗鲁棒性:尽管OpenMax提供的系统在传统攻击中比SoftMax更脆弱,但它同样容易受到更复杂的对抗生成技术直接工作于深度表示的影响。因此,对抗性样本仍然是开集识别的一个严峻挑战。此外,OpenMax中的交叉熵损失函数在使用与MAV的距离时,并没有直接激励在MAV周围投影类样本。此外,测试中使用的距离函数没有用于训练,可能导致该空间测量不准确[81]。为了解决这个问题,Hassen和Chan[81]学习了一种基于神经网络的开放集识别表示。在这种表示中,来自同一类的样本彼此接近,而来自不同类的样本之间的距离更远,导致UUCs的样本在KKCs之间占据的空间更大。
此外,Prakhya等[82]继续沿着OpenMax的技术线探索开放集文本分类,Shu等[83]用一个sigmoids的1-vs-rest最后一层替换了SoftMax层,提出了深度开放分类器(Deep open classifier,DOC)模型。Kardan和Stanley[113]提出了竞争过完全输出层(competitive overcomplete output layer, COOL)神经网络,以避免神经网络在远离训练数据区域的过度泛化。Cardoso等[84]基于一个无权重神经网络提供的一个精细的类距离计算,提出了开放集识别的tWiSARD算法,该算法在[64]中得到进一步发展。最近,考虑到可用的背景类(KUCs), Dhamija等人[25]将SoftMax与新的Entropic开放集和Objectosphere损失结合起来解决OSR问题。Yoshihashi等[85]提出了开放集识别的分类-重构学习算法(classification-reconstruction learning algorithm for open set recognition,CROSR),该算法利用潜在表示进行重构,在不损害KKCs分类精度的前提下,实现了鲁棒的UUCs检测。Oza和Patel[87]使用具有新型训练和测试方法的类条件自动编码器,提出了用于OSR的C2AE模型。与以往的研究相比,Shu等[86]更注重发现拒绝样本中隐藏的UUCs。相应地,他们提出了一种联合开放分类模型,该模型包含一个子模型,用于对样本是否属于同一类进行分类,子模型可以作为聚类的距离函数,发现拒绝样本中的隐藏类。
注:从判别模型的角度来看,现有的OSR方法几乎都采用基于阈值的分类方案,其中识别器在决策时要么拒绝输入样本,要么使用经验设置的阈值将输入样本分类到某个KKC。因此,阈值起着关键作用。然而,目前对阈值的选择通常依赖于KKCs的知识,由于UUCs缺乏可用的信息,不可避免地会带来风险[63]。事实上,由于KUCs的数据经常在手边可用[25],[114],[115],我们可以充分利用它们来降低这种风险,进一步提高UUCs的OSR模型的稳健性。此外,有效地建模数据分布的尾部,使得EVT在现有OSR方法中得到了广泛的应用。然而,遗憾的是,它没有提供有原则的方法来选择适合的尾部的大小进行拟合。此外,由于视觉类别中的物体频率通常遵循长尾分布[29],[116],一旦KKCs和UUCs中的罕见类在测试中同时出现,这种分布拟合将面临挑战[117]。
B.开放集识别生成模型
在本节中,我们将从生成模型的角度回顾OSR方法,这些方法可以根据它们的建模形式进一步分为基于实例生成和基于非实例生成的方法。
1)基于实例生成的OSR模型:对抗学习(AL)[118]作为一种新技术取得了显著的成功,它采用生成模型和判别模型,生成模型学习生成的样本可以欺骗判别模型作为非生成样本。由于AL的特性,一些研究人员也试图用AL技术产生的UUCs来解释开放空间[62]、[88]-[91]。
Ge等[88]利用条件生成对抗网络(generative adversarial network, GAN)合成UUCs的混合,提出了生成的OpenMax (G-OpenMax)算法,该算法能够对生成的UUCs提供显式的概率估计,使得分类器能够根据KKCs和生成的UUCs的知识来定位决策边缘。显然,这样的UUCs在其设置中只被限制在原KKCs空间的一个子空间中。此外,据[88]记录,G-OpenMax虽然能有效检测单色数字数据集中的UUCs,但在自然图像上并没有明显的性能提升。
与G-OpenMax不同,Neal等[89]引入了一种新的数据集增强技术,称为反事实图像生成(OSRCI)。OSRCI采用一个编解码器GAN体系结构生成接近于KKCs但不属于任何KKCs的合成开集示例。他们进一步将OSR问题重新表述为分类,该分类增加一个包含新生成样本的类。与[89]类似,Jo等[90]采用GAN技术生成假数据作为UUCs的数据,进一步增强了UUCs分类器的鲁棒性。Yu等[91]提出了OSR的对抗性样本生成(ASG)框架。ASG可以应用于神经网络之外的各种学习模型,同时它不仅可以生成UUCs的数据,必要时还可以生成KKCs的数据。此外,Yang等[62]在典型的GAN网络中借鉴了生成器,生成与目标样本高度相似的合成样本作为自动负集,而识别器经过重新设计,与UUC一起输出多个类。然后,他们研究了基于微多普勒特征的开放集人体活动识别。
注:由于大多数基于实例生成的OSR方法往往依赖于深度神经网络,因此它们似乎也属于基于DNN的方法。但请注意,这两类方法的本质区别在于UUCs的样本是否是在学习中生成的。此外,AL技术并不仅仅依赖于深度神经网络,如ASG[91]。
2)基于非实例生成的OSR模型:狄利克雷过程(Dirichlet process,DP)[119]-[123]被认为是分布上的一个分布,是一个随机过程,被广泛应用于聚类和密度估计问题中,作为定义在混合分量数上的非参数先验。该模型不过度依赖训练样本,并能随着数据的变化而实现自适应变化,使其自然地适应OSR场景。
Geng和Chen[63]对分层Dirichlet过程(hierarchical Dirichlet process, HDP)稍加修改,将HDP适应于OSR,提出了基于集体决策的OSR模型(collective decision-based OSR model, CD-OSR),该模型既可以处理批量样本,也可以处理单个样本。CD-OSR首先在训练阶段进行共同集聚,获得合适的参数。在测试阶段,将每个KKC的数据建模为一组CD-OSR,使用的是一个成分/子类数量未知的高斯混合模型(GMM),而整个测试集作为一个集体/批处理方式相同。然后,所有的组在HDP框架下共同聚集。在共同集聚后,可以获得一个或多个子类来代表相应的类。因此,对于一个测试样品,它将被标记为适当的KKC或UUC,这取决于它被分配的子类是否与相应的KKC相关联。
值得注意的是,与以前的OSR方法不同,CD-OSR不需要定义用于确定KKCs和UUCs之间的决策边界的阈值。相比之下,它引入了一些阈值来控制相应类中的子类的数量,并且这种阈值的选择已经被实验表明更具通用性。此外,CD-OSR可以为测试中出现的UUCs提供显式建模,自然产生一个新的类发现函数。请注意,这样的新发现只是在子类级别。此外,采用集体/批量决策策略使得CD-OSR考虑了其他现有方法明显忽略的测试样品之间的相关性。此外,据[63]报告,CD-OSR目前只是对集体决策的开放集识别的概念证明,仍有许多局限性。例如,CD-OSR的识别过程似乎具有一定的懒惰学习的味道,当其他批测试数据到达时,会重复共聚过程,导致计算开销较高。
注:基于实例生成的OSR模型的关键是生成有效的UUCs样本。虽然这些方法已经取得了一些成果,但生成更有效的UUCs样本仍需进一步研究。此外,数据自适应特性使得(层次化)Dirichlet过程自然适合处理OSR任务。由于目前只有[63]对HDP进行了初步探索,因此这条研究线也值得进一步探索。此外,OSR的集体决策策略也是一个很有前途的方向,因为它不仅考虑了测试样本之间的相关性,而且为新类发现提供了可能性。而其他现有OSR方法所采用的单样本决策策略 4 ^4 4不能完成这一工作,因为它不能直接判断单个被拒绝样本是离群样本还是来自新类。
4 ^4 4单样本决策是指分类器一个样本一个样本地进行决策。事实上,几乎所有现有的OSR方法都是专门为识别单个样品而设计的,即使这些样品是集体批量来的。
请注意,现有的开放集识别确实是在开放场景中,但不是增量的,并且不能随着类的数量适当地扩展。另一方面,虽然在类增量学习(class incremental learning,C-IL)[124] -[129]中假设新类(UUCs)是增量出现的,但这些研究主要关注的是如何使系统能够吸收来自新类的后续训练样本,而不是处理识别UUCs的问题。共同考虑OSR和CIL任务,Bendale和Boult[72]扩展现有的开集识别(定义2)到开放世界识别(OWR),其中识别系统应该执行四个任务:检测UUCs,选择要添加到模型中的样本标签,标记样本,以及更新分类器。具体来说,作者给出了以下定义:
定义3。(开放世界识别[72])设 K T ∈ N + \mathcal{K}_T\in\mathbb{N} ^+ KT∈N+为时间 T T T时KKCs的标签集,并让零标签(0)来(临时)保留标记为未知的数据。因此 N \mathbb{N} N包括KKCs和UUCs的标签。基于定义2,一个开放世界识别的解决方案是一个元组 [ F , φ , ν , L , I ] [F,\varphi,\nu,\mathcal{L},I] [F,φ,ν,L,I],其中:
1)多类开放集识别函数 F ( x ) : R d ↦ N F(x):\mathbb{R}^d\mapsto \mathbb{N} F(x):Rd↦N使用第 i i i个每类可测量识别函数 f i ( x ) f_i(x) fi(x)的一个向量函数 φ ( x ) \varphi(x) φ(x),也使用一个新类检测器 ν ( φ ) : R i ↦ [ 0 , 1 ] \nu(\varphi):\mathbb{R}^i\mapsto[0,1] ν(φ):Ri↦[0,1]。我们要求$ i\in\mathcal{K}_T 的 每 个 类 的 识 别 函 数 的每个类的识别函数 的每个类的识别函数f_i(x)\in\mathcal{H}:\mathbb{R}^d\mapsto\mathbb{R} 为 管 理 开 放 空 间 风 险 的 开 集 函 数 , 如 E q . ( 1 ) 。 新 类 检 测 器 为管理开放空间风险的开集函数,如Eq.(1)。新类检测器 为管理开放空间风险的开集函数,如Eq.(1)。新类检测器\nu (\varphi):\mathbb{R}^i\mapsto[0,1]$确定识别向量函数的结果是否来自UUC。
2)一个标记过程 L ( x ) : R d ↦ N + \mathcal{L}(x):\mathbb{R}^d\mapsto\mathbb{N}^+ L(x):Rd↦N+应用于从时间 T T T开始的新未知数据 U T U_T UT,得到标记数据 D T = { ( y j , x j ) } D_T=\{(y_j, x_j)\} DT={(yj,xj)},其中 y j = L ( x j ) , ∨ x j ∈ U T y_j=\mathcal{L}(x_j),∨x_j\in U_T yj=L(xj),∨xj∈UT。假设标记找到了 m m m个新类,那么KKCs集合就变成了 K T + 1 = K T ∪ { i + 1 , … , i + m } \mathcal{K}_{T+1}=\mathcal{K}_T∪\{i+ 1,…,i+ m\} KT+1=KT∪{i+1,…,i+m}。
3)增量学习函数 I T ( φ ; D T ) : H i ↦ H i + m I_T(\varphi;D_T):\mathcal{H}^i\mapsto\mathcal{H}^{i+m} IT(φ;DT):Hi↦Hi+m可扩展学习并添加新的可测量函数 f i + 1 ( x ) … f i + m ( x ) f_{i+1}(x)…f_{i+m}(x) fi+1(x)…fi+m(x)到可测量识别函数的向量 φ \varphi φ中,每个可测量函数管理开放空间风险。
更多细节,请参考[72]。理想情况下,所有这些步骤都应该是自动化的。然而,[72]目前仅假设有监督学习,使用人工标注获得的标签,并提出了NNO算法,这在3.1.1小节中进行了讨论。
随后,一些研究人员继续沿着这条研究路线进行研究。Rosa等[130]认为正确捕获OWR的内在动力,需要追加以下方面:(a)的增量学习底层指标,(b) UUCs信心的增量估计阈值,和©使用当地学习精确描述类的空间。为了实现这些目标,他们使用在线度量学习扩展了三种现有的度量学习方法。Doan和Kalita[131]提出了最近邻质心类(Nearest Centroid Class, NCC)模型,该模型与在线NNO[130]相似,但主要有两个方面不同。首先,他们采用了一个特定的解决方案来解决增量添加新类的初始问题。其次,优化了最近邻搜索,以确定最接近的局部球。Lonij等[132]从为开放世界图像分配语义的互补方向解决了OWR问题。为了处理开放集动作识别任务,Shu等[133]提出了开放深度网络(Open Deep Network, ODN),该网络首先采用多类三重阈值法检测新类,然后通过不断添加新类的预测器动态重构分类层。此外,3.1.1小节中讨论的EVM也因其增量学习的性质而适用于OWR场景[74]。最近,Xu等[134]提出了一种元学习方法,在开放世界识别框架下学习接受不需要训练的新课程。
注:OWR作为OSR的自然延伸,面临着更加严峻的挑战,它不仅需要有处理OSR任务的能力,还需要有最小的停机时间,甚至是持续学习的能力,这在某种程度上似乎有终身学习的味道。此外,虽然在OWR方面一些进展已经取得,但仍有很长的路要走。
5 ^5 5http://www.cs.toronto.edu/∼kriz/cifar.html
A.数据集
在开放集识别中,现有的大多数实验通常是在各种重定向的多类基准数据集上进行的,在这些数据集上随机选择一些不同的标签作为KKCs,其余标签作为UUCs。这里我们列出了一些常用的基准数据集及其组合:
LETTER[135]:总共有来自26个类的20000个样本,每个类大约有769个样本,16个特征。为了将其重定位为开放集识别,随机选取10个不同的类作为KKCs进行训练,其余的类作为UUCs。
PENDIGITS[136]:总共有来自10个类的10992个样本,每个类大约有1099个样本,16个特征。类似地,5个不同的类被随机选择为KKCs,其余的类作为UUCs。
COIL20[137]:总共有来自20个物体的1440幅灰度图像(每个目标72幅图像)。每幅图像下采样至16×16,即特征维数为256。跟随[63],我们进一步采用主成分分析(PCA)技术将其维数降至55,保留了原样本信息的95%。随机选取10个不同的物体作为KKCs,其余物体作为UUCs。
YALEB[138]:扩展的Yale B(YALEB)数据集,共有来自38个人的2414张正面面孔图像。每个人大约有64张图片。图像被裁剪并归一化到32×32。跟随[63],我们也使用PCA将它们的特征维数降至69。类似于COIL20,随机选择10个不同的类作为KKCs,其余的类作为UUCs。
MNIST[139]:由10个数字类组成,每个类包含6313到7877张单色图像,特征维数为28×28。跟随[89],随机选取6个不同的类作为KKCs,其余4个类作为UUCs。
SVHN[140]:有10个数字类,每个类包含9981张到11379张彩色图像,特征维数为32×32。跟随[89],随机选取6个不同的类作为KKCs,其余4个类作为UUCs。
CIFAR10[141]:总共有来自10个自然图像类的6000张彩色图像。每个图像特征维数为32×32。跟随[89],随机选取6个不同的类作为KKCs,其余4个类作为UUCs。为了将该数据集扩展到更大的开放性,[89]进一步提出了CIFAR+10、CIFAR+50数据集,它们使用CIFAR10中的4个非动物类作为KKCs,同时从CIFAR100 5 ^5 5中分别选择10个和50个动物类作为UUCs。
Tiny-Imagenet[142]:总共有200个类,每类500幅图像用于训练,50幅图像用于测试,提取自Imagenet ILSVRC 2012数据集[143],下采样至32×32。跟随[89],随机选取20个不同的类作为KKCs,其余180个类作为UUCs。
B.评估标准
在这个小节中,我们总结了一些常用的评价指标用于开集识别。为了在OSR场景中评估分类器,一个关键因素是考虑UUCs的识别。设 T P i TP_i TPi、 T N i TN_i TNi、 F P i FP_i FPi、 F N i FN_i FNi分别表示第 i i i个KKC的真阳、真阴、假阳、假阴,其中 i ∈ { 1 , 2 , … , C } i\in\{1,2,…,C\} i∈{1,2,…,C}, C C C为KKCs的数量。另外,让 T U TU TU和 F U FU FU分别表示UUCs的正确拒绝和错误拒绝。那么我们可以得到以下评价指标。
1)OSR的准确性:作为封闭集假设下评价分类器的常用选择,其准确性
A
\mathcal{A}
A通常定义为
A
=
∑
i
=
1
C
(
T
P
i
+
T
N
i
)
∑
i
=
1
C
(
T
P
i
+
T
N
i
+
F
P
i
+
F
N
i
)
\mathcal{A}=\frac{\sum_{i=1}^{C}\left(T P_{i}+T N_{i}\right)}{\sum_{i=1}^{C}\left(T P_{i}+T N_{i}+F P_{i}+F N_{i}\right)}
A=∑i=1C(TPi+TNi+FPi+FNi)∑i=1C(TPi+TNi)
OSR场景
A
O
\mathcal{A}_O
AO的准确性的一个小扩展是,正确的响应应该包含KKCs的正确分类和UUCs的正确拒绝:
A
O
=
∑
i
=
1
C
(
T
P
i
+
T
N
i
)
+
T
U
∑
i
=
1
C
(
T
P
i
+
T
N
i
+
F
P
i
+
F
N
i
)
+
(
T
U
+
F
U
)
{A}_{\mathrm{O}}=\frac{\sum_{i=1}^{C}\left(T P_{i}+T N_{i}\right)+T U}{\sum_{i=1}^{C}\left(T P_{i}+T N_{i}+F P_{i}+F N_{i}\right)+(T U+F U)}
AO=∑i=1C(TPi+TNi+FPi+FNi)+(TU+FU)∑i=1C(TPi+TNi)+TU
然而,由于
A
O
A_O
AO是KKCs正确分类和UUCs正确拒绝的总和,因此不能客观地评价OSR模型。考虑以下情况:当拒绝性能起主导作用,并且测试集包含大量UUCs样本,而只有很少的KKCs样本,
A
O
A_O
AO仍然可以实现高值,尽管事实是KKCs识别器的分类性能很低,反之亦然。此外,[73]还给出了一种新的OSR精度度量,称为归一化精度(NA),它对KKCs(AKS)和UUCs (AUS)的精度进行了加权:
N
A
=
λ
r
A
K
S
+
(
1
−
λ
r
)
A
U
S
NA=\lambda_rAKS+(1-\lambda_r)AUS
NA=λrAKS+(1−λr)AUS
其中,
A
K
S
=
∑
i
=
1
C
(
T
P
i
+
T
N
i
)
∑
i
=
1
C
(
T
P
i
+
T
N
i
+
F
P
i
+
F
N
i
)
,
A
U
S
=
T
U
T
U
+
F
U
\mathrm{AKS}=\frac{\sum_{i=1}^{C}\left(T P_{i}+T N_{i}\right)}{\sum_{i=1}^{C}\left(T P_{i}+T N_{i}+F P_{i}+F N_{i}\right)}, \mathrm{AUS}=\frac{T U}{T U+F U}
AKS=∑i=1C(TPi+TNi+FPi+FNi)∑i=1C(TPi+TNi),AUS=TU+FUTU
且
λ
r
\lambda_r
λr是一个正规化常数,
0
<
λ
r
<
1
0< \lambda_r<1
0<λr<1。
2)OSR的F-measure:F-measure
F
F
F被定义为精度
P
P
P和召回率
R
R
R的调和平均值,广泛应用于信息检索和机器学习
F
=
2
×
P
×
R
P
+
R
F=2 \times \frac{P \times R}{P+R}
F=2×P+RP×R
请注意,当使用F-measure来评估OSR分类器时,不应将测试中出现的所有UUCs视为一个额外的简单类,并以与多类封闭集场景相同的方式获得
F
F
F。因为一旦进行了这样的操作,UUCs样本的正确分类就会被认为是真阳分类。但是这样的真正分类没有意义,因为我们没有代表性的UUCs样本来训练相应的分类器。通过仅对KKCs的Precision和Recall的计算进行修正,[73]给出了相对合理的OSR的F-measure。下面的公式详细说明了这些修改,其中Eq.(14)和(15)分别用于通过Eq.(13)计算宏观F-measure和微观F-measure。
P
m
a
=
1
C
∑
i
=
1
C
T
P
i
T
P
i
+
F
P
i
,
R
m
a
=
1
C
∑
i
=
1
C
T
P
i
T
P
i
+
F
N
i
P
m
i
=
1
C
∑
i
=
1
C
T
P
i
T
P
i
+
F
P
i
,
R
m
i
=
1
C
∑
i
=
1
C
T
P
i
T
P
i
+
F
N
i
\begin{aligned} P_{m a} &=\frac{1}{C} \sum_{i=1}^{C} \frac{T P_{i}}{T P_{i}+F P_{i}}, R_{m a}=\frac{1}{C} \sum_{i=1}^{C} \frac{T P_{i}}{T P_{i}+F N_{i}} \\ P_{m i} &=\frac{1}{C} \sum_{i=1}^{C} \frac{T P_{i}}{T P_{i}+F P_{i}}, R_{m i}=\frac{1}{C} \sum_{i=1}^{C} \frac{T P_{i}}{T P_{i}+F N_{i}} \end{aligned}
PmaPmi=C1i=1∑CTPi+FPiTPi,Rma=C1i=1∑CTPi+FNiTPi=C1i=1∑CTPi+FPiTPi,Rmi=C1i=1∑CTPi+FNiTPi
注意,虽然精确度和召回率只考虑Eq.(14)和(15)中的KKCs,但
F
N
i
FN_i
FNi和
F
P
i
FP_i
FPi通过考虑假阴性和假阳性来考虑假UUCs和假KKCs(详见c.f.[73])。
3)OSR的Youden指数:由于F-measure不受
T
N
TN
TN变化的影响[144],而TN是影响OSR性能的重要因素,Scherreik和Rigling[69]转而采用Youden指数
J
J
J,定义如下
J
=
R
+
S
−
1
J=R+S-1
J=R+S−1
其中,
S
=
T
N
/
(
T
N
+
F
P
)
S=TN/(TN+FP)
S=TN/(TN+FP)表示真阴率[145]。Youden指数可以表示算法避免失败的能力[146],它的取值边界在[−1,1],值越大表示算法越抗失败。此外,当
J
=
0
J= 0
J=0时,分类器不提供信息,而当
J
<
0
J <0
J<0时,它提供的信息往往不正确。
此外,为了克服模型参数和阈值对灵敏度的影响,[89]采用ROC曲线下面积(area under ROC curve, AUROC)和闭集精度作为评价指标,将OSR任务视为新类检测和多类识别的结合。注意,尽管AUROC在评估模型方面做得很好,但对于OSR问题,我们最终需要做出决定(一个样本属于哪个KKC或UUC),因此似乎必须确定这样的阈值。
注:F-measure和AUROC是目前最常用的评价指标。由于OSR问题面临着新的情景,新的评价方法值得进一步探讨。
C.实验
本节对5.1节中提到的流行基准数据集上的一些有代表性的OSR方法进行了定量评估。从非深度特征分类和深度特征分类两个方面对这些方法进行了比较。
1)基于非深度特征的OSR方法:基于非深度特征的OSR方法通常在LETTER、PENDIGITS、COIL20、Y ALEB数据集上进行评价。其中多数采用基于阈值的策略,建议根据具体问题[22],[23],[61]的开放性来设置阈值。然而,在OSR场景中,我们通常没有关于UUCs的先验知识。因此这样的设置似乎是不合理的,本文对此进行了重新校准,即决策阈值仅根据训练中的KKCs来确定,一旦在训练中确定,它们的值在测试中就不再改变。为了有效地确定相应模型的阈值和参数,我们引入了评价协议[63],[73],如下所示。
评估协议:如图4所示,首先将数据集划分为拥有KKCs的训练集和包含KKCs和UUCs的测试集。训练集中2/3的KKCs被选为“KKCs”仿真,其余的被选为“UUCs”仿真。因此,训练集被分为只包含“KKCs”的拟合集$ \mathcal{F}$ 和包含“闭集”仿真和“开集”仿真的验证集 V \mathcal{V} V。“闭集”模拟只拥有KKCs,而“开集”模拟包含“KKCs”和“UUCs”。需要注意的是,在训练阶段,所有的方法都用 F \mathcal{F} F进行训练,用 V \mathcal{V} V进行评估。具体来说,对于每个实验,我们
1.从对应的数据集中随机选取 Ω Ω Ω不同的类作为KKCs用来训练;
2.随机选取每个KKC中60%的样本作为训练集;
3.选取步骤2中剩余40%的样本和除 Ω Ω Ω KKCs外的其他类的样本作为测试集;
4.从训练集中随机选取 [ ( 2 3 Ω + 0.5 ) ] [(\frac23Ω + 0.5)] [(32Ω+0.5)]类作为“KKCs”用来拟合,其余类作为“UUCs”用来验证;
5.从每个“KKC”中随机选取60%的样本作为拟合集 F \mathcal{F} F;
6.选择步骤5中剩余40%的样本作为“闭集”模拟,而步骤5中剩余40%的样本和“UUCs”中的样本作为“开集”模拟;
7.用 F \mathcal{F} F训练模型,在 V \mathcal{V} V上对模型进行验证,找到合适的模型参数和阈值;
8.使用微观F-measure用5个随机类划分评估模型。
注意,这里的实验协议只是评估OSR方法的一个相对合理的形式。实际上,其他协议也可以用于评估,有些可能更适合,因此值得进一步探讨。此外,由于以往不同的论文往往采用不同的评估协议,我们在此尽量遵循他们的论文中的参数调优原则。此外,为了鼓励可重复的研究,我们请读者参考我们的github 6 ^6 6来了解关于数据集和它们相应的类划分的细节。
在不同开放度 O ∗ O^* O∗下,表3报告了这些方法之间的比较,其中有来自基于传统机器学习类别的1-vs-Set[21]、W-SVM (W-OSVM 7 ^7 7)[22]、 P I P_I PI-SVM[23]、SROSR[61]、OSNN[73]、EVM[74]和来自基于非实例生成类别的CD-OSR[63]。
图4。数据分割。数据集首先分为训练集和测试集,然后训练集进一步分为拟合集和验证集,其中包含一个“封闭集”仿真和一个“开放集”仿真。
$^6 $ https://github.com/ChuanxingGeng/Open-Set-Recognition
7 ^7 7这里的W-OSVM表示仅使用单类SVM CAP模型,可以看作是单类分类器的基准。
表3 基于非深度特征的代表性OSR方法的比较
结果显示5个随机类划分的平均微观F-measure(%)。最好的和第二好的表现方法分别用粗体和下划线突出显示。由式(3)计算的 O ∗ O^∗ O∗表示相应数据集的开放性。
表4 基于深度特征的代表性OSR方法的比较
结果显示5个随机类划分的ROC曲线下的平均面积(%)[89]。最好的和第二好的表现方法分别用粗体和下划线突出显示。由式(3)计算的 O ∗ O^∗ O∗表示相应数据集的开放性。跟随[87],我们在这里只复制这些方法的AUROC值,因为有些结果不提供标准偏差。
我们首先观察到:对于LETTER, CD-OSR的性能最好,其次是W-SVM、 P I P_I PI-SVM和EVM。对于PENDIGITS,尽管当 O ∗ O^∗ O∗=0时,CD-OSR的性能略低于 P I P_I PI-SVM,但与其他方法相比,随着开放性的增加,CD-OSR获得更高和更稳定的性能。对于COIL20,尽管SROSR得到的结果略低于CD-OSR,但在改变开放度时,其性能几乎没有变化。对于YALEB, P I P_I PI-SVM的性能最好,其次是CD-OSR、WSVM和SROSR。
我们的第二个观察是:与其他方法相比,OSNN的性能在标准差上波动较大,尤其是LETTER,这似乎意味着它的性能在很大程度上取决于相应数据集的分布特征。此外,由于1-vs-Set中的开放空间仍然是无界的,我们可以看到它的性能随着开放程度的增加而急剧下降。作为单类分类器的基准,W-OSVM在封闭集场景中工作得很好。然而,一旦场景转向开放集,其性能也会显著下降。
总结:综上所述,基于HDP的数据自适应特性,CD-OSR与其他方法相比性能较好。但是CD-OSR也受到HDP本身的限制,如不适用于高维数据,计算复杂度高等。至于其他的方法,也受限于它们所采用的基础模型。例如,由于SRC在LETTER上不能很好地工作,因此SROSR在该数据集上的性能很差。此外,如3.1小节所述,对于使用EVT的方法,如W-SVM、 P I P_I PI-SVM、SROSR、EVM,一旦KKCs和UUCs中罕见的类同时出现在测试中,它们可能会面临挑战。值得一提的是,这部分只是对这些算法在它们所有常用的数据集上进行了比较,可能在一定程度上并不能完全描述它们的行为。
2)利用深度特征的OSR方法:利用深度特征的OSR方法通常在MNIST、SVHN、CIFAR10、CIFAR+10、CIFAR+50、Tiny-Imagenet上进行评价。由于他们大多遵循[89]中定义的评估协议 8 ^8 8,并且没有提供源代码,类似于[3],[147],我们在这里只比较他们发表的结果。表4总结了这些方法的比较,其中来自基于深度神经网络类别的有SoftMax[89]、OpenMax[79]、CROSR[85]、C2AE[87],而来自基于实例生成类别的有G-OpenMax[88]、OSRCI[89]。
由表4可以看出,目前C2AE的性能最好,其次是CROSR和OSRCI。与SoftMax、OpenMax相比,G-OpenMax在MNIST、CIFAR+10、CIFAR+50上性能较好,但在SVHN、CIFAR10、TinyImageNet上性能没有明显提升。此外,如前所述,由于使用EVT,当KKCs和UUCs中的罕见的类同时出现在测试中,OpenMax, C2AE和G-OpenMax可能会面临挑战。还值得一提的是,基于实例生成的方法与其他三类方法是正交的,这意味着它可以与这些方法结合以达到它们的最佳效果。
8 ^8 8 [89]中的数据集和类划分可以在https://github.com/lwneal/counterfactual-open-set中找到。
在本节中,我们对现有OSR模型的局限性进行了简要的分析和讨论,并在以下几个方面指出了该领域一些有前景的研究方向。
A.关于建模
首先,如图3所示,虽然几乎所有现有的OSR方法都是从判别模型或生成模型的角度建模,但一个自然的问题是:能否从混合生成判别模型的角度构建OSR模型?请注意,据我们所知,目前还没有从这个角度出发的OSR工作,这值得进一步讨论。其次,OSR面临的主要挑战是,传统的分类器在封闭集场景下会对KKCs占用过多的空间,一旦UUCs的样本落入为KKCs划分的空间,就无法正确分类。从这个角度来看,以下两个建模视角将是很有前景的研究方向。
1)对已知已知的类进行建模:为了缓和上述空间占用过多的问题,我们通常希望通过聚类方法将每个目标类限制在一个紧凑的空间中,从而对每个目标类获得更好的识别。为了达到这一目的,可以将聚类和分类学习统一起来,达到两者的最佳效果:聚类学习可以使目标类获得更紧密的分布区域(即有限的空间),而分类学习可以使目标类获得更好的辨别能力。事实上,已经有一些工作将聚类和分类功能融合成一个统一的学习框架[148],[149]。不幸的是,这些工作仍然处于封闭集的假设下。因此,需要做一些认真的工作来使它们适应OSR场景,或者专门为OSR设计这种类型的分类器。
2)未知未知类建模:在开放集假设下,UUCs建模是不可能的,因为我们只有KKCs提供的可用知识。然而,适当放松一些限制将使之成为可能,其中一种方法是通过对抗性学习技术生成UUCs数据,像[89]-[91]一样在一定程度上考虑开放空间,这个的关键是如何生成有效的UUCs数据。此外,由于Dirichlet过程的数据自适应特性,基于Dirichlet过程的OSR方法,如CD-OSR[63],也值得进一步探索。
B.关于拒绝
到目前为止,现有的OSR算法大多关注的是有效拒绝UUCs,而只有少数的工作[72],[86]关注的是拒绝样本的后续处理,这些工作通常采用事件后策略[63]。因此,扩展现有的开放集识别,同时发现新的类知识将是一个有趣的研究课题。此外,据我们所知,拒绝选项的可解释性似乎还没有被讨论,其中拒绝选项可能对应一个低置信目标类、一个离群类或一个新的类,这也是未来一个有趣的研究方向。其他研究领域的相关工作见[115]、[150]-[153]。
C.关于决策
如第3.2.2小节所述,几乎所有现有的OSR技术都是专门为识别单个样本而设计的,即使这些样本像图像集识别一样是集体批量生成的[154]。事实上,这样的决策并没有考虑到测试样本之间的相关性。因此,集体决策[63]似乎是一种更好的选择,因为它不仅能考虑到测试样本之间的相关性,同时还能发现新的类。因此,我们期待通过采用这样的集体决策来扩展现有OSR方法的未来方向。
D.开放集合+其他研究领域
由于开放集场景对于现实世界的分类/识别任务是一种更为实际的假设,因此它可以自然地与涉及分类/识别的各个领域相结合,如半监督学习、领域自适应、主动学习、多任务学习、多视图学习、多标签图像分类问题等。例如,[155]-[157]将该场景引入到领域自适应中,[158]将其引入到语义实例分割任务中。最近,[159]对开放集分类在主动学习领域进行了探索。值得一提的是,我们已经使用NUS-Wide和MS COCO数据集来研究多标签零样本学习[160],这些数据集也适用于多标签OSR问题的研究。因此,许多有趣的工作值得期待。
E.广义开集识别
OSR假设只有KKCs的知识可以在训练中得到,这意味着我们也可以利用关于KKCs的各种辅助信息。然而,现有的OSR方法大多只使用KKCs的特征级信息,而忽略了它们的其他辅助信息,如语义/属性信息、知识图谱、KUCs数据(如universum数据)等,这对提高它们的性能也很重要。因此,我们提出了以下有前景的研究方向。
1)附加语义/属性信息:通过对ZSL的探索,我们发现很多语义/属性信息通常是在KKCs和未知类数据之间共享的。因此,这些信息可以完全用来“认知”OSR中的UUCs,或者至少为UUCs的样本提供一个粗略的语义/属性描述,而不是简单地拒绝它们。注意,这种设置与ZSL(或G-ZSL)中的设置不同,后者假设KKCs和UUCs的语义/属性信息在训练中是已知的。此外,表1的最后一行显示了这种差异。相关文献见[132]、[153]、[161]、[162]。其他研究领域也有一些概念上相似的课题,如开放词汇目标检索[163]、[164]、开放世界行人再识别[165]或搜索目标[166]、开放词汇场景解析[167]等。
2)使用其他可用的辅助信息:对于6.1节中提到的过度占用空间问题,通过使用其他辅助信息,如KUCs数据(例如universum数据[168],[169])来尽可能地缩小KKCs的区域,那么这些为KKCs划分的空间会减少,开放空间风险将会降低。如图1所示,以数字识别为例,假设训练集包含兴趣类“1”、“3”、“4”、“5”、“9”;测试集包含所有类’0’-‘9’。如果我们也有可用的universum数据——英文字母’Z’,‘I’,‘J’,‘Q’,‘U’,我们可以在建模中充分利用它们来扩展现有的OSR模型,进一步降低开放空间风险。因此,我们预计未来的开集识别将采用一种更一般化的设置。
F.相对开集识别
虽然开放集场景无处不在,但也有一些现实世界的场景在实践中不是完全开放的。这种情况下的识别/分类称为相对开集识别。以医学诊断为例,整个样本空间可以分为患病样本和健康样本两个子空间,在检测样本是否患病的水平上,这确实是一个闭集问题。但是,当我们需要进一步确定疾病的类型时,这自然会成为一个完全的OSR问题,因为在训练中看不到的新疾病可能会在测试中出现。目前很少有工作联合探索这种新的混合情景。请注意,在这种情况下,主要目标是限制测试中出现的UUCs的范围,同时在用KKCs构建的分类法上找到一个新样本的最具体的类标签。相关工作见[170]。
G.面向开放集识别的知识集成
事实上,对世界的不完全认识是普遍的,特别是对单个的个体来说:你知道的东西并不意味着我也知道。例如,陆生物种(子知识集)显然是针对海洋物种训练的分类器的开放集。常言道,“两个脑袋比一个脑袋好”,因此如何整合每个子知识集上训练的分类器,进一步降低开放空间风险,将是未来工作中一个有趣而富有挑战性的话题,尤其是在这样的情况下:我们只能得到相应的子知识集上训练的分类器,但由于数据隐私保护,这些子知识集是不可用的。在某种程度上,这似乎类似具有多个源域和一个目标域(mS1T)[171]-[174]的域适应性。
如上所述,在现实世界的识别/分类任务中,通常不可能对所有事物建模[175],因此OSR场景是普遍存在的。另一方面,尽管已经有很多相关的算法被提出,但仍然面临着严峻的挑战。由于目前还没有系统的综述,本文对现有的OSR技术进行了全面的综述,涵盖了相关定义、模型表示、数据集、评价标准和算法比较等各个方面。请注意,为了方便起见,本文中对现有OSR技术的分类只是一种可能的方法,而其他方法也可以有效地对它们进行分类,有些方法可能更合适,但超出了我们这里的重点。
此外,为了避免读者对类似于OSR的任务产生混淆,我们还简要分析了OSR与相关任务之间的关系,包括零样本、单样本(少样本)识别/学习技术、带拒绝选项的分类等。此外,作为OSR的自然延伸,对开放世界的识别也进行了回顾。更重要的是,我们分析和讨论了现有方法的局限性,并指出了未来该领域的一些有前景的研究方向。
感谢国家自然科学基金重点项目(No. 61732006)、国家自然科学基金重点项目(No. 61672281)和江苏省研究生研究与实践创新计划项目(No. KYCX18_0306)的支持。
表5 可用的软件包
附录A 软件包
我们给出了一个表(表5),其中列出了几个可用的软件包,实现了正文中提出的那些模型。
附录B 相关定义
极值理论[93],又称Fisher-Tippett定理,是统计分析异常高或低值数据分布的一个分支。我们在此简要回顾如下。
定理2。[极值理论[93]]
设 ( v 1 , v 2 , . . . ) (v_1, v_2,...) (v1,v2,...)为一系列的独立同分布的样本。设 ζ n = m a x { v 1 , … , v n } \zeta_n= max\{v_1,…,v_n\} ζn=max{v1,…,vn}。如果存在一个实数对序列 ( a n , b n ) (a_n, b_n) (an,bn),使每个实数对都有 a n > 0 a_n>0 an>0,并且 lim z → ∞ P ( ζ n − b n a n ≤ z ) = F ( z ) \lim _{z \rightarrow \infty} P\left(\frac{\zeta_{n}-b_{n}}{a_{n}} \leq z\right)=F(z) limz→∞P(anζn−bn≤z)=F(z),那么如果 F F F是一个非退化分布函数,它属于Gumbel、Frechet或Reversed Weibull族。