一起读懂传说中的经典:受限玻尔兹曼机
2023-05-04 来源:飞速影视
尽管性能没有流行的生成模型好,但受限玻尔兹曼机还是很多读者都希望了解的内容。这不仅是因为深度学习的复兴很大程度上是以它为前锋,同时它那种逐层训练与重构的思想也非常有意思。本文介绍了什么是受限玻尔兹曼机,以及它的基本原理,并以非常简单的语言描述了它的训练过程。虽然本文不能给出具体的实现,但这些基本概念还是很有意思的。
定义 & 结构
受限玻尔兹曼机(RBM,Restricted Boltzmann machine)由多伦多大学的 Geoff Hinton 等人提出,它是一种可以用于降维、分类、回归、协同过滤、特征学习以及主题建模的算法。更多关于如何部署诸如 RBM 这样的神经网络的具体例子,请参阅 deeplearning4j 关于深度学习用例的内容。
本文将从受限玻尔兹曼机的关系和历史重要性出发,首先讨论什么是 RBM。随后,我们会使用图表和浅显的语言来描述它们的运行原理。
RBM 是两层神经网络,这些浅层神经网络是 DBN(深度信念网络)的构建块。RBM 的第一层被称为可见层或者输入层,它的第二层叫做隐藏层。
上图中的每个圆圈代表一个类似于神经元的节点,这些节点通常是产生计算的地方。相邻层之间是相连的,但是同层之间的节点是不相连的。
也就是说,不存在层内通信,这就是 RBM 中的限制所在。每一个节点都是处理输入数据的单元,每个节点通过随机决定是否传递输入。随机意味着「随机判断」,这里修改输入的参数都是随机初始化的。
每个输入单元以数据集样本中的低级特征作为输入。例如,对于一个由灰度图组成的数据集,每个输入节点都会接收图像中的一个像素值。MNIST 数据集有 784 个像素点,所以处理它们的神经网络必须有 784 个输入节点。
现在让我们跟随单像素穿过这两层网络。在隐藏层的节点 1,x 和一个权重相乘,然后再加上一个偏置项。这两个运算的结果可作为非线性激活函数的输入,在给定输入 x 时激活函数能给出这个节点的输出,或者信号通过它之后的强度。这里其实和我们常见的神经网络是一样的过程。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号