A Light CNN for Deep Face Representation with Noisy Labels
https://arxiv.org/abs/1511.02683
https://github.com/AlfredXiangWu/LightCNN.
本文创新点:
1.MFM不仅可以分离含噪信号和信息量信号,还可以在两幅特征图之间进行特征选择
2.利用训练好的模型的预测结果对带噪标记的数据集进行重新标定。然后我们用重新标定的数据集重新训练Light CNN-9。最后,我们通过再训练的模型对原始带噪标记的数据集进行再采样,构造出数据清洗后的MS-Celeb-1M数据集。
摘要
为了更好地拟合大量的训练数据,针对人脸识别提出的卷积神经网络(CNN)模型的体积一直在不断增大。当从互联网上获取训练数据时,标签很容易模糊和不准确。本文提出了一种Light CNN框架来学习在带有大量噪声标签的大规模人脸数据上进行紧凑嵌入。首先,我们在CNN的每个卷积层中引入一个名为Max-Feature-Map (MFM)的maxout激活变体。与maxout激活使用许多特征映射来线性近似任意凸激活函数不同,MFM是通过竞争关系实现的。MFM不仅可以分离含噪信号和信息量信号,还可以在两幅特征图之间进行特征选择。 其次,精心设计了三个网络,以获得更好的性能,同时减少参数的数量和计算代价。最后,提出了一种语义自举的方法,使网络的预测更符合有噪声的标签。实验结果表明,该框架可以利用大规模的有噪数据来学习一个在计算成本和存储空间上都很有效的光模型。在256-D表示的学习单网络在不进行微调的情况下,在各种面部基准测试中获得了最先进的结果。代码发布在https://github.com/AlfredXiangWu/LightCNN。
1 引言
在过去的十年中,卷积神经网络(CNN)已经成为解决计算机视觉问题最流行的技术之一。大量的视觉任务,如图像分类[1],物体检测[2],人脸识别[3],[4],[5],[6],都受益于通过cnn学习的鲁棒的和有辨别能力的表示。结果,它们的性能得到了极大的提高,例如,在具有挑战性的野外标记人脸(LFW)基准进行测试时,其精度从97%[5]提高到99% [7],[8],[4]。这一改进主要得益于CNN可以从有大量对象的训练数据中学习到鲁棒的人脸嵌入。为了达到最优的准确率,CNN的训练数据集的规模一直在不断增大。一些大规模的人脸数据集已经被发布,例如CASIA-WebFace [6], CelebFaces+ [4], VGG face dataset[7], UMDFace [9], [10], MS-Celeb-1M[11]和VGGFace2数据集[12]。然而,这些大型数据集往往包含大量的噪声信号,特别是当它们是通过图像搜索引擎或电影自动收集。
本文研究了一种从带有大量噪声标签的大规模数据中学习深度人脸表示的Light CNN框架。如图1所示,我们定义了一个Max-FeatureMap (MFM)操作,以获得一个紧凑的表示,并执行特征过滤器选择。MFM是ReLU在各层抑制低激活神经元的一种替代方法,可以认为是maxout激活的一种特殊实现[13]用于分离噪声信号和信息信号。我们的Light CNN架构包括MFM、小卷积滤波器和网络内网络,并在MSCeleb-1M数据集上进行训练。为了处理有噪声的标记图像,我们提出了一种语义自举方法,通过预先训练的深度网络自动重新标记训练数据。我们假设,通过给定相似的感知,模型能够始终如一地给出相同的预测。直觉上,太多的怀疑最初的训练标签可能导致错误的重新标记。因此,预测和原始标签之间的平衡是很重要的。大量的实验结果表明,在没有监督微调的情况下,提出的Light CNN在五个人脸基准上达到了最新的结果。这些贡献总结如下:
1)本文介绍了MFM操作,maxout的一种特殊情况,用于学习参数较少的Light CNN。与从训练数据中学习阈值的ReLU相比,MFM采用竞争关系,具有更好的泛化能力,适用于不同的数据分布。
2)设计了基于MFM的Light CNN,用于学习通用的人脸表示。我们分别按照AlexNet、VGG和ResNet的思路,提出了三种Light CNN模型。所提出的模型在速度和存储空间方面具有更好的性能。
3)提出了一种基于预训练深度网络的语义自举方法来处理大规模数据集中的带噪标记图像。不一致的标签可以通过预测的概率有效地检测出来,然后重新标记或去除训练。
4)提出的256-D表示的单一模型在不同的人脸基准上获得了最新的结果,即大规模的、基于视频的、跨年龄的人脸识别、异构的、跨视角的人脸识别数据集。与其他开源人脸模型相比,该模型包含的参数更少,提取人脸表示的速度更快。

