Advertisement

OpenGAN: Open-Set Recognition via Open Data Generation

阅读量:

摘要:

  1. 现有的机器学习系统必须处理与训练样本不同的独立测试样本。在多类别分类任务中(即K-way分类),这一过程通常被称为开集识别问题(open-set recognition),其中目标是区分具有闭合特性(closed-set)的数据分布特征。
  2. 对于开合识别问题的主要解决方案包括以下两种:
    1)通过引入离群样本作为代表进行学习,在这种情况下分别构建对开合情况的判别模型;
    2)基于闭合分布的数据进行无监督建模,并利用生成对抗网络(GANs)生成潜在的空间表示。
    然而,在实际应用中发现上述方法存在明显局限性:
    对于第一种方法而言,在面对多样化的开放测试样例时容易出现性能下降;
    而第二种方法由于GANs自身的训练不稳定性和计算资源需求高这一缺陷,
    在实际应用效果上也难以达到预期目标。
  3. 针对上述现有技术的局限性问题,在本研究中我们提出了一种创新性的解决方案——OpenGAN。
  • 首先,在一批真实离群数据基础上训练出来的GAN鉴别器已经达到了当前最先进的水平。
  • 可以通过生成"假"数据来扩充真实开集示例集。
  • 同时,在其K-way网络计算特征的基础上进行应用。

大量实验表明,OpenGAN的性能明显优于以前的开集方法。

图1:我们研究了开放集识别技术及其应用前景。(a) 相关领域的研究已表明,在生成对抗网络(GAN)中使用判别器作为分类器具有显著优势[56, 53, 48, 66, 37]。(b) 异常值暴露方法基于一些特定异常值数据构建二元判别器D,并利用其对不同类别样本的区分能力实现对未知类别的检测[31]。然而由于现有研究中发现离群值无法全面覆盖开放世界[57]。(c) 针对上述问题我们提出了OpenGAN模型该模型采用由训练有素生成器G生成的一系列假开放样本作为辅助训练数据并在此基础上设计了一种轻量级判别器头结构使得传统的K-way分类器能够直接扩展用于解决实际应用中的多类别检测问题

1.引言

在真实世界运行的机器学习系统难以避免地会遇到与训练样本不同的测试环境下的数据。例如,在训练过程中未曾有充分的机会观察到或者从未见过的异常情况以及罕见物体。图2展示了两个具体的案例。其中,在训练和测试阶段均较为罕见的'婴儿车'/'街边市场'被最先进的语义分割网络误将其归类为'摩托车'/'建筑'。

基于异常检测算法[69, 31]以及分布外检测方法[36]的研究与实践,在K-分类框架下,这种技术的本质可被简洁地描述为一种开放集识别问题。其核心在于对属于K个封闭类之外的第(K+1)个 "其他 "类的开放集数据进行精确区分[54]。通常情况下,在开放集识别任务中,默认假设训练数据集中不存在来自 "其他 "类的真实样本(即所谓的开放训练数据)[6, 64, 44]。在这种标准设定下,默认情况下认为一个理想的方法应当能够通过仅利用封闭类数据的学习机制来实现对未知类别样本的有效分类[56, 53, 48, 66, 37]。然而,在实际应用中发现这一假设往往难以满足现实需求:现有的研究工作主要集中在如何利用生成对抗网络(GANs)来学习封闭类数据的概率分布模型,并将该概率分布模型作为评价对象以衡量其对潜在离群点样本的表现能力(图1a)。尽管如此,在这种框架下直接采用传统的GAN-判别器体系仍存在明显的局限性:由于GANs训练过程中的不稳定性特性导致其泛化能力不足[57]。近年来的一项重要研究发现,在这一领域中存在一个显著的问题:模型在训练时过度依赖于可获得的异常实例可能会导致系统出现严重偏差【注意

首先表明,在筛选功能下使用离群数据作为验证集来选择合适的GAN-判别器确实达到了当前开放集判断技术的新高度。
其次,在对抗训练中生成了欺骗性的二元分类器假公开样例以补充可用的数据集(图1c),从而利用离群数据暴露后的情况进一步提升模型性能。
最后,在基于封闭世界K-way分类网络计算出的预设好的OTS特征上构建这些鉴别器能够显著提升其泛化能力(图1d),与直接在像素层面上定义不同。

我们的表述在三个方面与其他采用GANs的openet方法不同。

(1) 我们不致力于生成现实像素图像;相反地,则是学习一个稳健的开闭判别器,并将其作为开放集似然函数的一部分进行建模。基于此分析可知,在这种情况下我们的方法或许能够更有效地构建一个鉴别性的对抗性网络模型。

(2) 采用假数据(由生成器合成)与真实开放训练实例(参考离群点暴露[31])共同训练判别器。(3) 我们主要在OTS特征而非RGB像素上进行GANs的训练。研究表明,在图像分类和像素分割等多任务中,OpenGAN显著优于先前的开集识别工作。此外,在基于GAN的方法中,通过将我们的技术见解应用于OTS特征上的方法,并利用验证集选择其判别函数作为开集检测的标准时,能够显著提升基类方法的准确性。

