AI领域新热点——开放集识别问题总结与展望 | 社区征文

社区征文

前言

在人工智能领域,基础方面有两类问题,一个是识别问题,另外一种是回归问题。目前小包研究的方向为非侵入式负荷识别,通俗来讲就是根据从智能电表、智能插头等能源监测设备获取的聚合电力信息,通过计算机的人工智能算法,从聚合电力信息中识别出各类用电设备,也就是获取能源检测设备所监测的所有用电设备信息。可以发现这是一个简单的多分类问题,类似于 MNIST 数字的分类。

但非侵入式负荷识别并不是本文的重点,识别问题是一个庞大的类别,既有图像识别,又有手动提取特征的时间序列识别等。这类识别问题有比较大的缺陷,它是一种面向封闭数据集的识别。

识别的大致流程: 数据预处理 -> 提取特征 -> 神经网络训练与识别 -> 实验评估与分析

神经网络的训练和识别及实验评估通常是识别问题的关键,目前的主流做法是将完整的数据集按比例进行划分,通常分为训练集、验证机、测试集。以负荷识别领域常用的 PLAID 数据集为例,里面共有 11 类电器,在这里一个很致命的问题就出现了,划分的训练集和测试集通常包含的类别是一致的,那就意味着整个识别过程都是在围绕已知类别,这与现实场景相差甚远。

在现实世界的识别任务中,受各种客观因素的限制,在训练识别模型时,通常很难收集训练样本的所有类别,封闭集识别脱离现实场景。开放集识别(Open Set Recognition,OSR)是依据现实问题提出的新研究方向,要求模型在没有任何辅助信息时,不仅能分类见过的类别,还能准确识别新出现的类别。这一特性打破了封闭环境的识别限制,建立模型的过程中人们不需要标记所有的样本信息集辅助信息。近年来,OSR 问题吸引了越来越多研究者的关注,成为机器学习领域中的新热点。

举一个两类识别差别的案例: 猫狗图像识别问题,测试时传入 🐖 的图像,封闭集识别会告诉你是 🐱 或者 🐕,这明显违背了我们的初衷。如果是开放集识别问题,对于 🐖 图像,返回未知图像,对于 🐱 或者 🐕 返回对应 🐱 或者 🐕 结果。

开放集识别

开放集识别的难度相对是非常高的,因此也衍生了几类问题。

  • KKCs(known known classes): 传统分类问题,正训练样本具有明确标签(对其他 KKCs 为负样本),包含相应的伴随信息(语义和属性信息等)的类别
  • KUCs(known unknown classes): 包含被标记的负样本,即样本虽被标记但不属于问题期待的类别,通俗来说就是标记了识别以外的类别,如一些背景类别等。
  • UKCs(unknown known classes):zero-shot learning 问题,训练样本未知,但训练过程中可以获得对应伴随信息
  • UUCs(unknown unknown classes):训练时没有标记样本信息,同时没有伴随信息

开放集识别(OSR)问题训练时样本为 KKCs,测试时样本为 UUCs,目标在于准确分类 KKCs 类别及正确拒绝 UUCs 类别。

开放集识别进展

下图是 OSR 问题发展的总框架,OSR 问题经过近几年的发展展现出蓬勃的生机,下文围绕几篇关键文献展开对 OSR 问题的讲述。

picture.image

OpenMax

传统识别问题中通常使用 SoftMax 来计算各类别概率,然后获取 TopX 类别来作为识别结果。类别概率听到这个词,就可以很快想到数学中的知识,总类别概率为 1,这意味着 SoftMax 层对输入向量进行标准化操作后,不管是 KKCs 样本还是 UUCs 样本,最终的概率和都为 1,这种方案从机理上就是封闭的,无法拒绝 UUCs 样本,只会给其分配最接近的 KKCs 类别。

文献《Towards Open Set Deep Networks》中研究人员提出 OSR 问题一大核心解决思路:模型应该拒绝未知类,而不是以高置信度将其辨认为已知类。

