概述
玻尔兹曼机(BM)是一种基于能量的网络(Energy Based Network, EBN)。统计力学中,带有电荷的粒子具有能量,由于电荷间作用力,粒子间会保持一定距离,尽量使得系统整体能量最低。物理学中,能量低意味着稳定。从机器学习的角度,我们只需知道EBN有保持能量最低的趋势即可,玻尔兹曼机也不例外。
玻尔兹曼机接受输入,然后尝试识别所有影响这些输入的特征或与这些特征相关的特征。BM通过试图将系统的能量降至最低,来解决上述问题,这是一个生成特征(Generate Features)的无监督学习过程。我们也许可以理解其中一部分生成的特征,但其他的特征仍是个谜。今天深度学习的本质是特征学习,从这一点看,BM过于领先时代了。
从上面的图中,您可能发现玻尔兹曼机有个特点--没有输出层!没有输出层的神经网络。意味这什么???
玻尔兹曼机器是没有方向的神经网络!!!
这意味着与ANN,CNN,RNN等你看到过的大部分神经网络不同,BM中信息不会按一定方向流过网络。数据(和能量)在网络中移动,以它喜欢的方式(能量最低)创建代表不同特征的隐藏节点。一旦给BM提供了输入数据,这些数据就会立即被吸收到系统中并成为其中的一部分。 初始化算法后,所有数据和特征被平等对待。我们可以想象BM有多强大,但是因为过于复杂,BM需要非常大的算力支持,而无法Scale。
于是Hinton等人在80年代,提出了受限的玻尔兹曼机(Restricted Boltzmann Machine,RBM),这是一种简化版的BM,禁止同一层的神经相互连接,变的非常简单,大大降低了网络的复杂度。实践证明RBM非常好用,因为它很简单,也经常被作为一个基础的构件应用与其他更为复杂的网络,比如DBN和DBM。
右图: 多个RBM堆叠起来,就得到了深度玻尔兹曼机(Deep Boltzmann Machine,DBM);如果在DBM最远离可视层的部分仍保持RBM不变(左图上部),其他层(左图下部和中部)使用贝叶斯信念网络(Bayesian Belief Network)(RBM是无向图,贝叶斯网络是有向图),就得到了深度信念网络(Deep Belief Net,DBN)。
说到信念Belief,在机器学习乃至整个科学的语境中,好像都略微有点怪怪的,感觉很主观的感觉。我个人的经验Belief接近于贝叶斯主义的先验,随着接受到新的事实(数据)而调整,当数据足够多时,最初的Belief已经被稀释到可忽略的程度,也就变成和频率主义一样的结果了。
从图上看,DBM与DBN很类似,都由RBM堆叠而成,但两者存在着本质的差别:整体来看,DBN是有向图(除了最上层的RBM是无向图),DBN巧妙结合了有向图和无向图的生成模型;DBM每相邻的两层都是RBM,是完全的无向图。
DBN由逐层贪心训练得到的RBM叠加起来得到,因为DBN是有向的,所以前层的分布并不依赖于后层,这是由于逐层训练的结果。DBN被用来对深度模型进行预训练,然后再通过反向传播来进行微调(当时算力不够,现在算力强大就一锅炖了),详见Hinton 的论文A fast learning algorithm for deep belief nets(2006)。2012年,他和Alex在ImageNet比赛的冠军算法虽然使用的是CNN,但利用DBN进行了预训练,发明了AlexNet,才引起的工业界的注意,并大力投入,才有了后来深度学习的繁荣。
DBM虽然没有被广泛应用,如果没有记错,在Netflix百万美元大奖冠军模型在推荐系统中应用了DBM,才有了后来的协同过滤,才有了Kaggle,世界上最著名的机器学习比赛平台,后被Google纳入旗下。
最后
以上就是整齐芒果为你收集整理的受限玻尔兹曼机_深度玻尔兹曼机DBM与深度信念网络DBN:当物理学遇到深度学习...的全部内容,希望文章能够帮你解决受限玻尔兹曼机_深度玻尔兹曼机DBM与深度信念网络DBN:当物理学遇到深度学习...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复