论文组织如下。第二部分简要回顾了人脸识别和噪声标记问题的相关研究。第三部分描述了所提出的Light CNN框架和语义自举方法。最后,我们在第四节给出了实验结果,并在第五节对本文进行了总结。
2 相关工作
A.基于人脸识别的CNN
现代人脸识别方法通常将神经网络作为鲁棒的特征提取器。早些时候DeepFace[5]在440万张人脸图像上训练CNN,使用CNN作为特征提取器进行人脸验证。通过4096 - d特征向量,该算法在LFW上实现了97.35%的精度。作为DeepFace的扩展,Taigman等人[14]使用语义自举的方法从一个大数据集中选择一个高效的训练集。此外,还讨论了LFW中更稳定的[15]协议,更有代表性地表明了人脸特征的鲁棒性。为了进一步提高精度,Sun等[4]采用了
multi-patch集成模型。在不同的局部patch上训练由25个CNN模型组成的集合,并使用联合贝叶斯算法来获得鲁棒的嵌入空间。在[16]中,验证损失和分类损失进一步结合,增加类间距离,减少类内距离。集成模型在LFW上得到99.47%。
在此基础上,FaceNet [8]将 triplet loss引入人脸识别中。FaceNet总共训练了大约100-200万张人脸图像,总共8百万个身份。由于triplet pairs的选择对于获得满意的精度很重要,FaceNet提出了一种在线triplet挖掘方法用于训练基于triplet的CNN,获得了良好的准确率(99.63%)。Parkhi等[7]对从互联网上采集的260万幅图像的2622个identity进行VGG网络[17]的训练,然后采用FaceNet等基于triplet的度量学习方法对模型进行调优,LFW的准确率达到98.95%。Tran等人[18]还提出了一种领域特定数据增强来增加训练数据,并在LFW上获得了类似的性能。
人脸识别性能的提高主要得益于CNN和大规模的人脸数据集。然而,大规模数据集往往包含大量的噪声标签,特别是在自动从互联网上采集数据时。因此,从带有大量带噪标签的大规模人脸数据中学习一个Light CNN具有重要意义。
B.标签噪声问题
当数据集趋于较大时,噪声标签是机器学习中的一个重要问题。一些[19]方法已用于处理噪声标记问题。这些方法一般可以分为三类。在第一类中,为分类任务设计了鲁棒损失[20],这意味着学习的分类模型对标签噪声的存在具有鲁棒性。:第二类[21]旨在通过识别错误标记的实例来提高训练数据的质量。第三类[22]直接模拟了学习过程中噪声标签的分布。这个分类的优点是它允许在学习过程中使用关于嘈杂标签的信息
近年来,带噪标签数据的学习在深度学习中也引起了广泛的关注,因为深度学习是一种基于数据的学习方法,而精确标注标签的成本较高。Mnih和Hinton[23]引入了两个抗噪声标签航空图像的鲁棒损失函数。但是,他们的方法只适用于二值分类。Sukhbaatar等人[24]考虑了多类别分类来建模与类别相关的噪声分布。他们提出了一种自下而上的噪声模型来改变反向传播的标签概率输出,以及一种自上而下的模型来在输入数据之前改变有噪声的标签输出。此外,在知觉一致性的概念下,[25]的工作通过弱监督训练扩展了softmax损失函数。其思想是在现有模型的基础上动态更新预测目标函数的目标。他们使用训练标签和当前模型的预测的简单凸组合来生成训练目标。虽然已经研究了一些解决带噪声标签问题的策略,但大规模带噪声标签仍然是深度学习方法的一个未解决的问题。
3 架构
在本节中,我们首先对CNN提出Max-Feature-Map操作来模拟神经抑制,从而产生一个新的Light CNN框架人脸分析和识别。在此基础上,提出了一种基于噪声标记的训练数据集的语义自举算法。
A.Max-Feature-Map
大规模的人脸数据通常包含有噪声信号。如果这些噪声信号产生的误差处理不当,CNN会得到一个偏倚的结果。线性修正单元(ReLU)[26]激活通过阈值(或偏差)来分离噪声信号和信息信号,以确定一个神经元的激活。如果神经元不活跃,它的输出值将为0。但是,这个阈值可能会导致一些信息的丢失,特别是对于前几个卷积层, 因为这些层类似于Gabor滤波器(即。无论是积极的回应还是消极的回应都会受到尊重)。为了解决这一问题,漏出的线性修正单元(LReLU)[27],参数线性修正单元(PReLU)[28]和指数线性修正单元(ELU)已经提出了[29]。
在神经科学中,侧抑制(LI)[30]增加了视觉或音频反应的对比度和锐度,帮助哺乳动物大脑感知图像中的对比度。以视觉LI为例,当兴奋性神经信号被释放到水平细胞时,水平细胞会向邻近或相关细胞发送抑制信号。这种由水平细胞产生的抑制作用为大脑皮层创造了一个更加集中和平衡的信号。就听觉而言,如果某些频率产生的抑制作用大于兴奋作用,耳鸣就可以被抑制。考虑到LI信号和有噪声信号,我们期望在一个卷积层中的激活函数具有以下特征:
1)由于大规模数据集通常包含各种类型的噪声,我们希望能将有噪声的信号和有信息的信号分离开来。
2)当图像中存在水平边缘或直线时,对应水平信息的神经元受到激发,对应垂直信息的神经元受到抑制。
3)单个神经元的抑制是无参数的,因此它不广泛依赖于训练数据。
为了实现上述特性,我们提出了MaxFeature-Map (MFM)操作,它是的扩展Maxout激活[13]。但是,MFM和Maxout基本的动机是不同的。Maxout的目标是通过足够多的隐藏神经元来近似任意凸函数。使用的神经元越多,得到的近似结果越好。一般来说,Maxout网络的规模大于ReLU网络的规模。MFM利用max函数抑制少数神经元的激活,从而使MFM基于CNN的模型既轻便又健壮。虽然MFM和Maxout都使用max函数来激活神经元,但MFM不能作为凸函数逼近。我们定义了两种类型的MFM操作来获得竞争特征图。
对于给定卷积层x^n∈R^{H×W},其中n={1,2,……,2N},W和H代表特征映射的空间宽度和高度。MFM 2/1操作结合两组特征映射,并输出最大的一个,如图1©,可以记为

