深度神经网络在传统闭集分类任务上取得了很大的性能提升,然而其在开放集识别任务中仍面临巨大的挑战。在开放集识别任务中,未知样本(即未在训练类别中出现过的样本)会在测试阶段出现。这要求模型不仅能够准确分类已知样本(即所属类别在训练阶段出现过),同时还要准确区分已知样本和未知样本[1]。开放集识别本质上是一个
类分类问题,其中
为已知类个数,而所有未知样本均被视为额外的1类。开放集识别更贴近实际应用要求,例如在自动驾驶中,未知的物体和场景会不断出现;在医学图像分析中,未知的疾病类型也会不断出现。
相较于广阔的未知世界,人们所收集标注的训练样本仅能覆盖实际中有限的少数类别。利用有限的训练数据,大多模式识别方法很难在未知样本上具备可信的泛化能力。在CNN中,其SoftMax操作输出的后验概率常被用于检测输入样本是否为未知样本。然而,实验表明,即便对差异很大的未知样本,CNN仍以较大置信度将其错误地分到已知类别中。CNN出现这样错误主要归结于两大原因。一方面,CNN中SoftMax操作将样本属于已知类的后验概率归一化为1,而未给未知类预留一定的概率,故根据其输出的类后验概率很容易将未知样本错分为已知样本。另一方面,CNN为纯判别模型,其本质上对整个特征空间进行了划分并将所有的特征区域分配给了已知类,而未给未知类预留一定的特征空间,这也使得它难以处理未知样本。相对于判别模型,生成模型显式地刻画了已知类的特征分布。若一个样本特征在已知类分布下似然较低,则可将其判为未知样本。故生成模型更适用于检测未知样本。然而,生成模型对已知类样本的分类精度通常较差。在开放集识别任务中,将生成模型和判别模型结合是一重要趋势。
在CNN中,不同的开放集识别方法被相继提出,它们可大概被分为3大类:基于数据增广的方法、基于统计模型的方法、基于网络结构的方法。基于数据增广的方法通过收集或生成未知样本,直接训练一个类的分类器[2]。该方法较为直接,但收集或生成大量未知样本往往需要耗费大量的标注或计算代价。此外,增加的有限未知样本也很难体现真实而多变的未知世界。基于统计模型的方法对已知类特征或Logits进行统计建模,利用样本在模型下的似然度来判断样本是否为未知样本[3]。这类方法有很好的理论分析,且有不错的性能表现,是目前一类主流的开放集识别方法。但是,这类方法本质上是一种后处理的方式,在模型训练阶段并未将开放集识别任务考虑进去,而仍像传统闭集分类任务那样来训练模型。基于网络结构的方法通过利用特殊的网络结构,如Auto-encoder,Ladder Net,One-vs-rest层等来训练模型[4]。这类方法通常效果很好,但特殊的结构也限制了其在不同场景中的应用。在开放集识别任务中,大多数方法在性能、通用性、效率等方面仍与应用需求存在较大差距。
对于CNN在开放集识别中的缺陷,我们进行了针对性的改进,提出了卷积原型网络(Convolutional Prototype Network,CPN)。相对传统CNN,CPN主要进行了如下改进:(1)CPN舍弃了基于封闭世界假设的SoftMax操作,而是利用原型匹配的方式进行判别,训练和测试过程中未进行任何已知类上的归一化操作;(2)CPN借鉴了人类的识别机制,利用CNN模拟人类的感知系统,利用原型模拟人类的记忆系统,通过将物体抽象表达(CNN提取的特征)与记忆(原型)进行比对,进而判断物体属于哪个类别。若物体特征与所有原型匹配程度都很低,则将其判为未知类别;(3)基于原型的概念,可在CPN中自然地引入生成模型,并导出相应的生成损失。通过将判别损失与生成损失联合起来进行训练,CPN可同时具备判别模型和生成模型的优势,使得其在区分已知/未知的同时也能够很好分类已知样本。CPN整体模型架构入图1(a)中所示。
图1(a)卷积原型网络架构;(b)判别损失基本原理;(c)生成损失基本原理
如图1(a)中所示,CPN主要由两部分构成,即CNN特征提取器
与各类的原型
。其中
表示原始输入,
为CNN特征提取器的参数。为已知类个数,对每个类别
,都学习和维护
个原型模拟人类对该类的记忆。在判别阶段,CPN采取最近原型准则,通过特征和原型的距离匹配进行判别,即
其中
定义为
为对CPN进行训练,使其能够正确分类已知样本,我们设计了四种不同的判别损失。判别损失的设计原理是尽可能缩短样本特征到正确类的原型的距离,而增加其到非正确类的原型的距离,使得样本可在最近原型准则下能够被正确地进行分类。我们设计的四种不同类型的判别损失为最小分类错误损失(Minimum Classification Error Loss,MCE),基于间隔的分类损失(Margin Based Classification Loss,MCL),基于距离的交叉熵损失(Distance Based Cross Entropy Loss,DCE)和一对多损失(One-vs-all Loss,OVA)。
MCE将传统原型学习方法中的MCE损失推广到了深度模型[5],其具体定义为:
其中,
和
分别表示最近的正确类原型和最近的非正确类(竞争类)原型。从上述定义中可看出,当最小化MCE时,会减小特征到正确类原型的距离,而增加了特征到非正确类的原型的距离。
MCL借鉴Hinge Loss的思想,通过添加Margin的方式来使损失的惩罚更严格。MCL不仅要求特征到正确类的距离小于特征到非正确类的距离,还进一步要求两个距离的差值小于一定的数值,从而提高模型在判别时的鲁棒性。MCL的具体定义为:
其中,和分别表示最近的正确类原型和最近的非正确类(竞争类)原型,
为设置的Margin参数。
DCE将传统CNN中交叉熵损失拓展到了CPN中,其基于距离计算样本到每个类别的后验概率,并利用负Log似然作为损失,其具体定义为:
在OVA中,我们以原型为中心,以
为半径构建原型球。基于此,每个类对应原型球并集即为该类的合法区域。对于训练样本,我们显式地要求其属于正确类的合法区域,同时要求其不属于其他所有非正确类的合法区域,由此导出了对应的OVA损失。经过具体推导后,OVA具体定义为:
在CPN中,我们可基于原型构建相应的生成模型。具体而言,对某个类别,假设其类内特征分布为混合高斯分布,且该类原型为对应各高斯成分的均值,且不同类、不同高斯成分都共享同一个协方差矩阵
。基于这样的分布,对一个训练样本,可求出其在该分布下的似然度,并利用其负Log似然作为相应的生成损失。经过推导和简化后,生成损失具体定义为:
从生成损失的定义中可看出,最小化生成损失可压缩类内特征分布。通过与判别损失配合,CPN可学到类内紧致,类间分隔的特征分布。此种分布可预留更大的空间给未知类,故可提高CPN在开放集识别中的可用性。
在CPN中,我们一般结合生成损失和判别损失对模型进行训练,即
由于判别损失和生成损失对原型和CNN参数均可导,故基于这样的损失可对CNN特征提取器和原型进行端到端的训练。
针对CPN,我们设计了两种不同的拒识方法,即基于距离的拒识方法(Distance Based Rejection Rule,DR)和基于概率的拒识方法(Probability Based Rejection Rule,PR)。
在DR中,给定阈值
,同时计算样本特征到所有原型的距离,若:
在PR中,给定阈值,同时计算样本属于各类的概率,即:
理论分析和实验表明,DR更适合拒识与已知样本差异较大的未知样本,如噪声等,而PR更适合拒识与已知样本较相似的未知样本。
我们在MNIST,CIFAR-10和OLHWDB(3755类)上进行了闭集分类实验,相关结果如下图表所示:
从以上结果可看出,在闭集分类任务上,CPN可取得与CNN相当的分类精度。同时,从表格1和表格2可看出,当引入生成损失(PL)后,CPN的性能可得到进一步提升。从表格2和表格3可看出,CPN同样适用于不同的网络结构和大类别分类场景。从图2中可看出,结合判别和生成损失,CPN可学到类内紧致类间分隔的特征分布,这样的特征更适用于开放集识别问题。
在开放集识别实验中,我们选定了6中不同的实验场景,即MNIST,SVHN,CIFAR-10,CIFAR+10,CIFAR+50和Tiny ImageNet。在MNIST,SVHN,CIFAR-10中,随机选择6个类作为已知类,其他4个类作为未知类。在CIFAR+10/CIFAR+50中,选择4个CIFAR-10中类作为已知类,而随机选择CIFAR-100中的10/50个类作为未知类。在Tiny ImageNet中,随机选择20个类作为已知类,其他180个类作为未知类。实验中,只用已知类训练样本进行训练,但模型在所有类别(已知+未知)测试样本上进行测试。实验选择两个指标,即已知类分类精度和区分已知/未知的AUC值,来综合评价模型开放集识别效果。相关实验结果如下表所示:
从表4和表5中可看出,相对已有方法,CPN在开放集识别任务中有很大的性能优势。相比已有方法,CPN更加高效,其不需要额外的训练数据,不需要复杂的未知样本判断逻辑,且可进行端到端的训练。
我们进一步在ImageNet上进行实验来考察CPN的开放集识别性能。在ImageNet中,分别采取前100/200类作为已知类,其他类作为未知类,相关实验结果如下表所示:
从表6中结果可看出,即使是在更复杂困难的ImageNet数据集上,我们的方法也具备更好的开放集识别性能。
之前实验中,已知和未知样本均来自同一个数据集,其本身有一定相关性。为进一步考察CPN对噪声的拒识性能,我们在CIFAR-10和ImageNet上进行了实验。我们考虑了两种不同形式的噪声,即高斯噪声(Gaussian Noise,GN)和合成噪声(Synthetic Noise,SN)。在SN中,我们将一幅图片分成不相交的子图,然后对子图随机排列组合成未知样本。相关实验结果如下表所示:
从表7中可看出,对噪声拒识,CPN也有更好的性能表现。同时,在拒识噪声时,DR比PR有更好的性能表现。
https://ieeexplore.ieee.org/abstract/document/9296325
[1] W. J. Scheirer, A. Rocha, A. Sapkota, T. E. Boult. Toward open set recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013.
[2] L. Neal, M. Olson, X. Fern, W. Wong, F. Li. Open set learning with counterfactual images. Proceedings of the European Conference on Computer Vision, 2018.
[3] A. Bendale and T. E. Boult. Towards open set deep networks. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016.
[4] R. Yoshihashi, W. Shao, R. Kawakami, S. You, M. Iida, T. Naemura. Classification-reconstruction learning for open-set recognition. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2019.
[5] B.-H. Juang and S. Katagiri. Discriminative learning for minimum error classification (pattern recognition). IEEE Transactions on Signal Processing, 1992.
原文作者
:Hong-Ming Yang; Xu-Yao Zhang;Fei Yin; Qing Yang; Cheng-Lin Liu
审校:殷 飞
发布:金连文
免责声明:(1)本文仅代表撰稿者观点,撰稿者不一定是原文作者,其个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准。(2)本文观点不代表本公众号立场。
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取5000+AI主题干货知识资料!
欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程资料和与专家交流咨询!
点击“
阅读原文
”,了解使用
专知
,查看获取5000+AI主题知识资源