1. 玻尔兹曼分布:

$$p(E) \thicksim e^{-E/kT} $$

2. RBM

  • 两层:隐层和可视层, $\mathbf v$, $\mathbf h$

$$v_i \in \{0, 1\}, \ \ \ h_j \in \{0, 1\}$$

- 能量假设:
$$ E (\mathbf v, \mathbf h; \theta) = - \mathbf b \cdot \mathbf v - \mathbf c \cdot \mathbf h - \mathbf v^T W \mathbf h \\
\theta = \{\mathbf b,\ \mathbf c,\ W\}$$

  • 概率分布:

$$p(v, h; \theta) = \frac 1 Z e ^{-E(v,h; \ \theta)} \\
Z(\theta) = \sum_{v,h} e^{-E(v,h; \theta)}$$

  • 条件概率:

$$p(v | h;\ \theta) = \frac{e^{-E(v,h)}}{\sum_ve^{-E(v,h)}} \\
p(h | v;\ \theta) = \frac{e^{-E(v,h)}}{\sum_he^{-E(v,h)}} \\
p(v_i = 1 \ | \ h; \theta) = \sigma(b_i + \sum_j W_{ij} h_j) \\
p(h_j = 1 \ | \ v; \theta) = \sigma(c_j + \sum_i W_{ij} v_i)$$

  • 全概率:

$$ p(v) = \sum_h p(v,h) = \frac{\sum_h e^{-E(v,h)}}{\sum_{v,h} e^{-E(v,h)}} $$

3. 优化

  • 极大化似然函数:

$$\mathcal L(\theta\ |\ v) = \ln p(v;\ \theta) = \ln\sum_he^{-E(v,h)} - \ln\sum_{v,h} e^{-E(v,h)} $$

  • 梯度:

$$ \frac{\partial L}{\partial \theta}
= \mathrm E_{p(h|v)}[-\frac{\partial E(v,h)}{\partial\theta}] - \mathrm E_{p(v,h)}[-\frac{\partial E(v,h)}{\partial \theta}] \\
\frac{\partial E(v,h)}{\partial W_{ij}} = - v_i h_j, \\
\frac{\partial E(v,h)}{\partial b_i} = - v_i, \\
\frac{\partial E(v,h)}{\partial c_j} = - h_j$$

4.其他能量模型

  • Gaussian-Bernoulli RBM:

- 能量定义:
$$E(v,h; \theta) = \sum_i \frac{(v_i - b_i)^2}{2\sigma_i^2} - \sum_j c_j h_j - \sum_{ij} W_{ij}\frac{v_i}{\sigma_i}h_j \\ \theta = \{b,\ \sigma,\ c,\ W \} \qquad\qquad \qquad\qquad $$

- 条件概率:
$$p(v_i = x \ | \ h;\ \theta) = \mathcal N(b_i + \sigma_i \sum_j W_{ij}h_j,\ \sigma_i) \\
p(h_j = 1 \ | \ v;\ \theta) = \sigma(c_j + \sum_i W_{ij}\frac {v_i}{\sigma_i}) \ \ \ \ \ $$

  • extended energy

- 能量定义
$$E(v,\ y,\ h) = -\sum b_i v_i - \sum c_j h_j - \sum W_{ij} v_i h_j - \sum d_k y_k - \sum U_{jk} h_j y_k \\
\theta = \{b,\ c,\ W,\ d,\ U\} \qquad\qquad\qquad$$
- 条件概率
$$p(v_i = 1 | h) = \sigma(b_i + \sum_j W_{ij}h_j) \qquad\qquad\\
p(h_j = 1| x,\ y) = \sigma(c_j + \sum_iW_{ij}x_i + \sum_kU_{jk}y_k) \\
p(y_k = 1 | h) = \frac{\exp(d_k + \sum_j U_{jk}h_j)}{\sum_k \exp(d_k + \sum_kU_jk h_j)} $$

5. 附录

1. 玻尔兹曼分布的最大熵推导

封闭系统能量守恒,总能量 $\mathcal E$。共有$N$个状态,每个状态$i$的能量 $E_i$,对应概率 $p_i$
则有约束条件:
$$\sum_ip_i = 1 \\ \sum_i p_i E_i = \mathcal E/N \equiv \bar E $$
最大化信息熵:
$$H[p] = -\sum_ip_i\ln p_i$$
等效于最大化下面的拉格朗日量:
$$\mathcal L[p] = H[p] + \alpha (1 - \sum_ip_i)+ \beta(\bar E - \sum_ip_iE_i)$$
即得能量的概率分布:
$$p(E_i) \propto e^{-\beta E_i}$$

2. RBM 条件概率推导