其中输入卷积层通道数2N,1≤k≤N,1≤i≤H,1≤j≤W。如式1所示。通过MFM后输出
xˆ在R^{H×W×N}
式1的梯度采取以下形式

通过使用MFM2/1,我们通常通过跨特征通道的以元素为导向的最大操作从输入特征映射中获得50%的信息性神经元。
此外,如图1(d)所示,为了获得更可比较的特征映射,MFM 3/2操作可定义为:输入三个特征映射并逐项移除最小的一个元素:

其中x^n∈R^{H×W},1≤n≤ 3N,1≤k≤N,median(·)是输入特征映射平均值。MFM 3/2 的梯度类似于Eq.(2),在激活特征映射x^k_{ij}时,梯度值为1,否则设置为0。这样,我们从输入特征图中选择并保留了2/3的信息。
B.Light CNN框架
在CNN的背景下,MFM操作的作用类似于生物识别中的局部特征选择。MFM通过不同的滤波器在每个位置选择最优特征。在反向传播过程中产生双梯度(1和0)刺激或抑制一个神经元。二值梯度与著名的有序测度[31]有着相似的作用。
带MFM的CNN可以得到一个紧凑的表示,而MFM层的梯度是稀疏的。由于MFM的稀疏梯度,一方面在训练阶段进行反向传播时,采用随机梯度下降法(SGD)只能对响应变量的神经元产生影响;另一方面,MFM在提取特征进行测试时,通过激活两个特征图的最大值,可以从之前的卷积层中获得更有竞争力的节点。这些观察结果显示了MFM的有价值的特性,即MFM可以进行特征选择,便于生成稀疏连接。
在本节中,我们将讨论我们的三种LIGHT CNN架构。第一个是由4个MFM的卷积层和4个最大pooling层构建,(如表I所示)Alexnet[32]。包含4,095K参数,1.5G FLOPS。