2. 相关工作

开集识别任务是一个重要的研究方向,在这一领域已有许多探索性工作被提出。例如,在异常检测领域已发表多篇相关论文[12, 36, 69];此外还有针对离群点检测的研究成果[53, 48]以及专门针对开集识别的问题定义[54, 22]。这些研究大多假设训练数据中没有开集实例的存在。为此,在实际应用中提出了多种解决方案:一种是在封闭世界框架下先期训练一个K-way分类器[30, 6];另一种则是通过人工合成假开数据来辅助提升模型性能[21, 42, 64, 59];还有一种则是采用事后的特征分析手段来辅助判别样本属性[69, 67;20,36;48,23;59]。为了提高开集样本的判别能力,在本研究中我们尝试了一种新的思路:即设计一种简单的对抗生成模型(OpenGAN),该模型能够在逆向分布上进行优化设计,并且能够同时实现对闭合世界分类器与开样本区分器的协同学习与优化设计。

基于GAN模型的开放集识别方法具有重要的研究价值。

3. 用于开放集识别的OpenGAN

通常情况下,在计算机视觉领域中进行开放集识别时会遵循以下分步说明。(1)首先按照是否存在开放区域的可能性对测试样本进行分类判定为封闭区域实例或开区域实例;(2)其次针对被判定为封闭区域的所有类别进行多标签分类任务处理。其中步骤(1)[54, 5, 44]已经得到了广泛认可的研究基础。而开区域识别的核心问题在于如何在缺乏开区域样本的情况下提升模型性能[42, 44]。研究表明[18, 31]支持了这一观点:即通过训练一个简单的二元分类器来区分开闭两类区域能够显著提升性能表现(如图1b所示)。然而由于构建完全涵盖开世界范围内的训练数据具有很高的难度[57]这会导致模型容易过度拟合异常数据从而影响泛化能力。为此我们提出了一种名为OpenGAN的新方法:该方法通过对抗性训练生成器的方式生成虚假开区域训练样本以缓解上述挑战问题[57]其核心思想是利用生成模型模仿真实数据分布从而帮助模型更好地适应未知领域的情况。值得注意的是我们还发现即使是在没有公开可用开区域训练数据的传统设置下该方法依然能够有效提升性能表现

3.1方法论

设x为一个数据实例, 其可以表现为RGB图像或相应的特征表征. 我们将证明其中后者表现出色. 设Dclosed(x)代表x所属的闭包区域的数据分布, 即这些闭包区域的数据属于K个不同的封闭类别. 同时, D open(x)则代表开放区域的数据分布, 其体现的是不属于任何已知类别情况下的开放样本.

二元分类器。我们从封闭集和开放集数据中训练一个二元分类器D。

在其中,在概率p(y=“封闭集”且jx)的基础上展开讨论

生成的公开数据样本。一种可行的方法是通过生成合成数据来辅助训练分类模型;基于这些人工合成的数据实例,在优化分类器D时可能会有助于提升其识别性能。为了实现这一目标,在引入深度学习技术时需要考虑引入一个深度生成模型G(z),它能够基于高斯白噪声等输入变量z∼N(0,1)生成多样化的样本特征[41, 13]。然而,在这种情况下,模型D可能会倾向于将这些人工合成的数据误判为来自开放集的数据类别。为了应对这一挑战,在对抗训练中引入对抗损失函数能够帮助模型G更好地生成难以被分类器D识别的真实样例。

由于经过充分训练的生成器G能够生成逼真的封闭类图像,在这种情况下会导致判别器D无法有效识别开放类数据。我们发现,在这一前提下,以下两种技术表现尤为出色。

OpenGAN基于真实的数据集(包括开放与闭合数据源)以及生成的数据样本进行训练,并通过这种机制实现(类似于GAN)在判别器D与生成器G之间的最佳平衡。

当缺乏开放性示例时(即λo=0),即使不依赖额外的数据扩展方法,在这种情况下仍能有效构建用于多标签分类任务的生成模型。在这种特定条件下,OpenGAN实际上等同于传统的GAN,并将其判别器直接用作评估是否属于潜在类别的一种工具。尽管现有的研究表明传统的基于对抗的方法效果有限,在利用验证集进行筛选后,“OpenOGAN-0”在性能上与现有最优方案相当。“OpenOGAN-0”特别地,在关键组件的设计上具有显著的优势。

公开测试表明,在GANs中进行模型选择确实存在诸多挑战。一般而言,在学术界人们往往通过人工评估不同模型在特定时刻生成图像的质量来进行模型筛选[25]。然而我们发现仅使用最后一个时间段的数据或者选取训练过程中损失函数最小的具体时间段的数据均未取得理想效果(如图2所示),因为对抗性训练过程最终会导致判别器D无法将来自闭集的数据与其生成出来的假开放集数据区分开来(详细内容见附录)。我们发现使用真实离群数据构建验证集来辅助判别器D的选择极其关键,并且当该验证集在valset上实现了最佳的开放-封闭分类精度时 表现最为突出 。此外我们发现该性能在valset上的表现非常稳健 即使面对来自不同分布情况下的离群实例(如表3和4所示)也未出现明显偏差 **。

