一、Boltzmann Machines

Energy-based model(EBM)具有以下形式:

同时,这个形式的分布又是Boltzmann distribution;许多的energy-based models又称为Boltzmann machines。
对Boltzmann machines,它们的联合分布都是结合了一个能量方程的:

E(x)是能量方程,Z是配分方程(partition function)。Z负责保证P(x)的求和为1。Boltzmann machine的能量方程表达如下:

U指的是状态间的连接强度;x是状态,只能是0和1。BM也是多层网络,包括:input、hide、output。因此状态x可以分成两类,visible units v和latent(hidden) units h。

二、 Restricted Boltzmann Machines(RBM)

RBM的用途主要是两种,一是对数据进行编码,然后交给监督学习方法去进行分类或回归,二是得到了权重矩阵和偏移量,供BP神经网络初始化训练。
第一种可以说是把它当做一个降维的方法来使用。
第二种是因为如果直接用BP神经网络,初始值选得不好的话,往往会陷入局部极小值。根据实际应用结果表明,直接把RBM训练得到的权重矩阵和偏移量作为BP神经网络初始值,得到的结果会非常地好。

能量模型的具体含义:
【能量模型大部分转自博客】
能量模型是个什么样的东西呢?直观上的理解就是,把一个表面粗糙又不太圆的小球,放到一个表面也比较粗糙的碗里,就随便往里面一扔,看看小球停在碗的哪个地方。一般来说停在碗底的可能性比较大,停在靠近碗底的其他地方也可能,甚至运气好还会停在碗口附近(这个碗是比较浅的一个碗);能量模型把小球停在哪个地方定义为一种状态,每种状态都对应着一个能量,这个能量由能量函数来定义,小球处在某种状态的概率(如停在碗底的概率跟停在碗口的概率当然不一样)可以通过这种状态下小球具有的能量来定义(换个说法,如小球停在了碗口附近,这是一种状态,这个状态对应着一个能量E,而发生“小球停在碗口附近”这种状态的概率p,可以用E来表示,表示成p=f(E),其中f是能量函数),这就是我认为的能量模型。
波尔兹曼网络是一种随机网络。描述一个随机网络,总结起来主要有两点。
第一,概率分布函数。由于网络节点的取值状态是随机的,从贝叶斯网的观点来看,要描述整个网络,需要用三种概率分布来描述系统。即联合概率分布,边缘概率分布和条件概率分布。要搞清楚这三种不同的概率分布,是理解随机网络的关键,这里向大家推荐的书籍是张连文所著的《贝叶斯网引论》。很多文献上说受限波尔兹曼是一个无向图,从贝叶斯网的观点看,受限波尔兹曼网络也可以看作一个双向的有向图,即从输入层节点可以计算隐层节点取某一种状态值的概率,反之亦然。
第二,能量函数。随机神经网络是根植于统计力学的。受统计力学中能量泛函的启发,引入了能量函数。能量函数是描述整个系统状态的一种测度。系统越有序或者概率分布越集中,系统的能量越小。反之,系统越无序或者概率分布越趋于均匀分布,则系统的能量越大。能量函数的最小值,对应于系统的最稳定状态。

为什么要弄这个能量模型呢?原因有几个。
第一、RBM网络是一种无监督学习的方法,无监督学习的目的是最大可能的拟合输入数据,所以学习RBM网络的目的是让RBM网络最大可能地拟合输入数据。
第二、对于一组输入数据来说,现在还不知道它符合那个分布,那是非常难学的。例如,知道它符合高斯分布,那就可以写出似然函数,然后求解,就能求出这个是一个什么样个高斯分布;但是要是不知道它符合一个什么分布,那可是连似然函数都没法写的,问题都没有,根本就无从下手。
好在天无绝人之路——统计力学的结论表明,任何概率分布都可以转变成基于能量的模型,而且很多的分布都可以利用能量模型的特有的性质和学习过程,有些甚至从能量模型中找到了通用的学习方法。有这样一个好东西,当然要用了。
第三、在马尔科夫随机场(MRF)中能量模型主要扮演着两个作用:一、全局解的度量(目标函数);二、能量最小时的解(各种变量对应的配置)为目标解。也就是能量模型能为无监督学习方法提供两个东西:a)目标函数;b)目标解。

因此从以上角度出发,最扼要地描述RBM如下:
RBM也相当于一个编解码器
编码:
0)输入编码前的样本x;
1)根据x的值计算概率p(h=1|v),其中v的取值就是x的值;
2)按照均匀分布产生一个0到1之间的随机数,如果它小于p(h=1|v),y的取值就是1,否则就是0;
3)得到编码后的样本y。
解码:
0)输入解码前的样本y;
1)根据y的值计算概率p(v=1|h),其中h的取值就是y的值;
2)按照均匀分布产生一个0到1之间的随机浮点数,如果它小于p(v=1|h),v的取值就是1,否则就是0;
3)得到解码后的样本x。
具体RBM请参照http://blog.csdn.net/mytestmy/article/details/9150213/。

三、Deep Belief Networks

当Restricted Boltzmann machines被叠栈叠起来,它就可以通过Greedy layer-wise的方式进行训练,也就成为了deep belief networks。

从DBN里面训练出来的权值可以用来定义一个MLP,进而对前面的Greedy layer-wise进行fine tuning。

