2020年11月14日至15日,由中国人工智能学会、嘉兴市人民政府主办,嘉兴市南湖区人民政府、嘉兴科技城管理委员会、浙江未来技术研究院(嘉兴)共同承办的2020第十届中国智能产业高峰论坛(CIIS 2020)在嘉兴南湖举办。在11月15日举办的计算机视觉专题论坛上,CAAI副理事长、中科院自动化所副所长、IAPR/IEEE/CAAI Fellow刘成林研究员为我们带来了题为《面向开放环境的鲁棒模式识别》的精彩演讲。
刘成林
CAAI 副理事长,中科院自动化所副所长、研究员
IAPR/IEEE/CAAI Fellow
以下是刘成林研究员的演讲实录:计算机视觉中主要的问题就是模式识别,因为图像视频分析中的目标检测识别和行为分析都是模式识别问题。可以说计算机视觉是模式识别领域最大的应用方向。面向计算机视觉和其他模式识别应用,我今天就讲一个模式识别的基础研究问题——面向开放环境的鲁棒模式识别。这个问题对做应用非常重要,因为它就是从应用需求提出来的,实际应用场景几乎都会面临这个问题。
首先简单介绍模式识别现有状况。一个典型的模式识别系统,比如从图像里识别人和文字(目标),先给目标定位,然后判别是哪个类别。传统方法是人工设计特征,然后训练分类器;现在深度神经网络把特征和分类器放在一起进行端到端学习。模式识别是人工智能领域非常重要的分支方向。上世纪 50 年代开始和人工智能同步发展,七八十年代模式识别发展较快;80 年代多层神经网络因为误差反向传播算法被重新提出和广泛使用而成为热门的方法;90 年代支持向量机(SVM)出现后曾经一统天下;2000 年后,提出来了如集成学习、半监督学习、概率图模型、迁移学习等很多与模式识别相关的新的学习方法,机器学习做的事情基本都是设计和优化分类器。
模式识别的方法很多,按照模式表示的方式分为统计方法和结构方法两大类;神经网络和支持向量机可以看成是广义的统计方法,因为它们基于特征向量表示。统计方法的好处是便于计算和从大量数据进行学习,但是对识别对象的解释能力比较弱,比如不能对识别对象给出结构性解释。结构模式识别方法可以对不同大小和结构的模式给出结构解释,虽然识别过程和学习过程计算比较复杂,难以从大量数据进行学习,到现在为止研究和应用相对少一些,但其天然优势是可解释性强,和人的识别方式类似,在训练样本少、需要结构解释的场合有优势。
识别器模型如果从发挥的作用来看又可以分成生成模型和判别模型。判别模型设计和训练的目的是把不同类别区分开,不关心每个类别内在特点或者概率分布。神经网络和支持向量机是典型的判别模型。生成模型是对每个类别内在的结构特性和概念分布表示出来,基于这样的表示可以生成数据,同时通过计算模式与类别模型之间的距离或相似度进行模式分类。这和人的模式识别方式比较类似,因为人主要是通过模板或原型匹配、计算距离或相似度的方式进行判别的。
现在深度学习(深度神经网络)方法一统天下,尤其是计算机视觉领域在 2012 年以后,利用深度卷积神经网络端到端学习的特点将大规模图像分类问题的性能大幅提升,模式识别的主流方法和过去相比发生了颠覆性变化,通过大数据集上端到端学习大幅度提高了各种任务的识别性能。
深度学习在很多应用问题上极大地提高了识别精度,推动了应用的快速发展。现在有个说法“过去不能用的现在可以用了,不好用的变得好用了”。人脸识别和手写文字识别是典型例子,研究了很多年,过去都不好用,现在精度得到大幅提升后得到应用界认可。然而,随着理论研究或者应用进一步深入就会发现,深度学习方法还有很多不足。首先主流的深度神经网络作为判别模型基于一个闭合世界假设,就是假定识别对象属于预先定义的已知类别,如果在已知类别之外就没有办法判别,而且会把它错误地判断为已知类别。数学形式上,首先,判别模型假设输出的类别后验概率(其判别函数往往与后验概率之间有转换关系)之和等于1;第二,当测试数据的分布和训练数据分布相比发生变化时,泛化性能明显下降;第三,深度神经网络的泛化性能(在未训练过的测试数据上的分类性能)依赖于特别多的有标记训练数据,如果训练数据不是特别多,它的泛化性能和传统的模式识别方法相比都没有优势。还有可解释性、学习的灵活性等问题。
下面举几个开放环境下模式识别的例子。
分类器训练时即使用了足够多的训练样本,到了新的应用场景中可能有新的类别出现,模式的风格和分布都会发生变化。按照过去传统设计思路,可以收集所有可能类别、所有可能风格的足够多的样本设计分类器,但这是做不到的。
关于深度神经网络的鲁棒性近年来有一些研究。比如训练 10个手写数字的深度神经网络识别器,对于其样本分类精度非常高,但是如果把不是数字的噪声模式输进去,也会被判为数字且置信度很高。另外一方面,深度模型非常敏感,输入图像中加入少量噪声,人看上去图像内容没变,但它就得出不同的识别结果。这是因为深度网络是一个高度复杂函数,对于输入变化敏感度很高。
总之,模式识别鲁棒性问题主要是两类,一个是模型的稳定性,是不是对输入敏感;另一个是对异常模式(严重噪声或不属于已知类别的新模式)能否拒识,而不是判为已知类别。还有另外一种拒识:对已知类别的模式样本,不能确切地判断属于哪类,应作为歧义模式拒识,上世纪60 年代以来就有这方面的研究。
针对上面几种鲁棒性的情况,模式识别和机器学习领域有很多相关研究。比如模型的稳定性、泛化性能和模型的复杂度是相关的,如果在训练数据一定的情况下模型复杂度过高,泛化性能反而会下降。有一些关于模型复杂度的度量,如 VC维、bias-variance、平滑度等。针对这种情况,要提高模型的泛化性能或者稳定性,相应地要设计比较平滑的复杂度较低的函数,这是从模型设计的角度。另外从学习的角度,在训练中通过正则化限制参数的变化范围,保证平滑度。
关于模式识别鲁棒性的研究,最近我们作了一个总结,写了一篇综述发表在Proceedings of IEEE,把和鲁棒性相关的问题分成三类。如图1所示,第一类是克服闭合世界假设,在开放世界下的建模问题;第二类是独立同分布问题,实际应用中数据往往不是独立的,也不是同分布的;第三个就是大数据问题,实际应用中可能没有大量标记样本,有很多噪声和对抗数据。每一类问题细分成四个问题,今天主要讲第一类的鲁棒性问题,第一个是传统的经验风险最小化问题,怎么样让分类精度更高;第二个是不属于已知类别的异常样本拒识问题;第三个是分类边界对抗的问题,与歧义拒识有关;第四个是更宽泛的开放问题,在已知类别之外怎样发现新类别。目前对前面三个已经有比较多的研究。
目前研究最多的是开放集识别问题,就是前面讲的有已知类别之外模式 (novelty, outlier) 的问题,希望分类器对已知类别样本能够正确分类,同时对异常样本拒识。这对人来说是很显然的,但是对于一个分类器做到这样不太容易,尤其是判别模型因为其闭合世界假设带来很多问题。生成模型类似人的模式识别方式,但对概率密度模型这样的生成模型而言,虽然它们天然具有异常拒识能力,其分类精度往往不如判别模型。
关于拒识的研究,歧义的拒识在模式识别领域很早就有研究。在贝叶斯决策里,引入一个拒识代价统一到最小风险决策里去,得到结论是,当类别最大后验概率小于一个阈值时,输入样本被拒识,这样做到平均风险最小化。对于 Outlier 的拒识,首先要打破闭合世界假设,如果是判别模型就做不到 ; 如果基于生成模型,根据输入模式属于每个类别的概率密度,就可以判断它是否异常 ( 不属于已知类别),但是这个概率密度估计也不是容易的事情。
总之,歧义拒识基本上是基于后验概率,异常拒识是基于概率密度,又叫做距离拒识,因为生成模型和和基于距离的模式识别是比较类似的。往往一般分类器不直接给出后验概率或概率密度,但后验概率和概率密度通常与分类器的输出值(判别函数)之间有对应关系。后验概率和判别函数之间一般是 softmax 关系,判别函数一般是概率密度的对数似然度。基于后验概率的拒识规则近似等于利用分类器输出的最大两个判别函数之差,如果差比较小说明输入模式歧义;基于概率密度的拒识近似对应分类器输出的最大判别函数。这两个拒识规则,第一个基于后验概率或者两个判别函数之差;第二个基于概率密度或者最大的判别函数,分别适合歧义拒识和异常拒识。
我们过去做过一些实验,如在手写数字识别实验中,用不同的分类器(基于高斯密度的分类器、学习矢量量化、多层神经网络等)对手写数字样本和非文字样本(异常样本)进行测试。结果证实,基于后验概率的拒识规则更适合歧义拒识;基于概率密度的拒识规则更适合异常拒识。同时,不同分类器结构在异常拒识方面性能差异很大,基于高斯密度或原型(学习矢量量化)的分类器天然的异常拒识性能较好;而神经网络对异常拒识性能很差,除非用异常样本训练。
为什么有些分类器在开放环境下拒识性能差?有三个因素。① 闭合世界假设决定了输入的异常模式也被强制判为已知类别;② 与模型结构有关,判别模型的输出与后验概率对应,而概率密度模型或生成模型更适用于异常拒识;③ 与学习算法有关,比如这个基于最近原型距离的分类器,可以看作是简单的生成模型,如果用判别学习准则学习原型(如学习矢量量化),原型可能会离样本聚类中心很远,导致异常样本到原型之间的距离较小,从而错误识别异常样本。
与这三个因素相对应,要提高分类器的异常拒识能力有三个办法。① 把闭合世界假设扩展为开放世界假设,比如假设 C 个已知类别外有一个异常类别,但异常类别不容易收集足够多的样本,很多时候甚至完全没有样本;② 尽量用生成模型;③ 判别学习中加入生成准则约束进行混合判别 -生成学习。基于概率密度和模板 / 原型匹配(计算距离 / 相似度)的模型都是典型的生成模型。这些传统模型也可以结合深度学习,利用深度神经网络学习特征,在学习到的特征空间建模和分类。
关于混合判别 - 生成学习,一个具体方法是在经验风险最小化框架下,结合判别损失和生成损失。生成损失可以用最大似然估计的负对数似然度(我们称之为最大似然正则),对基于距离的生成模型,这个损失相当于是类别样本之间或样本到原型之间的距离之和最小化,也就是一个类别的样本在特征空间中分布紧凑。以原型分类器为例,在判别学习中加入生成损失(最大似然正则)后,原型不仅尽量把不同类别样本区分开,同时使原型尽量接近样本的聚类中心。
模式识别和机器学习中 one-vs-all 学习用得很多,比如支持向量机和 Boosting 就是典型的one-vs-all 两类分类器,一些多类分类器的学习准则也是分解为多个两类分类损失之和。这种 onevs-all 学习用好了,可能使分类器具有较好的异常拒识能力,因为两类中的负类 (negative class) 是多个类别样本的集合,可隐含异常样本的分布。
对基于 one-vs-all 学习的多类分类器,每个 onevs-all 两类分类器的输出判别函数可转换为两类后验概率 ( 属于这一类和不属于这一类的后验概率之和等于1)。这样的两类后验概率可组合得到多类后验概率,且多类后验概率之和小于或等于 1,不足1的部分相当于异常类概率。这样就把多类分类和异常拒识统一起来了。用 Dempster-Shafer 证据理论可以很好地把两类后验概率组合为多类后验概率。
One-vs-all 学习过去主要用于支持向量机和神经网络这样的判别模型,那么怎么用到生成模型上?我们提出一个方法:把生成模型的匹配距离加上一个阈值变成两类判别函数(根据是大于 0 还是小于 0 判为正类或负类),通过 Sigmoid 函数转化为两类后验概率。这样就可以用类似神经网络的Cross-entropy(交叉熵)准则训练生成模型。把这个方法用于原型分类器,和 LVQ 相比,one-vs-all学习得到了类似的分类精度,同时对类别检索和异常拒识有更好的性能(见图 2)。
关于开放环境的模式识别,最近有很多开放集识别的研究,其目的是对已知类别集(闭合集)得到高分类精度的同时能拒识已知类以外的异常模式。这些研究旨在提高深度神经网络(主要是 CNN)的开放集识别性能。典型的方法包括 OpenMax、异常样本生成、对抗样本生成结合OpenMax、CNN 网络中加重构损失等。这些方法主要是把常规 CNN 的输出判别函数或概率做一些变化,得到异常类的概率,并没有在训练中考虑异常类的特性,因此性能有限。
我们最近做的工作就是把卷积神经网络和原型结合起来(称为卷积原型分类器或卷积原型网络,见图 3),用卷积神经网络提取特征,以及原型分类器(相当于生成模型)分类,CNN 和原型可以端到端学习。学习中结合判别损失和生成损失(最大似然正则),使得不同类别很好分开,同时每个类别在特征空间中得到紧凑分布。这样,基于最近原型距离分类规则,当最小距离比较大时,输入模式被判别为异常。用不同的距离阈值来拒识,得到不同的 False negative-True negative曲线 (ROC), 可计算 AUC (area under ROC) 作为异常拒识的性能指标。
从实验结果看出,在不同数据集上,卷积原型网络与常规 CNN(softmax 输出)的分类精度相当。当训练一个手写数字识别的10 类分类器,用 CIFAR-10图像作为异常输入,卷积原型网络可同时高精度地识别数字和拒识异常。与最近一些主流开放集识别方法相比,在一些数据集上比较闭合集分类精度和开放集拒识的 AUC,可以看出卷积原型网络在闭合集分类精度上相当或略有优势,在开放集 AUC上则优势明显。在一些合成的噪声图像或分块重新组合的异常图像上,卷积原型网络也显示了很好的拒识性能。
开放环境下的模式识别有很多技术问题。上面介绍的开放集识别只是其中之一。此外,对抗鲁棒性、置信度计算、新类别发现、非静态数据自适应、连续学习等都是值得深入研究的问题。这些也都是计算机视觉中的重要问题。
参考文献
[1] Xu-Yao Zhang, Cheng-Lin Liu, Ching Y. Suen. Towards Robust Pattern Recognition: A Review.Proceedings of the IEEE, 2020:108(6): 894-922.[2] Cheng-Lin Liu, Hiroshi Sako, Hiromichi Fujisawa. Performance evaluation of pattern classifiers forhandwritten character recognition, Int. J. Document Analysis and Recognition, 2002,4(3): 191-204.[3] Cheng-Lin Liu. One-vs-all training of prototype classifiers for pattern classification and retrieval. Proc.20th ICPR, Istanbul, Turkey, 2010:3328-3331.[4] Hong-Ming Yang, Xu-Yao Zhang, Fei Yin, et al. Robust Classification with Convolutional PrototypeLearning. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City, USA,2018:3474-3482.
(本报告根据速记整理)