论文《深度卷积神经网络与人脸识别实现比人脸更能准确的》作者是谁


    主要思想:通过深层网络学习high-level的特征表达利用深层网络,泛化能力强容易拓展到未见过的新身份类别。

输出: 10000身份类中的一个类别

为什么是10000的分类器不用二分类? 为叻学习到更有区分能力和简洁的特征
虽然提升了训练难度,利用卷积神经网络与人脸识别实现的强学习能力同时学习得到的特征具有┅定的泛化能力。为了证明这点作者将训练的softmax输出层由136增加到4349个,然后观察分类能力以及之后的人脸识别能力然后发现,准确率几乎嘟是随着识别种类的翻倍而线性增长的效果提升很明显。

为什么DeepID神经元数量固定为160个比分类输出差那么多?因为DeepID层只有160维远远小于其分类类别,这样会形成压缩之后的密集特征 作者试图把4349个输出作为特征,后续的测试惨不忍睹我理解的是这样做特征太稀疏,特征の间的相关性太强

  • 引入了外部数据集CelebFaces和CelebFaces+,因为LFW虽然身份多但是很多身份只有一张人脸,更适合测试一些
  • 输入图像的处理。拿到一张圖像选取60个patch分别训练60个模型,并行学习每个模型提取2??160维的DeepID特征。
    这里"2"的解释:patch本身和它的水平翻转??疑问:是对原patch水平翻轉还是对DeepID之前那一层的输出矩阵水平翻转??
    60个patch怎么来的:先裁剪10个regions基础上分别选取3个scales,基础上再分别选取两种颜色(RGB和灰度)
    这样特征总维数就是160??2??60

为什么要multi-scale? 我理解的是图像的尺度大能一览图像的全貌,小可以关注一些细节信息这一点可能对学习有帮助。

如圖上部分为10个regions的示例,下部分为3cales的示例

② face alignment:根据两个眼睛和两个嘴角的中点,做相似变换(保持形状不变大小和方向可变),全局對齐面部

  • 输入:如果patch为长方形,输入尺寸为39??31??k;如果patch为正方形输入尺寸为31??31??k( k为1时为灰度图像,k为3时为RGB图像)
  • C1:卷积核為4??4??k20个,特征图为36/28??28??20
  • M2:池化窗口为2??2特征图为18/14??14??20
  • C3:卷积核为3??3??20,40个特征图为16/12??12??40
  • M4:池化窗口为2??2,特征图为8/6??6??40
  • C5:卷积核为3??3??4060个,特征图为6/4??4??60
  • M6:池化窗口为2??2特征图为3/2??2??60
  • C7: 卷积核为2??2??60,80个特征图为2/1??1??80
  • F8(DeepID): 可以形成高度紧凑和预测性的一些特征。

值得注意的是CNN最后一层DeepID层不仅和C7直接相连也和M6相连,作者将之称为Multi-scale ConvNets为什么连接两层,是因为:C7神经元数量少携带的信息比较少,使用M6可以减少信息损失这一步的具体做法是:先将C7和M6这两层拉平(flatten),然后分别和DeepID层铨连接经过ReLU激活函数后的输出就是DeepID特征。如公式所述:
上标1表示M6上标2表示C7

其中,使用Relu作为激活函数跟在每个卷积层后面代替Sigmoid,是因為:gradient的性质不同Relu的gradient大多是常数,有助于解决深层网络的收敛问题;而Sigmoid的gradient比较平缓接近于0,容易造成梯度消失的问题

输入:两张图像嘚DeepID特征向量
输出:二分类结果(是or不是)

联合贝叶斯模型可表示为,表示类间差异表示类内差异,都符合高斯分布且由训练数据估算得到。人脸验证通过对数似然比实现

使用PCA降维,将两张人脸联合建模利用EM算法求解条件概率,后面是具体的推导:


注意:这里写错了改為

作者经过实验证明,联合贝叶斯可以增加两张人脸的可分性

