第一篇博客就不用Markdown(什么鬼)来写了。
今天主要是被老板一通说,然后说两月看10篇paper,算了,还是丫丫自己先多码码论文吧。再加之这几天有开博的想法,就索性一起开了,顺道总结下最近看的一篇中文的
Facial Expression Recognition 的文章。
主要是找了 浙理工的施徐敢的毕设论文和他的一篇《融合深度信念网络和多层感知器的人脸表情识别》,再结合DL_toolbox里的DBN实例做个总结。再有其他什么想法再陆陆续续发哈。(轻喷。。。)
DBN(深度信念网络)的关键部分都是RBM(受限玻尔兹曼机)(Restricted Boltzmann Machines, RBM)的步骤,所以先放一张rbm的结构,帮助理解(网上找的图)。![]()
V是可视层,h是隐藏层。b,c是相应的偏置单元(或者是b,a)。其对RBM的训练过程为如下:
其中某些公式的推导可参考
http://blog.csdn.net/hanzihan123/article/details/23707143
伪代码如下
当RBM训练好后,对其叠加便构成DBN了。即DBN是一种深度学习结构,它是由多个受限玻尔兹曼机(RBM)叠加而成.
DBNs 的工作原理是:低层的输出作
为下一层的输入,下一层的输出再作为更高一层的输入,以此传递,通过微调参数和权重偏置来增强 DBNs 的抽取性能,结构如下图 所示
但DBN只能用来训练学习,是一种无监督学习模式,而无法单纯用来分类识别,故这里可结合多层感知器(MLP,Multilayer Perceptron)来进行识别。
MLP 神经网络模型:
多层感知器是一种前馈人工神经网络模型,其把输入层的多个数据集映射到唯一的输
出层的数据集上。多层感知器的神经网络模型是由很多层神经元模型组成的,而每个节点都是一个独立的神经元模型。
深度信念网络与多层感知器的融合的方法包括DBN的学习,MLP 初始化和人脸表情识别。深度信念网络的特征学习,包括模型中的预训练和微调,对提取的原始人脸表情图像的初级特征(原始像素特征)
进行学习,得到更高层次的抽象特征。由于 DBNs 实际上是一种含有多层隐藏层的深度学
习神经网络,提取得到的更高层次的抽象特征可以用在每一个 DBNs 的隐藏层中。在这项
工作中,DBNs 的最高隐藏层学习得到的抽象特征用来初始化传统的多层感知器(MLP)
模型中的隐层网络权重值。被初始化的 MLP 模型具有和 DNBS 模型相同的参数,比如隐
藏层的数目,每个隐藏层上的节点数,以及每个隐藏层的权重。最后,我们使用初始化的
MLP 作为分类器来进行人脸表情识别。
这里主要是讲用于分类识别的MLP将用于学习的DBN结合一起,关键是将DBN得到的 参数应用于多层感知器的初始化,即指建立一个在隐层层数、 隐层节点数、 以及每一层隐层的网络权重值三个
方面上, 与训练好之后的深度信念网络完全一样的多层感知器模型. 这个就是其创新点所在。
所以,往后可以思考:
(1)是否可用CNN替换DBN
(2)是否可用其他分类法来于DL结合。