前言
受限玻尔兹曼机( Restricted Boltzmann Machine,RBM \text{Restricted Boltzmann Machine,RBM} Restricted Boltzmann Machine,RBM)是深度学习领域中的一种重要模型,其起源于统计物理学,由保罗·斯模棱斯基最初提出并命名为簧风琴( Harmonium \text{Harmonium} Harmonium)。随后,在杰弗里·辛顿及其合作者的推动下,受限玻尔兹曼机因其独特的结构和高效的训练算法而逐渐受到广泛关注。
序言
受限玻尔兹曼机是一种特殊的玻尔兹曼机,其结构被简化为两层:可见层和隐藏层。这两层之间的神经元是全连接的,但每一层内的神经元之间并没有连接,这种结构使得 RBM \text{RBM} RBM成为了一种二分图模型。 RBM \text{RBM} RBM的神经元都是二值化的,只有激活( 1 1 1)和不激活( 0 0 0)两种状态,这种特性使得 RBM \text{RBM} RBM在处理二值数据时具有独特的优势。
受限玻尔兹曼机(RBM)
-
受限玻尔兹曼机以簧风琴 ( harmonium \text{harmonium} harmonium) 之名 ( Smolensky, 1986 \text{Smolensky, 1986} Smolensky, 1986) 面世之后,成为了深度概率模型中最常见的组件之一。
- 我们之前在深度学习中的结构化概率模型 - 结构化概率模型的深度学习方法篇 - 受限玻尔兹曼机实例简要介绍了 RBM \text{RBM} RBM。
- 在这里我们回顾以前的内容并探讨更多的细节。
- RBM \text{RBM} RBM是包含一层可观察变量和单层潜变量的无向概率图模型。
- RBM \text{RBM} RBM可以堆叠起来(一个在另一个的顶部)形成更深的模型。
- 图例1展示了一些例子。
- 特别地,图例1 - a 显示 RBM \text{RBM} RBM本身的图结构。
- 它是一个二分图,观察层或潜层中的任何单元之间不允许存在连接。
-
我们从二值版本的受限玻尔兹曼机开始,但如我们之后所见,这还可以扩展为其他类型的可见和隐藏单元。
-
更正式地说,令观察层由一组 n v n_v nv 个二值随机变量组成,我们统称为向量 v \textbf{v} v。我们将 n h n_h nh 个二值随机变量的潜在或隐藏层记为 h \boldsymbol{h} h。
-
就像普通的玻尔兹曼机, 受限玻尔兹曼机也是基于能量的模型,其联合概率分布由能量函数指定:
P ( v = v , h = h ) = 1 Z e ( − E ( v , h ) ) P(\textbf{v}=\boldsymbol{v},\textbf{h}=\boldsymbol{h})=\displaystyle\frac{1}{Z}e^{(-E(\boldsymbol{v},\boldsymbol{h}))} P(v=v,h=h)=Z1e(−E(v,h)) — 公式1 \quad\textbf{---\footnotesize{公式1}} —公式1 -
RBM \text{RBM} RBM的能量函数由下给出:
E ( v , h ) = − b ⊤ v − c ⊤ h − v ⊤ w h E(\boldsymbol{v},\boldsymbol{h})=-\boldsymbol{b}^\top\boldsymbol{v}-\boldsymbol{c}^\top\boldsymbol{h}-\boldsymbol{v}^\top\boldsymbol{w}\boldsymbol{h} E(v,h)=−b⊤v−c⊤h−v⊤wh — 公式2 \quad\textbf{---\footnotesize{公式2}} —公式2 -
其中, Z Z Z是被称为配分函数的归一化常数:
Z = ∑ v ∑ h e − E ( v , h ) Z=\sum\limits_{\boldsymbol{v}}\sum\limits_{\boldsymbol{h}}e^{-E(\boldsymbol{v},\boldsymbol{h})} Z=v∑h∑e−E(v,h) — 公式3 \quad\textbf{---\footnotesize{公式3}} —公式3 -
从配分函数 Z Z Z 的定义显而易见,计算 Z Z Z 的朴素方法(对所有状态进行穷举求和)计算上可能是难以处理的,除非有巧妙设计的算法可以利用概率分布中的规则来更快地计算 Z Z Z。
- 在受限玻尔兹曼机的情况下, Long and Servedio (2010) \text{Long and Servedio (2010)} Long and Servedio (2010) 正式证明配分函数 Z Z Z 是难解的。
- 难解的配分函数 Z Z Z 意味着归一化联合概率分布 P ( v ) P(\boldsymbol{v}) P(v) 也难以评估。
- 图例1:可以用受限玻尔兹曼机构建的模型示例。
-
可以用受限玻尔兹曼机构建的模型示例
-
说明:
- 图(a)
- 受限玻尔兹曼机本身是基于二分图的无向图模型,在图的一部分具有可见单元,另一部分具有隐藏单元。
- 可见单元之间没有连接, 隐藏单元之间也没有任何连接。
- 通常每个可见单元连接到每个隐藏单元,但也可以构造稀疏连接的 RBM \text{RBM} RBM,如卷积 RBM \text{RBM} RBM。
- 图(b)
- 深度信念网络是涉及有向和无向连接的混合图模型。
- 与 RBM \text{RBM} RBM一样,它也没有层内连接。
- 然而, DBN \text{DBN} DBN具有多个隐藏层,因此隐藏单元之间的连接在分开的层中。
- 深度信念网络所需的所有局部条件概率分布都直接复制 RBM \text{RBM} RBM的局部条件概率分布。
- 或者,我们也可以用完全无向图表示深度信念网络,但是它需要层内连接来捕获父节点间的依赖关系。
- 图©
- 深度玻尔兹曼机是具有几层潜变量的无向图模型。
- 与 RBM \text{RBM} RBM和 DBN \text{DBN} DBN一样, DBM \text{DBM} DBM也缺少层内连接。
- DBM \text{DBM} DBM与 RBM \text{RBM} RBM的联系不如 DBN \text{DBN} DBN紧密。
- 当从 RBM \text{RBM} RBM堆栈初始化 DBM \text{DBM} DBM时,有必要对 RBM \text{RBM} RBM的参数稍作修改。
- 某些种类的 DBM \text{DBM} DBM可以直接训练,而不用先训练一组 RBM \text{RBM} RBM。
- 图(a)
-
条件分布
-
虽然 P ( v ) P(\boldsymbol{v}) P(v) 难解,但RBM的二分图结构具有非常特殊的性质,其条件分布 P ( h ∣ v ) P(\textbf{h} \mid \textbf{v}) P(h∣v) 和 P ( v ∣ h ) P(\textbf{v} \mid \textbf{h}) P(v∣h) 是因子的,并且计算和采样是相对简单的。
-
从联合分布中导出条件分布是直观的:
{ P ( h ∣ v ) = P ( h , v ) P ( v ) — 公式4 = 1 P ( v ) 1 Z e { b ⊤ v + c ⊤ h + v ⊤ W h } — 公式5 = 1 Z ′ e { c ⊤ h + v ⊤ W h } — 公式6 = 1 Z ′ e { ∑ j = 1 n h c j ⊤ h j + ∑ n h j = 1 v ⊤ W : , j h j } — 公式7 = 1 Z ′ ∏ j = 1 n h e { c j ⊤ h j + v ⊤ W : , j h j } — 公式8 \begin{cases} \begin{aligned} P(\boldsymbol{h}\mid\boldsymbol{v})&=\frac{P(\boldsymbol{h},\boldsymbol{v})}{P(\boldsymbol{v})} &\quad\textbf{---\footnotesize{公式4}}\\ &=\frac{1}{P(\boldsymbol{v})}\frac{1}{Z} e^{\big\{\boldsymbol{b}^\top\boldsymbol{v}+\boldsymbol{c}^\top\boldsymbol{h}+\boldsymbol{v}^\top\boldsymbol{Wh}\big\}} &\quad\textbf{---\footnotesize{公式5}}\\ &=\frac{1}{Z^\prime} e^{\big\{\boldsymbol{c}^\top\boldsymbol{h}+\boldsymbol{v}^\top\boldsymbol{Wh}\big\}} &\quad\textbf{---\footnotesize{公式6}}\\ &=\frac{1}{Z^\prime} e^{\big\{\sum\limits_{j=1}^{n_h}\boldsymbol{c}_j^\top\boldsymbol{h}_j+\sum\limits_{n_h}^{j=1}\boldsymbol{v}^\top\boldsymbol{W}_{:,j}\boldsymbol{h}_j \big\}} &\quad\textbf{---\footnotesize{公式7}}\\ &=\frac{1}{Z^\prime} \prod\limits_{j=1}^{n_h} e^{\big\{\boldsymbol{c}_j^\top\boldsymbol{h}_j+\boldsymbol{v}^\top\boldsymbol{W}_{:,j}\boldsymbol{h}_j\big\}} &\quad\textbf{---\footnotesize{公式8}} \end{aligned} \end{cases} ⎩ ⎨ ⎧P(h∣v)=P(v)P(h,v)=P(v)1Z1e{b⊤v+c⊤h+v⊤Wh}=Z′1e{c⊤h+v⊤Wh}=Z′1e{j=1∑nhcj⊤hj+nh∑j=1v⊤W:,jhj}=Z′1j=1∏nhe{cj⊤hj+v⊤W:,jhj}—公式4—公式5—公式6—公式7—公式8 -
由于我们相对可见单元 v \textbf{v} v 计算条件概率,相对于分布 P ( h ∣ v ) P(\textbf{h} \mid \textbf{v}) P(h∣v) 我们可以将它们视为常数。
- 条件分布 P ( h ∣ v ) P(\textbf{h} \mid \textbf{v}) P(h∣v) 因子相乘的本质,我们可以将向量 h \boldsymbol{h} h 上的联合概率写成单独元素 h j h_j hj 上(未归一化)分布的乘积。
- 现在原问题变成了对单个二值 h j h_j hj 上的分布进行归一化的简单问题。
- { P ( h j = 1 ∣ v ) = P ~ ( h j = 1 ∣ v ) P ~ ( h j = 0 ∣ v ) + P ~ ( h j = 1 ∣ v ) — 公式9 = e { c j + v ⊤ W : , j } e { 0 } + e { c j + v ⊤ W : , j } — 公式10 = σ ( c j + v ⊤ W : , j ) — 公式11 \begin{cases} \begin{aligned} P(h_j=1\mid\boldsymbol{v})&=\displaystyle\frac{\tilde{P}(h_j=1\mid\boldsymbol{v})}{\tilde{P}(h_j=0\mid\boldsymbol{v})+\tilde{P}(h_j=1\mid\boldsymbol{v})} &\quad\textbf{---\footnotesize{公式9}}\\\\ &=\displaystyle\frac{e^{\big\{c_j+\boldsymbol{v}^\top\boldsymbol{W}_{:,j} \big\}} }{ e^{\big\{0\big\} }+e^{\big\{c_j+\boldsymbol{v}^\top\boldsymbol{W}_{:,j}\big\} }} &\quad\textbf{---\footnotesize{公式10}}\\\\ &=\sigma(c_j+\boldsymbol{v}^\top\boldsymbol{W}_{:,j}) &\quad\textbf{---\footnotesize{公式11}} \end{aligned} \end{cases} ⎩ ⎨ ⎧P(hj=1∣v)=P~(hj=0∣v)+P~(hj=1∣v)P~(hj=1∣v)=e{0}+e{cj+v⊤W:,j}e{cj+v⊤W:,j}=σ(cj+v⊤W:,j)—公式9—公式10—公式11
-
现在我们可以将关于隐藏层的完全条件分布表达为因子形式:
P ( h ∣ v ) = ∏ j = 1 n h σ ( ( 2 v − 1 ) ) ⊙ ( c + W ⊤ v ) ) j P(\boldsymbol{h}\mid\boldsymbol{v})=\prod\limits_{j=1}^{n_h}\sigma\big((2\boldsymbol{v}-1))\odot(\boldsymbol{c}+\boldsymbol{W}^\top\boldsymbol{v})\big)_j P(h∣v)=j=1∏nhσ((2v−1))⊙(c+W⊤v))j — 公式12 \quad\textbf{---\footnotesize{公式12}} —公式12
训练受限玻尔兹曼机
- 因为
RBM
\text{RBM}
RBM允许以高效
MCMC
\text{MCMC}
MCMC采样( 块吉布斯采样的形式)对
P
~
(
v
)
\tilde{P}(\boldsymbol{v})
P~(v) 进行高效评估和求导,所以可以简单地使用面对配分函数中描述的任意训练具有难解配分函数模型的技术。
- 这包括 CD \text{CD} CD、 SML \text{SML} SML( PCD \text{PCD} PCD)、比率匹配等。
- 与深度学习中使用的其他无向模型相比, RBM \text{RBM} RBM可以相对直接地训练,因为我们可以以闭解形式计算 P ( h ∣ v ) P(\textbf{h} \mid \boldsymbol{v}) P(h∣v)。
- 其他一些深度模型,如深度玻尔兹曼机,同时具备难处理的配分函数和难以推论的难题。
总结
受限玻尔兹曼机作为一种无向概率图模型,在机器学习和深度学习领域具有广泛的应用。其结构简洁且训练高效,能够学习到数据中的潜在表示,并用于降维、分类、协同过滤、特征学习和生成模型等多种任务。 RBM \text{RBM} RBM的能量函数和概率分布定义为其提供了坚实的理论基础,而对比散度( Contrastive Divergence,CD \text{Contrastive Divergence,CD} Contrastive Divergence,CD)算法的出现则进一步推动了 RBM \text{RBM} RBM的广泛应用。
随着深度学习技术的不断发展,受限玻尔兹曼机将在更多领域展现其潜力和价值,为人工智能技术的进步贡献更多力量。
往期内容回顾
深度学习中的结构化概率模型 - 结构化概率模型的深度学习方法篇
面对配分函数 - 引言篇