闫新宝
摘 要:深度学习是目前受到广泛关注的机器学习方法。通过构建深度神经网络且使用深度学习算法学习适合模式识别和分类的高层次特征是目前模式识别领域热门研究方向,特别是在人脸识别领域已经取得了目前最好的成果。文章首先介绍了深度学习概述,然后分析了基于深度学习的人脸识别方法及识别模型并对识别模型进行了分类。最后讨论了应用深度学习进行人脸识别还存在的问题。该文拟对将深度学习应用于人脸识别的研究人员有所帮助。
关键词:深度学习;特征学习;人脸识别
在图像分类和识别问题中,我们一般先提取对象特征,然后把特征输入分类器训练分类器,如图1所示。所以首先要面对的核心问题是选取什么样的抽象特征来有效表达图像。如果所选用的特征能够有效地表达图像的本质,那么图像分类和识别就能达到事半功倍的效果。
在传统的人工智能方法中,图像的特征是依靠人的专业知识和经验人工构建的,近年来研究人员已经构建出了许多比较有效的特征,并且得到较为广泛的应用,例如表达图像几何特征的SIFT特征[ 1 ],表达图像纹理特征的LBP特征[ 2 ],表达人脸图像统计特征的特征脸(Eigenface)[3]等。直到现在,人们一直在努力构建出更能反映图像本质的特征,然而,利用人的知识和经验构建特征是一件费时费力的事情,构建的特征也不一定是有效的。因此,人们一直在思考让机器通过自动学习来选取特征的方法。深度学习能够无监督地的从样本中学习到更反映数据本质的特征,从而使得学习到的特征更具有推广性和表达力。近年来受到了广泛的关注。
最近关于哺乳动物大脑的研究表明,哺乳动物处理输入信息时采用了分层机制[4 - 5],将输入信息在一个由多层神经元组成的复杂层次结构中传播,每层神经元都会对信息特征进行重新提取和表达。一般情况下,低层神经元提取到的是比较低级的特征,如图像中的线、拐点,这些低级特征又被传播给较高层的神经元,通过层层提取,越高层的神经元提取的特征越高级,如轮廓,形状等,直至提取到信息最高级的特征。机器学习领域的研究人员受到这一研究成果的启发,尝试让计算机模拟人类大脑处理视觉信号的机制,深度学习由此任务而诞生。深度学习(Deep learning)通过层叠基础模型构建一个深度(含有多个隐含层)神经网络,利用高效的学习算法,利用网络中的大量神经元逐层提取对象的抽象特征,每层的神经元接收更底层神经元的输入,将低层特征组合成更高层的抽象特征,并将其输出到更高层的神经元,最终形成适合模式分类和识别的较理想的特征。
本文首先介绍了深度学习的产生和架构体系,详细介绍了深度信念网络这种经典的深度学习架构,然后分析了基于深度学习的人脸识别方法及识别模型并对识别模型进行了分类。最后讨论了应用深度学习进行人脸识别面临的问题。希望吸引更多的研究人员进行讨论,并取得更好的成果。
1 深度学习概述
1.1 深度学习的产生和架构体系
传统的训练深度神经网络的方法是BP算法,BP算法先随机初始化网络参数,然后利用残差反向传播算法调整网络参数完成训练,但应用BP算法容易陷入局部极值,也容易产生梯度弥散问题。后来人们提出先逐层预训练(layerwise pre-training)网络的初始权值,然后再全局精调(finetuning)整个网络权值的学习算法,逐层预训练是通过无监督学习实现的,精调通过有监督学习实现。这种算法能避免网络陷入局部极值和梯度弥散问题,彻底解决了深度神经网络训练的难题,开启了深度学习研究的热潮。
根据预训练单元的不同,目前主流的深度学习架构主要有2类,分别是基于限制玻尔兹曼机(RBM)[6]的深度学习架构和基于自编码器(auto-encoder)[7]的深度学习架构,这2类架构都是先通过无监督学习逐层预训练网络初始权值,然后通过有监督学习全局微调网络的方法训练网络的。另外还有一些其它的基于纯有监督学习算法的深度学习架构,比如深度卷积神经网络。目前深度学习架构体系如图2所示。基于限制玻尔兹曼机的深度学习架构的预训练单元是限制玻尔兹曼机,而基于自编码器的深度学习架构的预训练单元是自编码器。
第一个被提出的深度学习架构就是属于基于限制玻尔兹曼机的深度学习架构,它是层叠限制玻尔兹曼机(Restricted Boltzmarm Machine,RBM)形成的一种深度网络,也被称为深度置信网络(Deep Belief Networks,DBNs)[ 8 ],是由著名的机器学习泰斗Honton及其学生Salakhutdinov于2006年提出的,目前来说属于比较主流的一种深度学习架构。本节具体介绍深度置信网络架构和学习算法。
1.2 深度信念网络
深度信念网络是层叠受限玻尔兹曼机(RBM)形成的一种深度网络,所以本文首先来介绍RBM。
1.2.1 受限玻尔兹曼机
RBM是一个二部无向图,由可视层(v)和隐含层(h)组成,可视层的任意节点和隐含层的任意节点之间都有连接,同一层节点之间没有连接,W为连接权值参数矩阵(见图3)。
根据概率原理,在给定可视层v的条件下,隐藏层中的节点是条件独立的。反之,在给定隐含层h的条件下,可视层的节点也是条件独立的。同时又由于所有的v和h满足Boltzmann分布,所以,当输入v的时候,根据可以计算出隐含层h,当计算出隐含层h后,又可以根据重构可视层,通过调整连接权值参数,如果从隐含层重构出的可视层与原来的可视层v一样,那么所得的隐含层就是可视层的另外一种表达,因此隐含层可以作为可视层的高层次的特征。一般使用对比散度算法(Contrastive Divergence,CD)根据可视层输入的数据来训练RBM模型的参数,包括隐含层和连接权值参数矩阵,对比散度算法是一种无监督的学习算法。
1.2.2 深度信念网络
RBM模型的隐藏层是可视层数据的高层次的特征,为了获取更高层次的特征,将多个RBM逐层叠加构成深度置信网络,图4是由3个RBM层叠而成的DBN,也可以看作是由一个可视层和3个隐含层组成,DBN的每一层神经元都从低一层中获取特征。
深度置信网络的训练分为2步。
第一步,预训练。深度信念网络的相邻两层可以视为独立的RBM(见图4),通过低层的输入,利用RBM的训练算法可以无监督地得到高一层的数据,然后对更高一层的隐藏层进行训练,直到网络的最高层。以图3的DBN为例来详细说明,原始数据从可视层v输入到网络,以v和h1构建一个RBM,利用对比散度算法训练RBM模型参数,然后以h1为可视层,h2为隐藏层构建第二个RBM,训练得到模型参数,最后,以h2和h3两层构建第三个RBM并训练其模型参数,至此,就完成了整个网络的训练。
训练过程可以看作是对最底层输入数据进行不同层次的特征抽取,最高层的输出即是初始数据的最高级特征。
第二步,采用传统反向传播方法,有监督地对整个DBN网络参数进行微调。
2 基于深度学习的人脸识别
深度神经网络具有强大的特征抽取能力,能够逐层地对复杂数据进行特征抽取,最终形成适合模式分类的较理想特征。利用深度学习进行人脸识别的方法可分为2类:一类是使用基于“无监督+有监督”学习算法的深度学习模型进行人脸识别;另一类是使用基于纯有监督学习算法的深度学习模型进行人脸识别。
2.1 使用基于“无监督+有监督”学习算法的深度学习模型进行人脸识别
基于“无监督+有监督”学习算法的深度学习模型主要有深度信念网络(DBN)、基于卷积限制玻尔兹曼机(CRBM)的深度网络、基于自编码机(Auto-encoder)的深度网络、基于降噪自动编码机(Denoising Auto-encoder)的深度网络以及基于稀疏自动编码机(Sparse Auto-encoder)的深度网络等。这些深度学习模型都是生成模型,具有强大的对原始数据的特征抽取能力,但没有分类能力,如果要应用到图像的分类和识别问题,一般在模型的顶端加上分类器,把图像特征映射到对应的类别标签上,于是生成模型便可成为判别模型来使用,基于此类深度学习模型的人脸识别模型可以概括为“深度学习模型+分类器模型”。选择不同的深度学习模型和分类器模型便可组成不同的人脸识别模型,此类识别模型已经在经典的人脸数据库(ORL,FERET等)上取得了目前最好的识别率。例如“深度信念网络(DBN)+softmax分类器”模型,“基于稀疏自动编码机(Sparse Auto-encoder)的深度网络+ softmax分类器”模型,“深度信念网络(DBN)+SVM分类器”模型,“基于卷积限制玻尔兹曼机(CRBM)的深度网络+ softmax分类器”模型。
下面对“深度信念网络(DBN)+softmax分类器”人脸识别模型作一个介绍,其他模型结构类似于此模型。图5是此模型的架构图。
训练模型步骤分为2步。首先逐层预训练深度信念网络(DBN),利用原始人脸图像作为网络输入无监督地逐层预训练每一层RBM,经过逐层预训练的DBN,使用反向传播算法精调时会很快的收敛。然后使用有类别标签的训练样本采用BP算法对整个识别模型进行精调,假设是一个训练样本集,样本一共分为4类,那么样本类别标签是一个4维向量,且属于标签向量集{[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]},BP算法要优化的是softmax分类器所输出的预测标签与真实类别标签的距离,可以使用交叉熵等量来度量。识别模型完全训练好之后,把测试用的人脸原始图像输入到网络,网络就可以输出预测的类别标签。文献[9]使用“深度信念网络(DBN)+softmax分类器”的人脸识别模型研究多姿态人脸图像的超分辨率识别问题,其在UMIST,ORL,FERET和PIE人脸库上实验表明,对比其它方法在同等实验条件下该模型性能表现最好。文献[ 1 0 ]融合深度信念网络(DBN)和多层感知器进行人脸表情识别,首先使用深度信念网络对原始人脸表情图像进行无监督学习得到高层次的抽象特征,然后对多层感知器分类器进行初始化,从而实现人脸表情分类,在日本JAFFE数据库上的人脸表情正确识别率达到90.95%,比其他方法高出许多。
需要注意的是,为了处理大型图像,一般通过卷积和池化技术对深度学习模型进行改造,以减小计算量和耗时。典型的例子是基于卷积限制玻尔兹曼机(CRBM)的深度网络,卷积限制玻尔兹曼机(CRBM)利用卷积和池化技术对限制玻尔兹曼机(RBM)进行了改造以便处理大型的图像。
2.2 使用基于纯有监督学习算法的深度学习模型进行人脸识别
当前,基于纯有监督学习算法的深度学习模型主要有深度卷积神经网络,深度卷积神经网络使用传统的有监督学习算法进行学习,主要是使用BP算法。当前有很多著名的人脸识别系统都是基于深度卷积神经网络的,如DeepID家族、FaceNet,深度卷积神经网络在这些人脸识别系统中的作用是学习高层次的区分度强的特征,这些识别系统的成功得益于深度卷积神经网络与大数据的结合。随着技术的进步,有标签数据的获取变得越来越容易,通过足够多的有标签数据对深度卷积神经网络进行训练,使得深度卷积神经网络这种传统的深度网络模型变得极为有效。
著名的DeepID人脸识别系统家族就是基于深度卷积神经网络的,DeepID家族是香港中文大学教授汤晓鸥领导的计算机视觉研究组开发的一系列人脸识别系统。DeepID家族在LFW (Labeled Faces in the Wild)数据库上获得了99.15%的识别率。LFW是事实上的真实条件下的人脸识别问题的测试基准,实验表明,如果仅仅给出人脸中心区域,人用肉眼在LFW上的识别率为97.52%。
深度卷积神经网络在DeepID中的作用是学习特征,即将人脸图片输入进去,学习到一个160维的特征向量。然后使用这个160维特征向量作为训练样本,训练各种现成的分类器(比如softmax),即可得到识别模型。DeepID之所以有效,首先在于深度卷积神经网络学习到的特征的区分能力比较强,为了学习到区分度较强的特征,DeepID采取了目前最常用使用大数据的手法,只有大的数据集才能使得卷积神经网络训练得更加充分。
另一个著名的基于深度卷积神经网络的人脸识别系统是Google的FaceNet。FaceNet采用了22层的深度卷积网络和海量的人脸数据(800万人的2亿张图像)。深度卷积神经网络在FaceNet中的作用也是学习特征。 FaceNet在LFW(Labeled Faces in the Wild)数据库上获得了99.63%的平均识别率。
3 结语
深度神经网络具有强大的特征抽取能力,能够逐层地对复杂数据进行特征抽取,最终形成适合模式分类的较理想特征。深度学习在人脸识别中已经取得了一些很好的成果,当然,当前应用深度学习时也存在一些问题需要解决。比如针对具体问题,选取哪一种深度学习架构才是最好的,以及设计多少层数的深度网络才是合适的,这些问题目前都没有系统的理论指导,要靠多次实验才能确定。另外,使用大数据集训练深度网络耗时很长,需要强大的计算能力,使用何种计算平台来提供强大计算能力也是目前面临的一个难题。
[参考文献]
[1]Lowe D G.Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision,2004(2):91-110.
[2]Ojala T,Pietikainen M,Harwood D.Performance evaluation of texture measures with classification based on Kullback discrimination of distributions[J].Proceedings of ICPR.Jerusalem, Irsael:IEEE,1994(10):761-767.
[3]Turk M,pentland A.Eigenfaces for Recognition[J].Journal of Cognitive Neuroscience,1991(1):71-86.
[4]Lee T S,Mumford D.Hierarchical Bayesian inference in the visual cortex[J].JOSA A,2003(7):1434-1448.
[5]Lee T S,Mumford D,Romero R,et al.The role of the primary visual cortex in higher level vision[J].Vision research,1998(15):2429-2454.
[6]Hinton G E.Training products of experts by minimizing contrastive divergence[J]. Neural Computation,2002(8):1771-1800.
[7]Hinton G E,Zemel R S.Auto encoders, minimum description length,and Helmholtz free energy: Advances in Neural Information Processing Systems,1994[C]// Burlington ,USA: Morgan Kaufmann,1994.
[8]Hinton G E,Osindero S The Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation,2006(7):1527-1554.
[9]LinMiaozhen,Fan Xin.Low Resolution Face Recognition with pose Variationsusing Deep Belief Networks:4th International Congress on Imageand Signal Processing(CISP), 2011[C]//IEEE Conference Publications,2011.
[10]施徐敢,张石清,赵小明.融合深度信念网络和多层感知器的人脸表情识别[J].小型微型计算机系统,2015(7):1629-1632.
Deep Learning and Its Progressin Face Recognition
Yan Xinbao(Department of Mathematics and Computer Science, Guangxi Normal University for Nationalities, Chongzuo 532200, China)
Abstract: Deep learning has captured many attentions in machine learning recently. Extracting appropriate features for pattern recognition and classification by deep learning is very popular in pattern recognition and this method has achieved the best results in face recognition. In this paper, firstly, we give a general introduction to deep learning, then the face recognition models based on deep learning is analyzed and classified, lastly, the main existing problems of face recognition using deep learning are discussed.
Key words: deep learning; features learning; face recognition