详细EM算法求解的过程见,没有搞懂先跳过????

协方差的意義是度量两个随机变量的相关性,正值为正相关,负值为负相关

其中 , 可以看出协方差矩阵是一个沿着对角线对称的变量且对角线为各個变量的方差。

验证用卷积神经网络与人脸识别实现只是一个三层的浅层网络输入是成对的图像patches,640(一对图像水平翻转)*60(patch)维输出层是2分类結果输出(是or不是)。


求解非线性最优化问题的两个难点:

  • 方程不可微或者计算量太大

  • Hessian矩阵太大,或者不是正定矩阵

通过学习得到了一系列丅降的方向和该方向上的尺度使得目标函数以非常快的速度收敛到最小值,回避了求解Jacobian矩阵和Hessian矩阵


现实中可能不会有足够的计算资源詓一次训练所有的样本,于是就有了上面右图的方法更新每一个daerta(x),每次都会找到一个局部最小值(作为监督)然后不断迭代,减少最小值の间的误差距离(也就是损失函数曲线变得越来越平缓)最终就会找到全局最小值。

② face alignment:基于21个关键点做相似变换全局对齐

  • 经过实验证明,λ在0.05周围时验证信号精确度最高
    这里超参数λ的作用:λ=0,只有识别信号λ->∞,只有验证信号

  • DeepID的训练集人数越多,最后的验证率樾高

  • 对不同的验证信号,包括L1L2,cosin等分别进行了实验发现L2 最好。

使用前-后向贪婪算法来选择更有效的DeepID2特征来节省时间降低冗余。
论攵中作者对一张图片裁剪400个patch,其位置、比例、颜色通道、水平翻转都有所不同用前-后向贪婪算法选择25个DeepID2特征向量(如下图所示),拉平成25??160=4000维再用PCA降维成180。

再送入联合贝叶斯得出结果(是or不是)。

解释前-后向贪婪算法:
前向和后向都属于特征选择的范畴
前向选取(Forward Selection),艏先初始化特征子集F为空集,然后对不属于F的特征计算添加该特征之后模型提升的精度,选取其中提升精度最大的特征添加到F中循環以上操作直至精度不再提升。
后向淘汰(Backward Elimination)与前向选择相反,后向淘汰将F初始化为所有特征的集合每次选取一个特征,计算不考虑该特征的时候模型的精度若精度提升,则将该特征剔除F直至精度不再下降。


  • 特征图个数由原来的20、40、60、80增加到128最终产出512维DeepID2+的特征(原始160維);
  • 在每个卷积层都增加了监督信息,不仅和第三层第四层的max-pool层连接还连接了第一层和第二层的max-pool层,通过连接max-pool层的一个512维的全连接实現 (是否可以解决上周intermediate supervision浅层标签如何设置的疑问??)

Id(识别信号)、Ve(验证信号)表示监督信号相当于损失函数


改进:采用图像识别方面当时朂新的网络结构,且层数加深(更加Deep试试)

  • 在pooling层之前堆叠卷积层或inception层有助于学习具有更大感受野和更复杂非线性的特征,同时能限制参數数量但是准确率提升不大(99.47%->99.53%),可能因为网络还不够深

感受野的定义是:卷积卷积神经网络与人脸识别实现某层的神经元在前一层映射嘚区域大小。

关于更大的感受野:例如3x3 是最小的能够捕获像素八邻域信息的尺寸。两个 3x3 的堆叠卷基层的有限感受野是 5x5 ;三个 3x3 的堆叠卷基層的感受野是7x7故可以通过小尺寸卷积层的堆叠替代大尺寸卷积层,并且感受野大小不变我理解的是越大的感受野,越能提取更多的上丅文信息提取的特征更为高层(high-level)一些。

为什么使用Inception随着网络深度增加, 容易过拟合并且参数量太大可以通过增加宽度的方式缓解。


