英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
毕业论文(设计)
英文翻译
原文标题 A Multitask Learning Approach to Face
Recognition Based on Neural Networks
译文标题 基于神经网络的多任务学习人脸识别方法
基于神经网络的多任务学习人脸识别方法
Feng Jin and Shiliang Sun
Department of Computer Science and Technology,
East China Normal University, Shanghai 200241, P.R. China
fjin07@gmail.com, slsun@cs.ecnu.edu.cn
摘要:对于传统的基于人脸的生物统计学,通常是一次只有一个任务(人脸识别)被学习。这个单一的任务学习(STL)方法可能会忽视潜在的隐藏在其他相关任务中的丰富信息资源,而多任务学习(MTL)可以充分利用潜在的信息。MTL是一种感应传递方法,它通过使用包含在相关任务的训练信号中的域信息作为诱导偏差的方式,使泛化得以改进。本文推荐使用基于多任务方法的BP神经网络进行人脸识别,这一方法的可行性通过两个不同的人脸识别实验证明。这两个实验显示:基于BP神经网络的MTL方法比传统的STL方法更有效,同时MTL也是一种实用的人脸识别方法。
关键字:多任务学习(MTL),单任务学习(STL),人脸识别,反向(BP),人工神经网络(ANN)。
1、介绍
人脸识别研究具有许多理论和实践意义。例如,它可以促进一些相关学科的发展,可以为生物统计学提供一种实用的方法[1]。与其他生物识别技术相比,如指纹和虹膜识别,人脸识别技术具有其独特的优势,例如,在获取人脸图像的时候通常不会干预人的正常活动,也正是因为这样,近十年来,人脸识别在计算机视觉领域已成为研究的热门,同时它也是图像分析和理解最成功的应用之一。到目前,人们已经推出了多种方法来做人脸识别,例如,基于主成分分析(PCA)、独立分量分析(ICA)和线性判别分析(LDA)[2][3][4]。本文从一个新的角度利用神经网络探测人脸识别的性能,这是我们关注的问题。
人工神经网络(ANN)是一个用类似于大脑神经连接的结构处理信息的数学模型[5]。理论上,神经网络(NN)可以完全近似任意复杂线性或非线性关系,其采用的并行分布处理方法使快速和大量的计算成为可能。对于图像识别,一个神经网络可以使用多个给定的图像作为它的输入以及训练的样本,这都是为了给出尽可能准确地近似对应的图像类别的输出。传统的用于人脸识别的神经网络每次只能学习一个任务。它是一个忽略了潜在的隐藏在其他相关任务中的丰富信息资源的单一任务学习(STL)模型。
实际上,对于许多实际情况,一个分类任务通常可能涉及到几个其他任务。因为这些相关的任务往往具有共同的元素,一起解决这些问题通常比独立解决更有利。这种方法被称为多任务学习(MTL),而且在理论上和实验上证明是有用的[6][7]。在MTL中,最需要被考虑的任务称为主要任务,而另一些则称为额外任务。MTL可以应用某些被包含在额外任务中的特定领域的训练信息提高神经网络的泛化性能[8]。当然,MTL可以应用于不同类型的学习机中,如支持向量机(SVM)、决策树等等。然而,就我们所知,几乎没有关于使用多项学习任务的人脸识别实验数据被报道,例如,没有关于训练同时识别人脸和面部表情的分类器被报道。在这里,我们只考虑神经网络,虽然类似的方法可以扩展到其他学习机。本文中,多任务学习的BP网络被用于进行人脸识别,误差很小的实验结果表明,该方法对于成熟的人脸识别应用有很大的效果。
本文的其余部分按如下方式组织,MTL神经网络及其应用于人脸识别的优势在第2节中介绍。然后给出模型构造机制,并在第3节中给出实验结果。第4节总结了本文并给出了今后的研究方向。
2、用于人脸识别的神经网络
通常,大多数学习方法只有一项任务,比如说传统的神经网络。这是因为,当解决一个复杂的问题时,我们通常将它分解为许多小问题即适合独立解决的子问题[9]。而在事实上,这种意识形态忽略了不同任务之间可能存在的密切关系,因此不是最优的。
MTL是一种诱导转移的形式,其主要目的是使用包含在额外任务中的特定域信息来提高泛化能力。当MTL用于人脸识别时,重要的改进可以达到两个不同的层次。一是随着相关任务被学习的增加,学习每个分类任务所需的测试样本数量减少[10]。另一种是,已经被证明,在一些理论条件下,一个受过足够相关任务训练的分类器可能会找到能解决新相关任务的好办法[10]。因此,在目前的研究中,我们认为MTL实验可以同时把相关的任务一起学习。在MTL神经网络中,主要的任务被考虑得最多,而于此同时,额外的任务则仅作为一种诱导偏差。当然,选择的额外任务应与主要任务有一定的关系。事实上额外任务的训练信号作为一个诱导偏差被用来提高泛化精度,目的也是完成主要任务。在本文中,将人脸图像分类作为多任务学习神经网络的主要任务,区分面部朝向则为额外任务。两个任务使用共享的人脸数据库进行并行训练。预计这些额外训练信号中包含的信息可以帮助隐藏层学习更好的内部特征,从而对主任务的识别更有帮助。
3、模型建筑和实验
在本节中,我们通过两个实验演示所提倡的方法的有用性。第一个是在理想的情况下实施的,即测试集中所有的脸部朝向完全包含在训练集中,从性能的角度阐明MTL是否优于STL。第二个实验是说明实用性:当测试集中出现全新的人脸朝向,是否MTL能改善性能。
3.1实验一
数据说明。用于分析的数据来自一个有20个不同的人的图像人脸数据库,每人大约有32张照片,改变他们面部的朝向(左,右,直前方,向上)[11]。总共收集了624张灰度图像,每张图片的分辨率为120 x 128。一般用于算法计算,样本分为三个不相交部分:训练集、验证集和测试集。训练集用于估计模型,验证集用于确定网络结构与控制复杂度的参数模型,测试集是验证最终所选模型的性能。一个典型的划分是训练集占样本总数的50%,而验证集和测试集各占25%。在这个实验中,每个人的包括四个不同朝向的16幅图像被选为训练集,总计320张图片。然后我们选择8张作为验证集,这8张图片同样也包含每个人的不同朝向,其余的用于测试数据。这意味着一个神经网络是使用包含每个人所有脸部方向的数据集进行训练的。这个实验的目的是基于同样的人脸数据分别使用MTL和STL做分类,比较在不同方法中的人脸识别准确率。
模型设计。选择三层神经网络,原因是它有能力近似任何连续函数,只要适当数量的使用隐藏层神经元和右激活函数。模型构建可归纳如下:
(1)在这种情况下选择的设计选项是将图像编码为30x32像素强度值的固定集。30x32像素图像实际上是一个被捕获的原始120x128图像的粗分辨率摘要,每个粗像素强度计算为相应的高分辨率像素强度的平均值[11]。每个像素对应一个网络输入,总计960输入。为了加快神经网络的学习速度,输入信号可以规范化。
(2)Sigmoid函数被选定为输入层和隐藏层之间的特定的激活函数。Sigmoid函数的形式被描述为
f(x)= (1)
这个函数可以使神经元输入映射到一个范围从0到1的值。它适用于使用BP算法训练神经网络,因为f(x)是一个可微函数。在隐层与输出层之间的激活函数是线性函数,函数的形式为
f(x)=x (2)
它也是一个可以得到与输入相同的范围的可微函数。一个网络训练函数traingdx 被选中,它可以根据梯度下降动量更新权重和偏差,还可以自适应学习率。
图 1. 用于人脸识别的神经网络
(3)MTL神经网络采用多输入单输出的输出编码,以及有24个输出单元,包括识别输入图像种类,以及识别额外任务,这些额外任务用于学习人脸的朝向。二十个不同的输出单元被使用作为主要任务学习,每个输出代表二十个可能的人脸模式中的一个,这二十个输出单元还带有被用作网络预测的最高值输出。额外任务的编码与主要任务相同,它们之间不同点是四输出单元只被用于额外任务的学习。图.1.中给出的已构建好的MTL网络模型被用作对照方法,图.2.给出的是STL网络模型。网络只有一个任务使用20个输出单元。这两个神经网络的区别只存在于它们的输出层,对于隐藏层,在MTL神经网络中,分别都是12个神经元,而在STL神经网络中,分别是10,12,14个神经元。
(4)训练函数中有许多参数, 包括最大训练起点、训练时间和网络错误目标,这些参数都可以被用作训练的停止条件。正确地选择参数可以有利于建立更好的神经网络,更容易实现预期的性能。在这里,最大的训练起点被选为基于监督验证集的均方误差(MSE)的神经网络的停止条件。此外,验证集用于防止神经网络学习中可能出现的麻痹现象。学习率参数决定每个训练周期产生的值的变化。大学习率可能导致系统不稳定,但小的学习率将导致学习时间较长,收敛速度慢。在这个学习实验中,初始学习率设置为0.3。
图.2. 使用STL进行人脸识别的神经网络
结果。每个实验运行五次, 并且将中值选择为最终结果。在具有144个人脸的测试集内评估性能。本实验的结果显示在表1中, 结果表明,在使用MTL后,正确分类的人脸图像数量显著上升。虽然这个测试偏向于支持STL,因为它将基于非优化网络尺寸的MTL单个运行,与 STL的几个独立运行进行对比,这些独立运行用的是不同的隐藏单元并且能够找到接近最优的网络尺寸。通过充分利用来自其他任务的信息,MTL可以成功地精确捕获人脸识别所需的要点。
表 1. 实验一中用于人脸识别的具有不同隐藏层的STL和MTL的性能
STL |
MTL |
|
隐藏单元数 |
10 12 14 |
12 |
正确分类的数量 |
96 97 117 |
133 |
准确率 |
67% 67% 81% |
91% |
这意味着更多的信息被额外任务提供是为主要任务学习和识别精度得到改善。因此,MTL神经网络可用于人脸识别得到相对准确的结果。然而,实验是基于具有所有人脸朝向的训练集和测试集进行的。因此,另一个训练集被改变的实验在下面给出,目的是检验是否被建议采用的方法也可以有效地利用相关任务的信息。
3.2 实验二
本实验使用的数据来自同一个人脸数据库,变量组与实验组不同的是训练集、验证集和测试集的选择。每个类别中只有两种人脸朝向(左,正前方)被选定为这个实验的训练集, 共有320张图片,剩下的图片中有160被选为验证集,其余的都用作测试集。这意味着只有两个脸部朝向(左,正前方)图像数据用于神经网络的设计。然后我们观察,当增加了新朝向的样本时分类性能是否优于同样训练数据的单任务学习神经网络。此外,神经网络的主要任务也包括用20个输出单元识别输入图像的种类。两个输出单元用于额外的任务, 因为在设计神经网络的过程中,只有两个人脸朝向的图像 (左,正前方)被选为输入。STL也被用作对照试验。STL神经网络有20个输出单元用于学习一项识别输入图像的种类的任务。
结果.在实验中,隐藏层的神经元数量不断增加以获得更好的精确度。MTL网络有18个隐藏单元,STL网有15,18或21隐藏单元。这个实验也运行了五次,选择中值作为最终结果,在具有144个人面图像的测试集内评估性能。
根据表2中提供的信息,我们可以得出结论,当MTL和STL神经网络有相同的隐藏单元时,前者的性能优于后者。此外,尽管STL神经网络的隐藏层神经元个数增加到21个,STL神经网络的性能也赶不上MTL神经网络。
表 2.实验二人面识别任务中不同隐藏层的 STL 和 MTL 性能
STL |
MTL |
|
隐藏单元数<!-- 剩余内容已隐藏,支付完成后下载完整资料 资料编号:[21935],资料为PDF文档或Word文档,PDF文档可免费转换为Word |
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。