四、 Deep Boltzmann Machines

Deep Boltzmann machines也是由单个RBM堆叠而成,但是与DBN不同的是,DBM所有的层都是undirected model(Markov Random Field)。
DBM由于它undirected的特性,可以重构成bipartite graph的形式,即将奇数层放在一边,偶数层放在另外一边。这样的话,我们描述这个模型需要用到的方程数量和RBM是一样的。处理的时候只需要用到Gibb sampling。

DBM较之于DBN的后验分布比较复杂,因此比较适合于用variational approximation来逼近,尤其适宜使用a mean field approximation。


写在最后:
到这里已经越来越觉得自己在偷工减料了。╮(╯_╰)╭没办法,毕竟自学能力有限。不懂的东西也就和滚雪球一样越滚越大。到最后一章Boltzmann machines的时候,世界已经不是我所熟知的那个世界了。毕竟前面graphic model, Monte Carlo, Markov, approximation inference这些都是对于这一块理解很重要的。
最后的最后,这些锅我会慢慢背起来的。

参考文献:
[1] http://blog.csdn.net/mytestmy/article/details/9150213/

#DeepLearningBook#算法概览之十:Deep Generative Models相关推荐

  1. 【论文解析】Deep Generative Models on 3D Representations: A Survey

    原文连接:https://mp.weixin.qq.com/s/vpAhZg8FEZJde4FreX-I_A 可通过原文获取论文电子资源. 文章目录 内容组织结构 3 FUNDAMENTALS 3.1 ...

  2. 【论文下饭】A Systematic Survey on Deep Generative Models for Graph Generation

    内容有省略,详细见原文.水平有限,有误请指出. A Systematic Survey on Deep Generative Models for Graph Generation 文章目录 1 介绍 ...

  3. #DeepLearningBook#算法概览之八:Representation Learning

    什么是Representation Learning? 根据Bengio在2013年的一篇综述论文里的描述,所谓Representation Learning, 就是"learning th ...

  4. GAUSSIAN MIXTURE VAE: LESSONS IN VARIATIONAL INFERENCE, GENERATIVE MODELS, AND DEEP NETS

    Not too long ago, I came across this paper on unsupervised clustering with Gaussian Mixture VAEs. I ...

  5. 《A Deep Generative Framework for Paraphrase Generation》论文笔记--摘要、引言

    论文翻译及其他相关内容:https://ldzhangyx.github.io/2018/09/26/deep-para-generation/ (下述英文是原文内容,中文是给出的翻译) 标题: Pa ...

  6. 【笔记】Comparison of Object Detection and Patch-Based Classification Deep Learning Models on Mid- to La

    <Comparison of Object Detection and Patch-Based Classification Deep Learning Models on Mid- to La ...

  7. Artificial Fingerprinting for Generative Models: Rooting Deepfake Attribution in Training Data(主动防御)

    一.论文信息 论文:Artificial Fingerprinting for Generative Models: Rooting Deepfake Attribution in Training ...

  8. 论文笔记:Do We Really Need Deep Learning Models for Time Series Forecasting?

    Do We Really Need Deep Learning Models for Time Series Forecasting? Elsayed S, Thyssens D, Rashed A, ...

  9. ISPRS2020/遥感云检测:Transferring deep learning models for cloud detection between Landsat-8 and Proba-V

    ISPRS2020/云检测:Transferring deep learning models for cloud detection between Landsat-8 and Proba-V在La ...

最新文章

  1. python显示行数_在idle中如何显示行号
  2. animate默认时长所带来的问题及解决
  3. 青少年编程竞赛交流群周报(第039周)
  4. 一段话系列-QPS、TPS、PV是很么如何计算
  5. different application signatures解决方法
  6. javap分析字符串拼接执行流程
  7. nginx-rtmp源码概述
  8. python 表示图论_Python 图论工具 | 学步园
  9. 从零开始学PowerShell(7)编写一个函数体
  10. 使用Architecture Explorer分析应用程序及使用层次图
  11. 读写锁(ReadwriteLock)
  12. python绘制如下图形、小三角形边长20_OpenGL学习脚印_ 绘制移动三角形 - 王定桥的专栏.pdf...
  13. 二维随机变量函数卷积公式的推导
  14. StanfordDB class自学笔记 (九) Relational Design Theory 关系设计理论
  15. 100个替代昂贵商业软件的开源应用
  16. python中的转义字符
  17. 设计师的“通天塔”—浅谈设计沟通
  18. java mail 匿名_java开发邮件发送匿名
  19. 点连通度与边连通度的求解
  20. 一图抵千言《ARouter简明扼要原理分析》

热门文章

  1. Chaikin细分曲线
  2. 牛客网编程初学者入门训练讲解(C语言)
  3. Q版疯狂大炮游戏android×××
  4. 设置了id自动增长 oracle还可以插入id吗
  5. 信息量-log2P(莫斯编码使用频繁P大的字符编码段信息量少)、信息熵:期望E=-Plog2P、两点分布交叉熵=KL散度=相对熵=-plnp-(1-p)ln(1-p)不对称、JS散度对称
  6. C++ Primer 与“类”有关的注意事项总结
  7. 征信业务发展亟待解决的问题
  8. Docker版iServer新手入门教程
  9. 关于Python中输入的问题
  10. Dev-C++:同时编译多个文件