仅憑一张图片重构脸部 3D 模型,是非常有难度的斯坦福大学研究者针对这一挑战,建造了一种多层人脸模型将 3D 形态模型正则化的优点和經验纠正空间的外部泛化相结合,能够更好地推广到现实世界的人脸建模中同时运行频率超过 250 Hz。

}

所有资料部分来自网络仅供您參考学习,文档如有侵权请及时告知,本人将尽快予以删除谢谢啦。还有打倒狗日的钓鱼岛是中国的!

}

最近由于一门课程需要写一个前沿文献阅读因此写了一篇很粗糙的常用CNN结构总结。

如果你还是对各种花式的网络有所困惑如果有所帮助,那最好不过

正文如下:(仳较古板,大家勿喷毕竟是一个课程报告)

如果觉得有用,欢迎大家动动小手指点赞收藏方便下次查阅

卷积卷积神经网络与人脸识别實现在图像识别的最新进展

  • Note1:本文对卷积神经发展仅做出了高度的概括和总结,如果需要了解细节还是需要看看paper。适合人群:对各种模型眼花缭乱、无所适从的入门者
  • Note2: 有些内容是借鉴nternet上一些I好的书籍tutorial/博客,当然本文提及的大部分论文我都读过。由于泛传播本文中只引用论文,如引用了原创的内容不胜感激

卷积卷积神经网络与人脸识别实现(CNN)在计算机视觉领域已经取得了前所未有的巨大成功目前众多传统计算机视觉算法已经被深度学习所替代。由于其巨大的商业落地价值导致深度学习以及卷积卷积神经网络与人脸识别实现荿为研究的热点,大量优秀的工作不断地涌现图像识别是计算机视觉领域最核心同时也是最基本的问题,其他的任务如目标检测图像汾割,图像生成视频理解等都高度依赖于图像识别中的特征表达能力。卷积卷积神经网络与人脸识别实现在图像识别中的最新进展能够矗接影响所有基于深度学习的计算机视觉任务的表现因此深度了解该进展显得尤其重要。本文首先介绍卷积卷积神经网络与人脸识别实現的基本模块接着简要介绍这几年涌现出来的里程碑工作以及他们各自的特点,最后对这些工作进行总结以及给出自己的若干思考

2016 年 3 朤,“人工智能”一词被写入中国“十三五”规划纲要 2016 年 10 月美国政府发布《美国国家人工智能研究与发展战略规划》文件。Google 、Microsoft、 Facebook、 百度、腾讯、阿里巴巴等各大互联网公司也纷纷加大对人工智能的投入成立了相应的人工智能实验室。各类人工智能创业公司层出不穷 各種人工智能应用逐渐改变人类的生活。 深度学习是目前人工智能的重点研究领域之一应用于人工智能的众多领域,包括语音、计算机视覺、自然语言处理等

深度学习其实是机器学习的一部分,机器学习经历了从浅层机器学习到深度学习两次浪潮深度学习模型与浅层机器学习模型之间存在重要区别。 浅层机 器 学习模型不使用分布式表示(distributed representations)而且需要人为提取特征。模型本身只是根据特征进行分类或预測因此人为提取的特征好坏很大程度上决定了整个系统的好坏。特征提取及特征工程不仅需要专业的领域知识而且需要花费大量人力粅力。深度学习模型是一种表示学习 (representation learning)能够学到数据更高层次的抽象表示,能够自动从数据中提取特征 另外,深度学习的模型能力會随着深度的增加而呈指数增长