$$p(v_i=1 |h) = \frac{\sum_{v_k\ne i}p(v_i=1,v_k,h)}{\sum_vp(v,h)} \\
=\frac{\sum_{v_k\ne i}\exp[(b_iv_i+\sum_j W_{ij}v_ib_j)_{v_i=1}+\sum_{k\ne i}b_kv_k + \sum_j c_jh_j + \sum_{k\ne i,j}W_{kj}v_kh_j]}
{\sum_{v_i,v_{k\ne i}} \exp[(b_iv_i+\sum_j W_{ij}v_ib_j)+\sum_{k\ne i}b_kv_k + \sum_j c_jh_j + \sum_{k\ne i,j}W_{kj}v_kh_j]]} \\
= \frac{\exp[(b_iv_i+\sum_j W_{ij}v_ib_j)_{v_i=1}]\cdot\sum_{v_k\ne i}\exp[\sum_{k\ne i}b_kv_k + \sum_j c_jh_j + \sum_{k\ne i,j}W_{kj}v_kh_j]}
{\sum_{v_i} \exp[(b_iv_i+\sum_j W_{ij}v_ib_j)] \cdot \sum_{v_{k\ne i}}\exp[\sum_{k\ne i}b_kv_k + \sum_j c_jh_j + \sum_{k\ne i,j}W_{kj}v_kh_j]} \\
 = \frac{\exp[(b_iv_i+\sum_j W_{ij}v_ib_j)_{v_i=1}]}
{\sum_{v_i} \exp[(b_iv_i+\sum_j W_{ij}v_ib_j)]} \\
 = \frac{1}{1 + \exp[-b_i - \sum_jW_{ij}b_j]}. \qquad (v_i\in \{0,1\}) $$

RBM的更多相关文章

  1. RBM阅读笔记

    RBM包含两个层,可见层(visble layer)和隐藏层(hidden layer).神经元之间的连接具有以下特点:层内无连接,层间全连接.RBM可以看做是一个二分图(神经元当做顶点,神经元之间的 ...

  2. RBM Formula Deduction

    Energy based Model the probability distribution (softmax function): \[p(x)=\frac{\exp(-E(x))}{\sum\l ...

  3. Deep Learning 15:RBM的学习

    RBM是深度学习的核心,所以必须彻底清楚地理解RBM原理.推导及其训练方法 1.读学位论文“基于深度学习的人脸识别研究”: 对RBM.DBN的介绍比较详细,可以作为基础阅读,再去读英文论文. 2.RB ...

  4. 受限玻尔兹曼机(RBM)学习笔记(八)RBM 的评估

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  5. 受限玻尔兹曼机(RBM)学习笔记(七)RBM 训练算法

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  6. 受限玻尔兹曼机(RBM)学习笔记(六)对比散度算法

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  7. 受限玻尔兹曼机(RBM)学习笔记(五)梯度计算公式

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  8. 受限玻尔兹曼机(RBM)学习笔记(四)对数似然函数

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  9. 受限玻尔兹曼机(RBM)学习笔记(三)能量函数和概率分布

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  10. 受限玻尔兹曼机(RBM)学习笔记(二)网络结构

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

随机推荐

  1. UVa 11549 计算器谜题(Floyd判圈算法)

    https://vjudge.net/problem/UVA-11549 题意: 有一个老式计算器,只能显示n位数字,输入一个整数k,然后反复平方,如果溢出的话,计算器会显示结果的最高n位.如果一直这 ...

  2. 使用httpclient提交表单数据加号(+)会被自动替换成空格的坑

    坑的场景: 今天使用httpclient-4.5.3版本,发送如下报文: { "idNo": "7+6+0+2ce722a546b39463bd62817fe57f8&q ...

  3. css hover dropdown

    html-------------------------- <div class="dropdown"> <span>鼠标移动到我这!</span& ...

  4. 仿照Chome的GhostPage调试功能

    今天在测试过程中发现了网站的一个bug,在大屏幕上是自适应的,小屏幕笔记本上高度不是自适应,html的高度并不是浏览器的高度,小屏幕总是差了一截,在调试过程中偶然发现差的那一小截正好是一个横向滑动条的 ...

  5. RabbitMQ :常用命令与图形管理及用户权限

    RabbitMQ 安装 安装 RabbitMQ 前要先安装 Erlang,可以去 Erlang 官网下载,接着去 RabbitMQ 官网下载安装包,解压缩即可 Mac 用户可以通过 HomeBrew ...

  6. 异步提交表单插件jquery.form.min.js的使用实例

    因为项目中需要达到效果:前台点击按钮弹出文件选择框,选择文件确定之后,上传到后台对文件进行处理并给出响应信息. 尝试过使用$.post,$.ajsx,将表单序列化之后传到后台,但是后台并不能收到文件, ...

  7. mysql快问快答

    1.查看mysql版本 select version(); show variables like 'version'; 2.mysql 可以按timestamp排序吗? 可以 3.怎么查询商户下是否 ...

  8. 【Raspberry pi】cpu、内存等查看及扩展

    使用树莓派时,需要在其系统中部署几个不同功能的程序系统,并涉及到数据库读写.串口读写.web访问等,使系统使用压力较大,在查看树莓派使用情况时也遇到些许问题. free命令 total used fr ...

  9. ansible入门五

    一.Ansible条件测试 在ansible中还可以进行条件测试.如果需要根据变量.facts或此前任务的执行结果来做为某task执行与否的前提时要用到条件测试. 1. when语句 在task后添加 ...

  10. 029——VUE中键盘语义修饰符

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...