表1.Light CNN-4模型的结构。
由于网络中的网络(NIN)[33]可以潜在地在卷积层之间进行特征选择,并且使用小卷积核(如VGG[17])可以减少参数的数量,因此我们将NIN和小卷积核大小集成到具有MFM的网络中。构建的9层 Light CNN包含5个卷积层、4个NIN层、MFM层和4个最大池层,如表2所示。 Light CNN-9包含
总共有5556k个参数和1G个FLOPS,比Light CNN-4模型更深更快。

表2.Light CNN-9模型的架构。
随着残差网络[1]的发展,深度卷积神经网络得到了广泛的应用,经常在各种计算机视觉任务中获得高性能。我们还将残差分块的思想引入到Light CNN中,设计了一个用于人脸识别的29层卷积网络。残差块包含两个3×3卷积层和两个MFM操作,没有batch归一化。在Light CNN-29中,有12637k参数和3.9G左右的FLOPS。Light CNN-29的详细资料见表3。

表3.Light CNN-29模型的结构。
注意,的我们提出的使用MFM操作残差块与原始残差块[1]之间存在一些差异。一方面,我们从原始残差块中取消batch normalization批归一化。虽然批归一化可以有效地加速训练的收敛速度,避免过拟合,但在实际应用中,批处理归一化是针对特定领域的,当测试样本与训练数据来自不同领域时,可能会失败。此外,当训练的miini-batch较小时,批次统计量可能会减小。
另一方面,我们使用完全连接层而不是顶部的全局平均池化层。在我们的训练方案中,输入的图像都是对齐的,这样高水平feature map的每个节点都包含了语义和空间信息,这些信息可能会被全局平均池破坏。
C.噪声标签的语义自举
Bootstrapping,又称“自我训练”,为样本分布估计提供了一种简单有效的方法。它的基本思想是,训练样本的正向过程可以通过重新采样和从原始标记样本到重新标记样本的推理来建模。它可以估计复杂数据分布的标准误差和置信区间,也适用于控制估计的稳定性。
让x∈X,t分别代表数据和标签。基于softmax损失函数的CNN将x回归到t上,其预测分布可以表示为条件概率p(t|f(x)),∑_ip(t_i|f(x))=1。最大概率p(t_i|f(x))确定最具说服力的预测标签。基于上述理论,我们提出了一种语义自举的方法来从带有大量噪声标签的大数据集中抽取训练数据。首先,我们在CASIA-WebFace上训练Light CNN-9模型,并在原始带噪标记MS-Celeb-1M数据集上对其进行微调。其次,利用训练好的模型根据条件概率p(t_i|f(x))对带噪标记的数据集进行重新标定。然后我们用重新标定的数据集重新训练Light CNN-9。最后,我们通过再训练的模型对原始带噪标记的数据集进行再采样,构造出数据清洗后的MS-Celeb-1M数据集。引导MS-Celeb-1M数据集的细节和讨论显示在第四- e节。
4 实验
在本节中,我们在各种面部识别任务上评估我们的Light CNN模型。我们首先介绍了训练方法和数据库,然后提出了与先进的人脸识别方法的比较,以及算法分析和详细的评估。最后讨论了语义自举法在选择训练数据集方面的有效性。
5 总结
在本文中,我们开发了一个Light CNN框架来学习在带噪标记数据集上的鲁棒人脸表示。受神经抑制和maxout激活的启发,我们提出了一个MFM操作,以获得一个紧凑和低维的人脸表示。小核的卷积层,NIN和残差块的实现减少了参数空间,提高了性能。我们的框架的一个优点是,它比其他发布的CNN方法更快、更小。它在单核心i7-4790上使用约121ms提取一个人脸表示,而对于一个Light CNN-29模型,它只包含12637k个参数。此外,还提出了一种有效的语义自举算法来处理带噪声的标签问题。在各种人脸识别任务上的实验结果验证了所提出的light CNN框架对于一些实时人脸识别系统具有潜在的价值。