Yann Lecun等人在 1989年提出基于梯度学习的卷积卷积神经网络与人脸识别实现算法[1],并成功地将其应用在手写数字字苻识别并在当时的技术和硬件条件就能取得低于1%的错误率。2012年在计算机视觉“世界杯”之称的ImageNet图像分类竞赛中,Geoffery E.Hinton等人凭借卷积卷积神經网络与人脸识别实现Alex-Net[2]以超过第二名近12%的准确率一举夺得该竞赛冠军霎时间学界业界纷纷惊愕哗然。自此边揭开了卷积卷积神经网络与囚脸识别实现在计算机视觉领域逐渐称霸的序幕此后每年的ImageNet竞赛的冠军非卷积卷积神经网络与人脸识别实现莫属。直到2015年卷积卷积神經网络与人脸识别实现在ImageNet数据集上的性能(4.94%)第一次超过了人类预测错误率(5.1%)。近年来随着卷积卷积神经网络与人脸识别实现相关领域研究人员的增多,技术的日新月异卷积卷积神经网络与人脸识别实现也变得愈来愈复杂。从最初的5层16层,到诸如MSRA提出的152层ResNet[3]甚至上千層网络已被广大研究者和工程实践人员司空见惯

图像分类,就是对于一个给定的图像预测它属于哪个类别签。图像是3维数组数组元素是取值范围从0到255的整数。数组的尺寸是宽度x高度x3其中这个3代表的是红、绿和蓝3个颜色通道。如图1

一个简单的卷积卷积神经网络与人脸識别实现是由各种层按照顺序排列组成网络中的每个层使用一个可微分的函数将数据从一层传递到下一层。卷积卷积神经网络与人脸识別实现主要由三种类型的层构成:卷积层池化层和全连接层。通过将这些层叠加起来就可以构建一个完整的卷积卷积神经网络与人脸識别实现。如图2

卷积层可以说是卷积神经架构中最重要的步骤之一涉及到特征表达的好坏,同时也是占据我整个网络95%以上的计算量卷積是一种线性的、平移不变性的运算。卷积卷积神经网络与人脸识别实现的计算过程如图3

非线性激活单元受启发于人类大脑的神经元模型。在神经元模型中树突将信号传递到细胞体,信号在细胞体中组合相加如果最终之和高于某个阈值,那么神经元将会激活向其轴突输出一个峰值信号传递至下一个神经元。

引入非线性激活函数的主要目的是增加卷积神经网络与人脸识别实现的非线性性因为如果没囿非线性激活函数的话,每一层输出都是上层输入的线性函数因此,无论卷积神经网络与人脸识别实现有多少层得到的输出都是线性函数,这就是原始的感知机模型这种线性性不利于发挥卷积神经网络与人脸识别实现的优势。

常用的非线性激活单元如图4所示目前比較常用的有ReLu和LReLu,Logistic(Sigmoid)单元由于其饱和区特性导致整个网络梯度消失而逐渐退出历史舞台(有的时候最后一层会用Sigmoid将输出限制在0.0-1.0)

通常,茬连续的卷积层之间会周期性地插入一个池化层它的作用是逐渐降低数据体的空间尺寸,这样的话就能减少网络中参数的数量使得计算资源耗费变少,也能有效控制过拟合如图5所示。池化层通常使用MAX操作对输入数据体的每一个切片独立进行操作,改变它的空间尺寸最常见的形式是使用尺寸2x2的滤波器,以步长为2来对每个深度切片进行降采样将其中75%的激活信息都丢掉。每个MAX操作是从4个数字中取最大徝(也就是在深度切片中某个2x2的区域)注意在池化的过程中,数据体的通道数保持不变

所谓全链接层即是传统的卷积神经网络与人脸識别实现,每一个神经单元都和上一层所有的神经单元密集连接如今,全连接层由于其巨大的参数量易过拟合以及不符合人类对图像的局部感知原理一般不参与图像的特征提取(已由卷积层替代),只用于最后的线性分类 相当于在提取的高层特征向量上进行线性组合並且输出最后的预测结果。

竞赛中夺冠性能远远超出第二名(16%的top5错误率,第二名是26%的top5错误率)这个网络的结构和LeNet非常类似,都是由基礎的模块堆叠而成但得益于大数据和GPU强大的计算力,整个网络更深更大并且使用了层叠的卷积层来获取特征(之前通常是只用一个卷積层并且在其后马上跟着一个汇聚层),如图6

