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. 搭建时间服务器(linux)

    我们搭建集群环境的时候,时间必须是要统一的,才能保证集群数据的一致性. 一般操作是直接使用NTP,跟默认的时间服务器同步,但是最好还是让所有节点跟集群中的某台作为时间服务器的节点同步. 步骤:(节点有 ...

  2. LeetCode——remove-duplicates-from-sorted-list-ii

    Question Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only dist ...

  3. PyTorch源码解读之torchvision.transforms(转)

    原文地址:https://blog.csdn.net/u014380165/article/details/79167753 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  4. Java 数据结构之双向链表

    一.概述: 1.什么是双向链表: 链表中的每个节点即指向前面一个节点,也指向后面一个节点,就像丢手绢游戏一样,每个人都手拉手 2.从头部插入 要对链表进行判断,如果为空则设置尾节点为新添加的节点,如果 ...

  5. mathematical method

    mathematical method 曲线拟合 指数 \(lnY = lna + bX\) 对数 \(Y = blnX + a\) 幂函数 \(lgY=lga+blgX\) 多元线性回归模型 回归分 ...

  6. 2017ACM/ICPC广西邀请赛-重现赛 1001 A Math Problem

    2017-08-31 16:48:00 writer:pprp 这个题比较容易,我用的是快速幂 写了一次就过了 题目如下: A Math Problem Time Limit: 2000/1000 M ...

  7. MySQL表锁和行锁

    锁粒度 MySQL 不同的存储引擎支持不同的锁机制,所有的存储引擎都以自己的方式显现了锁机制,服务器层完全不了解存储引擎中的锁实现: InnoDB 存储引擎既支持行级锁(row-level locki ...

  8. 推荐给开发者的11个PHP框架(转)

    PHP框架对于Web开发者来说是非常有用的工具,它可以帮助使用者更快.更容易的完成项目.根据调查,PHP仍是Web开发中最受欢迎和最实用的平台之一.当谈及Web开发时,很多人依然会选择使用PHP框架, ...

  9. 上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录。

    上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录.

  10. C++:创建线程初试

    1.使用CreatThread创建 #include <iostream> #include <Windows.h> using namespace std; /* 创建一个线 ...