0
今年10月12日,2021中国人工智能大会(CCAI 2021)在成都正式启幕,23位中外院士领衔,近百位学术技术精英共聚西南人工智能新高地,深入呈现人工智能学术研究,以及技术创新与行业应用的最新成果。中国人工智能学会副理事长、中科院自动化所副所长/研究员、IAPR/IEEE/CAA/CAAI Fellow刘成林教授发表了题为《模式识别:从初级感知到高级认知》的演讲,向与会者介绍了模式识别的内涵、演化、研究现状以及未来值得研究的方向。
本次演讲首先对模式识别领域做了一个基本的介绍,然后分析了模式识别的研究现状,介绍了一些模式结构理解方面的新进展,最后从结合认知的角度讲了将来有哪些值得研究的问题和方向。
以下是演讲全文,AI科技评论进行了不改变原意的整理。
1. 模式识别的内涵
模式识别或机器感知,是人工智能领域的几个主要分支方向之一。人工智能是模拟人的智能,那么模式识别就是模拟人的感知功能。感知功能是人或机器最重要的智能之一,因为人或机器要从环境中获得信息,首先要通过感知,比如通过视觉识别场景、人物和文字,通过听觉跟人交流。心理学或者认知科学对感知或模式识别的定义是:把获得的刺激,也就是感知信号与脑子里所存储的信息进行匹配,从而判断所感知到的是什么内容。从计算机实现模式识别的角度,也有一些定义,大概可以分成两类:
一类是狭义的,就是根据某种客观标准对目标进行分类和标记,这里主要是指分类。
另一类是广义的,就是对数据中的目标、现象或事件进行分类或者描述。这个描述就是一个比较复杂的感知过程,因为描述实际上要对模式的结构进行理解。
综合起来,模式识别的定义就是,研究如何使机器模拟人的感知功能,从环境感知数据中检测、识别和理解目标、行为、事件等模式。
模式识别的基本流程是用传感器(比如摄像头)获取感知数据(如图像)后,对图像中的物体进行检测和定位,然后用一个模式分类器判断物体属于哪类,这是一个传统的模式识别流程。
如果要扩展到描述,就要对物体内部结构和图像中多个物体之间的关系进行分析,最后用自然语言句子描述出来。比如下图这个图像,它最后给出的结果可能是:“穿火箭队11号球衣的姚明与教练站在一起”,如果不知道这个人是谁,结果可能是“两个身高相差很大的人站在一起”,这就是一个比较复杂的模式理解过程。
2. 模式识别的方法演化
模式识别领域与人工智能领域的发展几乎初步,从上世纪50年代以来提出了很多方法。我们看到,1957年最早发表关于模式识别的论文。50年代到60年代,主要是基于统计决策的方法,也就是统计模式识别。60年代末开始提出句法模式识别,70年代到80年代,句法模式识别或者结构模式识别都是研究重点,当然统计模式识别也在不断向前发展。80年代中期,多层神经网络引起了广泛关注,90年代则开始出现多种学习方法。
机器学习在60年代就提出了,最早的机器学习主要指模式分类器的参数估计(如N.J. Nilsson的Learning Machines一书),但现在内容更宽泛了。90年代有大量的机器学习方法提出来,也是围绕模式识别问题,主要用于模式分类器设计或者分类器的参数估计,包括90年代比较有代表性的支持向量机。2000年后还有更多的学习方法,包括多分类器(集成学习)、多任务学习、概率图模型、迁移学习等。现在主要是深度学习方法,可以说是最主流也几乎是统治的方法。
模式识别的方法按模式表示方式可以分为统计方法和结构方法两大类。统计方法基于特征矢量表示,广义地说,神经网络或支持向量机也属于统计方法。结构方法要对模式进行结构描述,过去几十年一直都在研究,但目前还不太实用。统计和结构混合的方法从80年代开始提得比较多,这种方法是在结构模型中融入统计属性,如属性图和概率图模型,现在神经网络与图模型或者图神经网络结合得越来越多。
模式分类器从功能的角度上来说,又分为生成模型和判别模型。判别模型目标就是为了把不同类别的模式分开,主要关心区分性。生成模型则有点像我们脑子里的模板匹配或者特征匹配,比如我看见一个人,是把这个人跟记忆中认识的人的图像或特征进行匹配从而识别出来。存在脑子里的这些图像或特征,就像一个生成模型。生成模型除了能用于分类,同时因为它表达了每一类的特点或概率分布,所以又能用来生成数据。
从模型学习的角度来说,有关学习方法又分为生成学习或者判别学习,判别学习是为了提高模型的分类能力,比如神经网络主要是判别学习,而生成学习是为了得到一类数据的表示模型。
1. 当前主流方法
深度学习(深度神经网络)现在是模式识别领域统治性的方法。深度学习最早提出是在2006年Hinton发表的一篇文章。这篇文章提出多层神经网络的逐层训练方法,克服层数较多时难以收敛的问题。80年代多层神经网络训练的误差反向传播算法(BP算法)之后,对超过五层的神经网络训练难以收敛而且泛化性不好。逐层训练方法在这方面有了很大的改进。早期深度学习主要在语音识别中取得成功,像循环神经网络 LSTM(长短期记忆网络) 也是在2006年提出的,在语音识别和手写文字识别中产生了很大影响。
基于这种函数映射的方式,只要有大量的标记数据训练(估计函数的参数),就可以达到很高的分类性能,甚至超过我们人类的识别能力。
最近十几年,深度学习之所以能够取得巨大成功,主要在于计算能力的提升,可以用大量数据训练神经网络。在 2012 年大规模图像分类竞赛(ImageNet)中,用了100多万图像样本训练深度卷积网络,与之前传统模式识别方法(基于人工特征提取)相比,分类正确率提高了 10 %以上。这是一个巨大的飞跃,因为过去传统方法要提高 1 %都是很困难的。
现在深度神经网络能够从图像里自动提取特征,把特征提取和分类器进行联合学习或端到端的学习,能够提取到表达和判别能力更强的特征。深度学习在模式识别的其他任务上也有很大的进展。
比如,物体检测过去认为是一个很难的问题, 90年代末开始人脸识别技术实用化,就要从图像中检测定位人脸,早期检测方法基于滑动窗分类,精度和速度都必较低。现在提出的很多基于深度神经网络的两阶段分类或者一阶段分类的方法,实质上也是把神经网络作为一个两类分类器,在图像不同区域判断它是前景还是背景区域。现在深度神经网络借助大算力和大数据训练,物体检测的精度和速度都有很大提升。
图像分割问题过去也是很难的,这是一个像素分类问题,就是把每个像素分类到不同的物体或背景区域。根据不同的需求,现在提出了所谓的语义分割、实例分割、全景分割等多种有效的方法,都取得了很大进展。
上面说的检测、分割和目标识别都是分类问题,现在一些更复杂的模式识别问题,例如图像描述也可以用深度神经网络的端到端的方法实现。
图像描述,就是给定一幅图,用自然语言句子描述这个图像的内容。端到端的方法,就是底层用一个卷积神经网络去提取特征,然后上面加一个循环神经网络,即 LSTM 神经网络去生成语言。这两个网络进行联合训练,用大量图像和语言配对的数据去训练神经网络,就可以达到比较好的语言描述性能。最近也有一些可解释性更好的深度神经网络方法,把自底向上的物体检测与自顶向下的语言生成模型结合,先检测到很多候选物体区域,然后对它们进行关系分析的基础上生成句子。
图像分类、检测、分割以及图像描述等过去都被认为很难的问题,最近不到十年时间,性能都提升得很快,而且很多技术在我们日常生活中已经被广泛应用,比如智能手机上用到的很多模式识别技术,包括人脸识别、文字识别、语音识别等,网络图像检索也做得非常好。
这种数据驱动的神经网络,大部分是端到端的模型,是不是就能解决所有的问题?其实这种方法还有很多不足,还是有很多问题需要解决。一个问题就是深度神经网络需要标记大量数据用于训练,而标记数据的代价非常大。此外,神经网络这种端到端的学习方式,可解释性比较差。人并不是这样学习的,也不需要很多数据,而且人识别模式的可解释性比较强。比如,我们识别一个人不仅能识别出是谁,还能解释为什么这个人是张三还是李四,这个人的眼睛、鼻子、脸,以及行为、身体有什么特点等都能给出一个详细解释,而现在的神经网络很难做到。
神经网络的解释能力差也会引起识别的鲁棒性差,也就是稳定性比较差,识别结果容易受干扰。
现在看一些例子。在很多实际应用中对识别的可靠性要求非常高,有些场合要求识别结果不能出错,可以有部分拒识(不认识)。如手写文字识别,现在基于深度学习得到了很高的识别精度,但还是会有少量错误。对金额票据识别这样的应用是不允许出错的,如果能拒识一部分消除错误,拒识的部分可以交给人工处理。而深度神经网络的拒识能力比人类要差很多,因为它们基于统计分类,没有结构解释能力,容易把似是而非的模式分错。
深度神经网络经过大数据训练后,虽然识别正确率可能比人还高,但对于少部分容易错的地方除了不能够拒识,还会产生一些莫名其妙的错误。如下图所示,在对抗学习的场合,这个熊猫图像加上少量噪声,得到右边的图像在人看上去几乎没有变化,但是神经网络得到的识别结果就完全变了。
像后面这个图像,神经网络描述为“一个小孩拿着棒球棒”,明显是错的,而且逻辑上也不通,这么小的孩子不可能拿一根棒球棒;右上角这个交通标志图上只是加了几个黑点,就把它判断成一个限速标志。还有下面这些图像描述结果也是不对的,倒数第二个是一个标志牌,上面贴了一些贴纸,就被认为是一台冰箱。因为深度神经网络没有可解释性,所以它的鲁棒性也很差。
2. 结构模式识别早期进展
上世纪七八十年代流行的句法模式识别,是希望用一个语法或者树结构或图结构表示模式,通过语法解析或结构模式匹配进行识别。这些工作过去很长时间都没有达到实用化,但是这些思想对我们现在的研究是很有启发的。基于笔划匹配的手写汉字识别在八九十年代以来也有很多研究,包括我自己做的一个工作:因为笔划提取很困难,我们提出一个基于笔划段动态合并和匹配的方法。
基于图的方法,到现在为止还是一种主流方法。早在1973年,美国的两名科学家就在 IEEE Transaction on Computers上发表文章,提出Pictorial Structure(图形结构),就是一个物体由多个部件构成,不同部件之间的关系用一个弹簧表示,这与我们今天的图结构很相似。
到了2005年,芝加哥大学的Felzenszwalb等人用概率图模型实现这种图结构方法,用于人体姿态估计和人脸检测。后来又发展出判别性的基于部件的模型,这个部件模型表示了一个物体的多个部件,每个部件的形状、位置和物体整体形状都用一个概率模型表示。如果一个物体有不同视角,它的表观可能会有很大变化,这就用一个混合模型表示出来,用于物体检测,取得了非常好的效果。
另一个影响比较大的图方法叫做Constellation Model(星座模型),是加州理工学院提出的。这个模型有一个中心表示整体形状,每个部件的位置、尺度和形状以一个联合的概念密度模型表示出来,可以用于物体的检测和识别。因为它是一个生成模型,可以实现小样本泛化,每个类别在样本数比较少的情况下,也可以得到比较好的性能。
十几年前还有一个叫做Image Parsing 的工作,就是把图像中不同的前景区域和背景区域,统一用一个图来描述。在分析时先采用检测器检测物体和文本区域,产生一些自底向上的假设,然后自顶向下的生成模型来分析它们的关系。这个工作还没有用到深度学习,所以它的分析精度是有限的。
现在的深度神经网络从数据学习的能力很强,但是可解释性不够,我们希望对于图像场景分析这样的问题,能够做到可解释同时精度又比较高,可以把传统的结构模型与深度神经网络结合,比如用卷积神经网络提取图像特征,做物体或部件检测,然后上层用一个结构模型来表示这些物体或部件之间的关系。
3. 一些最新进展
现在,图神经网络的学习和推理能力很强,使用非常灵活,但是需要给定图结构。很多结构模型的学习需要细粒度标注的训练数据,有些也可以实现弱监督学习。还有一个值得注意的方向,就是有一些结构可解释的神经网络,采用模块化的结构,可自动学习可分解的部件。这里我介绍一些最近有代表性的关于结构理解的工作,包括可解释性神经网络、深度图匹配、公式识别、图像场景理解等,这些方向每个都形成了一系列的工作。
可解释性神经网络的代表是Hinton等人提出的胶囊网络,网络中的每个胶囊是一个模块,可以检测物体和部件;而且不同胶囊之间相互独立,可以识别图像中重叠的部件或者重叠的物体。
另一个是最近提出来的组合性神经网络(Compositional Network), 它是一个类似于两层的“与或”图表示,可以把一个物体的不同部件检测出来,而且在部分部件被遮挡的情况下也能检测到。这个模型可以从弱标注的数据学习,只要标注物体的位置,不需要标注部件。在有遮挡的情况下,它的性能明显优于常规的物体检测网络。
图匹配过去几十年一直都有研究,其中有两个关键难题,一个是组合优化,也就是如何克服指数复杂度的问题。另一个就是它的距离度量,过去是靠人工设计,现在深度神经网络可以把距离度量自动学习出来,但是需要大量有节点对应标记的图数据来训练,当然有时可以用合成数据来代替。
结构分析方法如果用于零样本识别(把从已知类别样本学习到的模型用于识别没有训练样本的新类别)可以产生更好的泛化性能。这是我们实验室做的基于图的零样本视频分类的工作。因为视频里涉及到很多物体和原子行为,我们用图网络表示不同物体之间的关系、不同类别之间的关系和物体与行为之间的关系,那么这种结构关系可泛化到新类别上。
数学公式识别也是很复杂的结构模式识别问题,现在手写公式识别最好的方法的整体识别正确率只能达到百分之五六十。因为一个公式有很长的一串符号,要全部识别正确非常困难。所以采用可解释性的结构识别模型,能同时识别和定位公式中的符号。
过去传统的方法就是基于自底向上的字符分割,然后再去做识别,但是总体识别精度必较低。前几年主流的方法是用一个端到端的神经网络结构,它的解码器从输入图像直接解码出公式的字符串,但没有字符定位。这种没有字符定位的公式识别方法,除非识别率达到100%,否则是不适用的,因为难以对错误的部分进行定位和编辑。
图像场景理解也有一些新进展。这个斯坦福大学李飞飞研究组的工作从图像与文本之间配准的角度训练一个语言生成模型用于图像描述。场景图的生成,就是把图像里的不同物体和背景区域用一个图表示出来,每个节点表示一个物体或者一个背景区域,边表示它们的关系,其结构一目了然。图像处理的底层用一个卷积神经网络提取特征,检测候选物体上传到图神经网络进行分析。
我们把类似的方法用到交通标志图解析。标志图上有很多符号和文字,在驾驶时要找到“我要往哪去”这样的信息,就要理解每个符号的意思及符号之间的关系。图像文本匹配现在也是一个比较复杂的问题,因为图像里的物体顺序与文本里的词顺序不一致,所以要学这个配准关系。我实验室同事提出的这是一个自底向上和自顶向下相结合的方法。
视觉问答现在是一个比较被关注的问题,就是让机器看一幅图,对给出的语言提问从图中找到答案,有些答案可以直接从图中找到,有些则可能要利用一些背景知识或常识。
早几年有些方法也是端到端的方法,比如这个模型有两个阶段,首先用一个神经网络分析问题的句子,生成一个解题策略(叫做layout policy),然后这个策略动态生成一些模块网络,动态地到图像里去找答案。最近中山大学研究组发表一个可解释性视觉问答方法,把问题句子表示成语义依存树,遍历树的节点从图像中动态寻找答案。
总之,现在基于深度学习的方法,推动模式识别和计算机视觉前进了一大步。那么当基于大数据训练使得模式分类性能提高之后,剩下的问题就回到了模式识别最初想做的模式描述,即模式的结构理解。只有实现了模式结构理解才可能做到可靠和鲁棒,而且结构理解的方法对于小样本学习、开放环境适应、可解释性等都会有很大帮助。
从最近的一些研究进展可以看出,为了解决复杂的模式识别问题,统计与结构模型的混合、神经网络+结构模型、可解释性神经网络、视觉+语言等研究越来越受到关注。从中也可以看出,早期很多基于句法模式识别和结构模式识别的方法,对我们现在和未来的工作都值得借鉴,或者值得重新发掘。
未来值得研究的方向包括:
(1)结构表示模型。目前主流的结构是神经网络+结构(如Graph或图神经网络),可以扩展到更多结构形式,如树、贝叶斯网等。跨模态学习(如视觉+语言)中往往需要用到结构表示,并且可结合符号知识。
(2)结构模型学习,包括图匹配度量学习、半监督学习、弱监督学习、开放环境增量学习、小样本学习、领域自适应、跨模态学习等。目前流行的自监督学习可以为结构学习提供预训练特征表示模型,从而大为简化结构模型的学习。
(3)语义理解应用。模式结构理解或语义理解很多时候要与应用结合起来,比如智能机器人或无人驾驶等,它的感知要与认知紧密结合、与决策结合,因为要把视觉信息结合背景知识才能做一个准确判断。
最后呼应一下今天讲的题目:从初级感知到高级认知。现在模式分类,也就是一种初级感知,已经做得非常好,但还有很多问题没有解决,它的鲁棒性、可靠性、自适应性、小样本学习泛化等方面还需要深入研究。到高级感知层面,就是要对模式进行结构理解,如物体结构理解、场景理解,相应的结构模型表示、学习、推理等有一系列研究问题;更高级的层次是感知和认知结合起来,就是高级认知,包括语义理解、语义推理、语义应用与决策等。
雷峰网(公众号:雷峰网)雷峰网
雷峰网原创文章,未经授权禁止转载。详情见转载须知。