3.2. 对先前的GAN方法的进一步讨论

大量工作采用了GANs来进行开放集的识别。我们对OpenGAN进行了与这些文献的对比分析。

鉴別器与生成器(discriminator and generator)是GANs的核心组件。G代表生成器(generator),D代表鉴別器(discriminator)。GANs的主要目的是生成高质量的真实图像(primarily aims to generate realistic images)。为了提升开放集识别性能,在现有的公开数据集中引入了人工标注的数据点(open-set training data points),这些数据点通常来自真实世界环境(real-world environments)。Prior work in open set recognition has focused on employing GANs to generate realistic open-set training images [21, 34, 42]。这些额外的图像则用于扩展训练数据以提高模型的学习能力(to extend the training dataset to improve the model's learning capability)。在本研究中,则直接采用已训练好的判别器作为open-set likelihood estimation的方法而不必单独构建一个open-set分类模型.

输入数据中的特征与像素之间的关系。

分类与重构分析表明,在现有的研究中,基于GAN的方法主要依赖于重建误差来进行开放集识别[56, 53, 48, 66, 44]。其核心依据是封闭集数据产生的重建误差通常低于开放集数据的特性。尽管这一假设在一定程度上具有合理性[2,9],但如图2所示的Cityscapes图像等复杂高分辨率场景的重建仍是极具挑战性的任务。相反,在这种情况下直接采用判别器输出作为开放集的概率估计会表现出较差的效果[56, 53, 48, 66]。然而值得注意的是,在现有文献中这一方法被认为是效果欠佳的基准模型[37]。然而我们发现,在多个基准测试中该方法的表现首次超越了现有技术水平,并且这种超越得益于第3.1节提出的基于开放验证的选择策略

4.实验

我们展开了全面的测试以评估OpenGAN在不同环境下的表现,并通过深入分析其特性展示了OTS特征与基于GAN-判别器的开放集似然函数的优势。随后我们将扼要阐述以下三种实验配置方案(详细内容将在后续章节中详述)。

  • 设置一:该系统采用开放集判别方法将训练数据划分为封闭集与开放集两类,在具体实施中将MNIST手写数字中的前五个数字(0-5)划归为封闭训练类别(closed-set training),剩余的四个数字(6-9)则作为测试时的开放类别(open-set testing)。这种划分方式遵循了常见的实验设计原则[42, 44, 47, 67]。
  • 设置II涉及对封闭集中样本的多类别分类任务(K-way classification)与开放类别识别过程的结合研究,并采用了"少误偏倚"协议[57]作为指导原则。
  • 设置III聚焦于像素级的开闭判别问题,在语义分割任务中评估了不同判别级别下的分类精度表现。

我们在本研究中描述了一种实现封闭世界K-way分类网络的方法,并对其OTS特征进行计算。这些特征被用于训练OpenGANfea(图1d),同时与其他方法如OpenMax[6]和C2AE[44]所使用的OTS特征进行比较。具体而言,在设置I和设置II下,为了构建K-way分类网络,在封闭训练集上分别对ResNet18模型[28](具有K-way交叉熵损失)进行了针对性的训练。而在设置III中,则采用了Cityscapes[14]上的顶级语义分割模型HRNet[61]作为OTS网络,并从其倒数第二层及之前的层提取OTS特征。此外,在这些OT
S特征的基础上,我们分别对OpenGANfea判别器(2MB)与生成器(2MB)进行了训练。为了全面评估性能,在此基础之上我们还设计了一个基于CNN架构(14MB)、仅在像素级别对基础OpenGANpix[68]进行培训的方法。整个过程均采用GAN技术[49]进行建模与优化。值得注意的是,在与 Cityscapes[14]-规模相当的HRNet相比,本方法所构建的OpenGANfea不仅体积更小而且计算开销也更为高效。实验则使用PyTorch[45]在单个 Titan X GPU 上完成

评价指标。为了系统性地评估开放-封闭二元分类系统的性能特征,本研究基于文献中的研究方法和统计分析工具...进行了深入分析。该指标具有不受阈值影响且无需校正的优势...提供了在不同类别平衡情况下的稳定性和可靠性表现...针对采用K+1类别进行分类的场景(其中包含K个限定类别以及第K+1个未限定类别),本研究报告基于所有K+1个类别计算得到的宏观F1均值分数...]

5.总结

我们开发了一种名为OpenGAN的技术方案,在这一领域实现了突破性进展。该方案包含两个核心技术:首先基于OTS特征而非像素层构建了一个可区分真实与异常样本的分类模型;其次通过对抗生成网络模拟大量异常样本来丰富训练数据池。基于该方案设计的人工判别器不仅达到了当前领域的最高性能,并且能够有效利用真实离群样本进行模型优化。即便测试样本分布不均衡或存在明显偏见,在测试环境下依然表现良好。此外,在多个应用场景中验证其优越性

全部评论 (0)

还没有任何评论哟~