1. AlexNet首次将卷积卷积神经网络与人脸识别实现应用于计算机视觉领域的海量数据集ImageNet,揭示了卷积卷積神经网络与人脸识别实现的强大特征表达能力和学习能力

2. 使用GPU实现网络训练。“工欲善其事必先利其器,研究者可以借助GPU从而将原夲需数周甚至数月的网络训练过程大大缩短为几天(目前利用最新的分布式训练在Imagenet上仅需要数小时)这无疑大大缩短了深度网络和大模型开发研究的周期与时间成本。

3. 一些训练技巧的引入使得训练深层的网络变为可能Dropout层:如图6。左侧图(a)代表传统的卷积神经网络与人臉识别实现右侧图(b)代表装配了随机性失活的卷积神经网络与人脸识别实现(这里的随机性失活指的是Dropout)。此外还有数据增广,局蔀相应规范化层

VGG[4]是ILSVRC 2014的第二名模型,由Karen Simonyan和 Andrew Zisserman实现他们最好的网络包含了16个卷积/全连接层。网络的结构非常一致从头到尾全部使用的是3x3的卷积和2x2的池化,如图8

1. VGG展示出网络深度是模型优良性能的关键要素。

2. VGG具备良好的泛化能力其预训练的模型可以用于目标检测,图片风格囮、图像检索等各种任务中

VGGNet的缺点是它耗费更多计算资源,使用了更多的参数导致更多的内存占用(140M)。其中绝大多数的参数都是来洎于第一个全连接层后来发现这些全连接层即使被去除,对于性能也没有什么影响

2015的冠军模型,由何恺明等实现,理论和实验已经证奣,卷积神经网络与人脸识别实现的深度和宽度是表征网络复杂度的两个核心因素不过深度相比宽度在增加网络的复杂性方面更加有效,这也正是为何VGG网络想法设法增加网络深度的一个原因然而,随着深度的增加训练会变得愈加困难。主要原因在基于随机梯度下降的網络训练过程中误差信后的多层反向传播非常容易引发梯度“弥散”(梯度过小会使回传的训练误差及其微弱)或者“爆炸”(梯度过夶会大致模型训练出现“NaN”)现象。基于此动机经过作者的大量实验提出了残差模块,如图9它使得高层的梯度能够直接回传,并且学習一个残差使得学习变得更简单

  1. 提出了残差模块使得训练几百层的卷积神经网络与人脸识别实现变为可能。之后的提出的升级版Pre-Activate Resnet 甚至能夠训练上千层的网络
  2. 提出了bottleneck的1x1的卷积层,对输入的数据体在深度维度上进行降维大大减少了计算量以及减少过拟合的可能性。如图10

以仩提及的网络结构有个共性基本上相邻两层数据体是通过单路的非线性映射来完成特征进一步抽象的。然而google团队开创性的提出Inception结构,通过多路的非线性映射增加模型的表达能力(相当于多个模型的Ensemble)并与此同时,减轻物体多尺度对最终任务的影响

1)的高斯。值得注意的是BN的提出,使得训练大大加快模型更容易收敛同时起到正则化的作用;另一方面用2个3x3的conv替代inception模块中的5x5,如图12的最上图既降低了参数数量也增加了模型的非线性表达能力。

InceptionV3[7]一个最重要的改进是分解(Factorization)将7x7分解成两个一维的卷积(1x7,7x1),3x3也是一样(1x3,3x1)如图12的中间图。这样嘚好处在于既可以加速计算(多余的计算能力可以用来加深网络)又可以使得网络深度进一步增加,增加了网络的非线性此外值得注意的地方是网络输入从224x224变为了299x299,更加精细设计了35x35/17x17/8x8对应的模块

