深度学习--人脸识别
卷积波尔兹曼机(Convolutional RBM)
卷积过程:用一个可训练的滤波器fx去卷积一个输入的 图像(第一阶段是输入的图像,后面的阶段就是Feature Map了),然后加一个偏置bx,得到卷积层Cx。 子采样过程:每邻域n个像素通过池化(pooling)步骤 变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1, 然后通过一个sigmoid激活函数,产生一个大概缩小n倍的 特征映射图Sx+1。
深度模型(Deep models)
●受限波尔兹曼机RBM ●深度信念网络DBN ●卷积受限波尔兹曼机CRBM ●混合神经网络-受限波尔兹曼机CNN-RBM
…….
“深度模型”是手段, “特征学习习? 2.深度学习的基本思想
3.深度学习的常用方法
1)自动编码机(AutoEncoder) 2)稀疏编码(Sparse Coding) 3)受限波尔兹曼机(Restrict Boltzmann Machine , RBM)
卷积波尔兹曼机(Convolutional RBM)
多滤波器情形
每层隐层神经元的个数按 滤波器种类的数量翻倍 每层隐层参数个数仅与滤 波器大小、滤波器种类的多 少有关
例如:隐含层的每个神经元都连接 10x10像素图像区域,同时有100种 卷积核(滤波器)。则参数总个数 为:(10x10+1)x100=10100个
• 稀疏自动编码器(Sparse AutoEncoder)
Input Patch Filters Features Sparse Coding
2.稀疏编码(Sparse Coding)
如果我们把输出必须和输入相等的限制放松,同时 利用线性代数中基的概念,即O = a1*Φ1 + a2*Φ2+….+ an*Φn, Φi是基,ai是系数,我们可以得到这样一个优化 问题: Min |I – O|,其中I表示输入,O表示输出。 通过求解这个最优化式子,我们可以求得系数ai和基 Φi,这些系数和基就是输入的另外一种近似表达。
本征脸(eigenface)方法
是人脸识别的基准技术,并已成为事实上的工业标准, 该方法基于主成分分析(PCA) PCA是将分散在一组变量上的信息集中到某几个综合指 标(主成分)上的数学方法,实际上起着数据降维的作 用,并保证降维过程最大化保留原数据的差异。
这对最大化类间差异(即不同人之间的差异)并最小化类内差异 (即同一人的不同图像间的差异)很有效
1)给定无标签数据,用非监督学习学习特征
2)通过编码器产生特征,然后训练下一层。这样逐层训练:
稀疏自动编码器( Sparse AutoEncoder ):
如果在AutoEncoder的基础上加上L1的Regularity限 制(L1主要是约束每一层中的节点中大部分都要为0, 只有少数不为0,这就是Sparse名字的来源),我们就 可以得到Sparse AutoEncoder法。
深度信念网络( Deep Belief Networks )
深度信念网络是一个包含多层隐层(隐层数大于2) 的概率模型,每一层从前一层的隐含单元捕获高度相关 的关联。
DBNs是一个概率生成模型,与传统的判别模型 的神经网络相对,生成模型是建立一个观察数据和 标签之间的联合分布,对P(Observation|Label)和 P(Label|Observation)都做了评估。 典型的DNBs,可视数据v和隐含向量h的关系可 以用概率表示成如下所示形式:
(a)LBP:Local Binary Pattern(局部二值模式) (b)LE:an unsupervised feature learning method,PCA (c)CRBM:卷积受限波尔兹曼机 (d)FIP:Face Identity-Preserving
FIP深度模型网络架构
(Architecture of the deep network)
FIP特征脸法
FIP ( Face Identity-Preserving )特征学习 采用的是一种多层深度模型,不像 DNB 与 DBM 只利用全局特征,它结合了局部和全局的特征,
网络架构类似于CRBM(卷积波尔兹曼机),但
FIP是一种有监督的特征学习方式,并且FIP要求 能重建恢复正面的人脸,因此这种方法对姿态和 光照变量具有更好的鲁棒性。
卷积波尔兹曼机(Convolutional RBM)
权值共享
Fully connected neural net Locally connected neural net
减少参数的方法: 每个神经元无需对全局图像做感受,只需感受局部区域(Feature Map),在高层会将这些感受不同局部的神经元综合起来获得全局信息。 每个神经元参数设为相同,即权值共享,也即每个神经元用同一个卷 积核去卷积图像。
深度学习的基本思想
假设我们有一个系统S,它有n层(S1,…Sn),它的输入是 I,输出是O,形象地表示为: I =>S1=>S2=>…..=>Sn => O,如
果输出O等于输入I,即输入I经过这个系统变化之后没有任何的信
息损失。
深度学习的常用方法:
1.自动编码机(AutoEncoder) Deep Learning最简单的一种方法是利用人工神经网络 的特点,自动编码器就是一种尽可能复现输入信号的神经网 络。为了实现这种复现,自动编码器就必须捕捉可以代表输 入数据的最重要的因素,就像PCA那样,找到可以代表原信 息的主要成分。
用PCA将2维数据降到1维的例子,绿色点表示二维 数据,PCA的目标就是找到这样一条直线,使得所 有点在这条直线上的投影点之间的平均距离最大。 也就是最大化地保留了原数据的差异性。
本征脸方法
如果将本征向量恢复成图像,这些图像很像人脸, 因此称为“本征脸”。
本征脸法认为图像的全局结构信息对于识别最重要, 将图像看做矩阵,计算本征值和对应的本征向量作为代数特
什么是深度学习?
2006年,加拿大多伦多大学教授、机器学习领域的 泰斗Geoffrey Hinton和他的学生RuslanSalakhutdinov在 《科学》上发表了一篇文章,开启了深度学习在学术界 和工业界的浪潮。 深度学习是机器学习研究中的一个新的领域,其动 机在于建立、模拟人脑进行分析学习的神经网络,它模 仿人脑的机制来解释数据,例如图像,声音和文本,它 是无监督学习的一种。 深度学习的实质,是通过构建具有很多隐层的机 器学习模型和海量的训练数据,来学习更有用的特征, 从而最终提升分类或预测的准确性。
Deep Learning Identity-Preserving Face Space
●Related
works for feature learning
1. Learning-based descriptors 2. Deep models
●
Network Architecture
Xianhao Gan
第一个特征提取层中,X0经过X1层后产生32个特征 映射图 ,它是通过一个包含32个子矩阵的权 重矩阵W1滤波后,对X0的某个局部特征的稀疏保留。
其中
where is the rectified linear function that is feature-intensityinvariant.
征进行识别,具有无需提取眼、嘴、鼻等几何特征的优点,但
在单样本时识别率不高,且在人脸模式数较大时计算量大。
[M. Turk & A. Pentland, JCN91]
本征特征(eigenfeature)方法
利用PCA分析眼、鼻、嘴等局部特征,即本征特征方法
[R. Brunelli & T. Poggio, TPAMI93]
不同的颜色表示不同种类的滤波器
卷积波尔兹曼机(Convolutional RBM)
隐层神经元数量的确定
神经元数量与输入图像大 小、滤波器大小和滤波器的 滑动步长有关。
例如,输入图像是1000x1000像素,滤 波器大小是10x10,假设滤波器间没有 重叠,即步长为10,这样隐层的神经 元个数就是(1000x1000 )/ (10x10)=10000个
[A. Pentland et al., CVPR94]
这实际上相当于:为若干重要的特征建立本征空间,然后将多个 本征空间集成起来
本征脸 vs 本征特征
本征脸利用全局特征,本征特征利用局部特征,二者各有优势
待识别图像
本征脸识别结果
本征特征识别结果
[A. Pentland et al., CVPR94]
因此,它们可以用来表达输入I,这个过程也是自动 学习得到的。如果我们在上述式子上加上L1的Regularity 限制,得到: Min |I – O| + u*(|a1| + |a2| + … + |an |)
3.受限波尔兹曼机RBM
假设有一个二部图(二分图),每一层的节点之间没有链接,一 层是可视层,即输入数据层(v) ,一层是隐藏层 (h) ,如果假设所 有的节点都是随机二值变量节点(只能取0 或者 1 值),同时假设 全 概 率 分 布 p(v,h) 满 足 Boltzmann 分 布 , 我 们 称 这 个 模 型 是 Restricted BoltzmannMachine (RBM)。
卷积波尔兹曼机(Convolutional RBM)
• CRBM是为识别二维图像信息而特殊设计的一个多层感知器。
概念示范:输入图像通过与m个可 训练的滤波器和可加偏置进行卷积, 在C1层产生m个特征映射图,然后 特征映射图中每组的n个像素再进 行求和,加权值,加偏置,通过一 个Sigmoid函数得到m个S2层的特征 映射图。这些映射图再进过滤波得 到C3层。这个层级结构再和S2一样 产生S4。最终,这些像素值被光栅 化,并连接成一个向量输入到传统 的神经网络,得到输出。