DeepLearning(深度学习)原理与实现(五)

结构决定功能和协同处理:鲁棒有限制玻尔兹曼机(RoBM)


     上一篇博文中提到,GRBM训练样本越多越好,样本多蕴含的分布更具有一般性,这对其他模型也适用。但是实际样本数据中往往有大量的噪声,这或多或少的影响了GRBM的性能,工业界一般都设有清洗数据的岗位,用人脑去除噪声数据。试想:人脑为什么具有如此强大的抗噪和容错能力?其实生命科学中有一句经典的总结:结构决定功能。不同的结构的网络具有不同的功能,下面要引入的鲁棒玻尔兹曼机(Robust boltzmann machine-RoBM)就是一个很好的例证。RoBM由GRBM和RBM组成,确切的说还有一个成分:选择门。对于这个模型我不想说它怎么训练的咯,因为GRBM和RBM的训练方法前面都说过了,我只想强调下“结构决定功能”怎么体现在概率图模型上。RoBM的模型如(图一)所示:

DeepLearning(深度学习)原理与实现(五)_第1张图片

(图一)

       在给定V-tilde(tilde就是V头上的波浪号哈,表示输入节点像素)时,S和V是独立的,同样G和H是独立的,对于GRBM和RBM的节点独立前面也已经讨论过。由于这些独立性再结合对于我们问题有利的假设(如高斯分布),能量函数定义就出来了,(对于能量函数的定义,也可以用概率图模型的clque(团)来解释,其实也是变量间的独立关系决定)。RoBM的能量函数如(公式一)所示:

DeepLearning(深度学习)原理与实现(五)_第2张图片

(公式一)

         上面公式的第一行就是牵扯到变量S,V和V-tilde的选择门项,这项其实就决定选择门的功能,控制信号的输入,比如当S等于0时,随你V和V-tilde怎么变,这块能量不会太高;当S等于1时,gamma的平方控制着V和V-tilde的差异程度,如果二者差异太大,这块能量就会偏高。

         第二行就是关于噪声S的RBM能量项(和RBM的能量公式是一样的),它控制着模型和噪声的关系,S是一个指示变量,表示该样本是否“应该”有噪声(“是否应该”这是个配置,有系统来完成)。

         第三行当然就是干净数据V的GRBM能量项了(和GRBM的能量公式是一样的),他控制着模型和干净数据的关系。

        第四行就是噪声的分布,假设噪声成高斯分布。

 

        这个模型的高明之处就是它先分工了噪声去除和鉴别样本是否有噪声,然后在总体框架上协调完成他们,每行的能量项分别完成某个功能,而总体能量又协调他们做的最好,形成最佳搭档。至于训练,先是用干净数据训练GRBM,然后在训练总体模型,中间的采样还跟前面有点不一样,具体看参考文献的推理(Inference)部分。实验效果如(图二)所示
DeepLearning(深度学习)原理与实现(五)_第3张图片
(图二)
        由(图二)可以看出这个模型对输入有噪声的数据不但分离出噪声,也重建出了干净数据,最近比较有意思的是剑桥大学发布的那几个有错误的句子和段落,人脑同样可以正确的阅读他们,大脑是否是类似这样一个过程呢?开放话题,尚无结论。本来不打算写这个deep learning的应用,但是国内最大的自然语言处理群内的成员们热情的讨论勾引了俺的兴趣,要感谢他们一下哈大笑,另外这个模型的代码有点复杂,就不贴了,作者主页也挂出来了哈。

参考文献:

Robust Boltzmann Machines for Recognition and Denoising.Yi chuanTang,Ruslan,Geoffery Hinton


转载请注明出处:http://blog.csdn.net/cuoqu/article/details/8929748




你可能感兴趣的:(深度学习,概率图模型)