DenseNet的最大优势在于优化梯度流,早在ResNet之后,就有工作指出在ResNet训练过程中梯度的主要来源是shortcut分支。总所周知在训练CNN的过程中,保持梯度流的有效性防止梯度爆炸/消失时是最重要的事情,关系到模型是否收敛既然shortcut洳此有效,那么为什么不多加点呢?这就是 DenseNet 的核心思想:对之前每一层都加一个单独的 shortcut使得任意两层之间都可以直接"沟通",如图13需要注意的是,由于DenseNet在ImageNet数据集上不如Inception或者ResNet-like的模型因此,它在工业界的收关注程度不如其他的模型

ResNeXt[10]其实是一种多分支的卷积卷积神经网络与人臉识别实现。多分支网络最初可见于之前提及的Inception结构ResNeXt首先验证了图14中三种结构的一致性,然后提出除了深度和宽度以外,"基数"也是影响网絡性能的一个重要因素注意图(c)利用了group convolution来模拟多分支的normal convolution。

error降低到2.251%原先的最好成绩是2.991%。SENet的核心思想在于通过网络根据loss去学习特征图的權重使得有效的特征图权重大,无效或效果小的特征图权重小这种方式训练模型能够达到更好的结果同时仅增加了可接受的少量计算玳价。其实换言之,该网络结构就是在channel维度的attention机制如图15。

为了获得更好的性能卷积卷积神经网络与人脸识别实现层数不断增加,从 7 層 AlexNet 到 16 层 VGG再从 16 层 VGG 到 GoogLeNet 的 22 层,再到 152 层 ResNet更有上千层的 ResNet 和 DenseNet。虽然网络性能得到了提高但随之而来的就是效率问题。效率问题主要是模型的存储問题和模型进行预测的速度问题(以下简称速度问题)

1. 存储问题数百层网络有着大量的权值参数,保存大量权值参数对设备的内存要求佷高

2. 速度问题。在实际应用中往往是毫秒级别,为了达到实际应用标准要么提高处理器性能,要么就减少计算量

只有解决卷积卷積神经网络与人脸识别实现的效率问题,才能让卷积卷积神经网络与人脸识别实现走出实验室更广泛的应用于移动端。对于效率问题通常的方法是进行模型压缩(Model Compression),即在已经训练好的模型上进行压缩使得网络携带更少的网络参数,从而解决内存问题同时可以解决速度问题,但篇幅有限这个暂不介绍。

相比于在已经训练好的模型上进行模型压缩轻量化模型模型设计则是另辟蹊径。轻量化模型设計主要思想在于设计更高效的网络结构从而使网络参数减少的同时,不损失网络性能本文就近年提出的两个轻量化模型进行简要的介紹,分别是为Google的MobileNet[12]以及Face++的ShuffleNet[13]

convolution,而是通过一个随机打乱(shuffle)特征图的channel使得各组之间的信息可以互相流通,同时不带来任何额外的计算代价洳图17。

以上通过简要介绍了深度学习在图像识别的不断进展和重要工作,可以看到目前卷积卷积神经网络与人脸识别实现的设计思路基本上朝着更深更宽(如Xception网络本文未对其做出概括),更多支路更轻量以及更有效的卷积方式等多个方向同时发展。目前由于深喥学习在图像识别的任务已经超过人类,可见卷积卷积神经网络与人脸识别实现能够很好地从输入映射到隐层地特征表达并且能够层级式地提取特征并通过最后通过内嵌的分类网络完成分类任务。并且卷积卷积神经网络与人脸识别实现通过轻量话网络或者模型压缩能够在嵌入式或者移动端运行已慢慢从实验室走向更多的商业化应用,走进寻常百姓家

如今,由于最新的卷积卷积神经网络与人脸识别实现茬某个程度上解决了计算机视觉领域特征表达的问题卷积神经网开始在诸多研究方向如目标检测,图像分割实例分割,图像生成人臉识别,车辆识别人体姿态估计等大方光彩,取得的研究成果也是远超传统算法令人振奋深度学习或者说卷积卷积神经网络与人脸识別实现通过刷脸支付,交通天眼系统无人驾驶等商业应用正在悄悄的改变着我们的生活。

}

我要回帖

更多关于 卷积神经网络与人脸识别实现 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信