20.1 玻尔兹曼机
玻尔兹曼机最初作为一种广义的“联结主义”引入,用来学习二值向量上的任意概率分布(Fahlman et al.,1983;Ackley et al.,1985;Hinton et al.,1984b;Hinton and Sejnowski,1986)。玻尔兹曼机的变体(包含其他类型的变量)早已超过了原始玻尔兹曼机的流行程度。在本节中,我们简要介绍二值玻尔兹曼机并讨论训练模型和进行推断时出现的问题。
我们在d维二值随机向量x∈{0,1}d上定义玻尔兹曼机。玻尔兹曼机是一种基于能量的模型(第16.2.4节),意味着我们可以使用能量函数定义联合概率分布:
其中E(x)是能量函数,Z是确保的配分函数。玻尔兹曼机的能量函数如下给出:
其中U是模型参数的“权重”矩阵,b是偏置向量。
在一般设定下,给定一组训练样本,每个样本都是n维的。式(20.1)描述了观察到的变量的联合概率分布。虽然这种情况显然可行,但它限制了观察到的变量和权重矩阵描述的变量之间相互作用的类型。具体来说,这意味着一个单元的概率由其他单元值的线性模型(逻辑回归)给出。
当不是所有变量都能被观察到时,玻尔兹曼机变得更强大。在这种情况下,潜变量类似于多层感知机中的隐藏单元,并模拟可见单元之间的高阶交互。正如添加隐藏单元将逻辑回归转换为MLP,导致MLP成为函数的万能近似器,具有隐藏单元的玻尔兹曼机不再局限于建模变量之间的线性关系。相反,玻尔兹曼机变成了离散变量上概率质量函数的万能近似器(Le Roux and Bengio,2008)。
正式地,我们将单元x分解为两个子集:可见单元ν和潜在(或隐藏)单元h。能量函数变为
玻尔兹曼机的学习 玻尔兹曼机的学习算法通常基于最大似然。所有玻尔兹曼机都具有难以处理的配分函数,因此最大似然梯度必须使用第18章中的技术来近似。
玻尔兹曼机有一个有趣的性质,当基于最大似然的学习规则训练时,连接两个单元的特定权重的更新仅取决于这两个单元在不同分布下收集的统计信息:Pmodel(ν)和(h|ν)。网络的其余部分参与塑造这些统计信息,但权重可以在完全不知道网络其余部分或这些统计信息如何产生的情况下更新。这意味着学习规则是“局部”的,这使得玻尔兹曼机的学习似乎在某种程度上是生物学合理的。我们可以设想每个神经元都是玻尔兹曼机中随机变量的情况,那么连接两个随机变量的轴突和树突只能通过观察与它们物理上实际接触细胞的激发模式来学习。特别地,正相期间,经常同时激活的两个单元之间的连接会被加强。这是Hebbian学习规则(Hebb,1949)的一个例子,经常总结为好记的短语——“fire together,wire together”。Hebbian学习规则是生物系统学习中最古老的假设性解释之一,直至今天仍然有重大意义(Giudice et al.,2009)。
不仅仅使用局部统计信息的其他学习算法似乎需要假设更多的学习机制。例如,对于大脑在多层感知机中实现的反向传播,似乎需要维持一个辅助通信的网络,并借此向后传输梯度信息。已经有学者(Hinton,2007a;Bengio,2015)提出生物学上可行(和近似)的反向传播实现方案,但仍然有待验证,Bengio(2015)还将梯度的反向传播关联到类似于玻尔兹曼机(但具有连续潜变量)的能量模型中的推断。
从生物学的角度看,玻尔兹曼机学习中的负相阶段有点难以解释。正如第18.2节所主张的,人类在睡眠时做梦可能是一种形式的负相采样。尽管这个想法更多的只是猜测。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论