作者引入了 OpenMax 层,使模模型拒绝未知类以及不相关类图像,从而降低错误率。

OpenMax 是如何实现未知类的拒绝那?

  1. 通过最小化交叉熵损失,深度神经网络先使用原始 SoftMax 层进行训练
  2. 然后采用最近类平均的算法将每个类别计算为平均激活向量(MAV)
  3. 激活向量的平均值(仅用于正确分类的训练样本)处于神经网络的倒数第二层,也就是 SoftMax 层前的全连接层。
  4. 接下来计算训练样本与其对应类别 MAV 的距离,并将其用于每个类别的单独威布尔分布,来评估当前输入是否偏离已知类别。
  5. 基于威布尔分别计算结果重新分配 MAV 值,计算 UUC 的伪激活
  6. 最后对重新分配的 MAV 再次使用 SoftMax 来计算 KKC 和(伪)UUC 的类概率。

可以发现 OpenMax 是一种非常厉害的 OSR 问题解决方案。

基于 OpenMax 可以自动拒绝许多开放环江下的 UUCs 样本集 Fooling 样本,可以有效提高开放集深度网络图像识别的准确性。但其跟 SoftMax 层一样,很容易收到比较复杂生成对抗技术的影响,这是 OpenMax 需要改进的方向。

Generative Adversarial Networks

另外比较核心的解决方法为生成对抗网络(Generative Adversarial Networks,GANs),GANs 有效解决了很多类问题,它通常由生成器和判别器组成,生成器生成样本,试图使判别器无法识别出该样本由生成器生成。

GANs 神经网络也广泛的应用于 OSR 问题。

基于 OpenMax 层的方法根据 KKCs 的 MAV 估计了 UUCs 的伪概率,实现拒绝效果,但并没有实际考虑 UUCs 的先验知识。

因此文献《Generative OpenMax for multi⁃class open set classification》提出 G-OpenMax 算法,扩展原有的 OpenMax 方法,利用 GANs 来生成新的类别图像直接估计 UUCs 概率,合成样本利用潜在空间的 KKCs 的混合分布生成,这种方法克服了 OpenMax 的伪概率问题,提高了单色数据集上 OSR 识别的性能,对于自然图像 OSR 识别性能并没有提升。

开放集识别与封闭集识别的关联

就在不久前,OSR 领域新发布了一篇极具影响力的文献《Open-Set Recognition: a Good Closed-Set Classifier is All You Need?》,这篇文献证明了开放集识别任务中模型的封闭集和开放集性能之间的强相关性。

虽然小包对这种想法保持怀疑态度,封闭集的识别效果真的会与开放集识别保持正相关吗?它没有依据啊,这是两类问题,存在一些差异。

但该篇文献的确证明了这一点,如果该文献结论可信,这意味着只需提高封闭集类内识别的精度,就可以实现开放集识别的效果的提升。这把复杂的 OSR 问题重新转回了传统识别问题,这是一种极大的创新。

总结与展望

作为人工智能领域的新星,近年来,OSR 问题迅速发展,尤其在图像识别、人脸识别领域取得了许多巨大的成功,OSR 问题突破了传统封闭环境识别,具有极大的现场潜力。但目前 OSR 算法还存在各类限制,如何更好的进行 OSR 需要更多科研人员的努力。

OSR 问题还有一个核心问题,面对未知拒绝类,我们应该如何处理那,单纯的拒绝其实是很鲁莽的,现实世界的 OSR 问题应当是拒绝未知类,同时学习未知类的信息,慢慢的实现未知类的识别。也就是需要把增量学习引入到 OSR 问题中,现实世界的 OSR 识别不仅要识别 UUCs 类别,更需要根据神经网络或者人工标注等手段将 UUCs 变换为 KKCs ,将 UUCs 类别转变为训练样本,实现模型的更新。

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论