非受限玻尔兹曼机是如何训练的?

数据挖掘 机器学习 RBM
2021-09-29 15:41:09

受限玻尔兹曼机是随机神经网络。神经元形成可见单元和隐藏单元的完整二分图。“受限”正是二分属性:任何两个可见单元之间可能没有连接,两个隐藏单元之间可能没有连接。

受限玻尔兹曼机使用对比散度进行训练(CD-k,请参阅训练受限玻尔兹曼机实用指南)。

现在我想知道:如何训练非受限玻尔兹曼机?

当我用谷歌搜索“玻尔兹曼机”时,我只找到了 RBM。

2个回答

对于链接到维基百科文章,我会提前道歉,但我不确定我能否更好地解释它。 https://en.wikipedia.org/wiki/Boltzmann_machine

(将提取选定的段落以防止链接失效。)

根据我对 Hinton 演讲的回忆,我们看到很多关于训练 RBM 的讨论而没有太多讨论的原因之一是,“除了非常小的问题或有限的情况外,很难处理”。隐藏节点的激活不仅取决于可见节点的状态,还取决于其同胞。这意味着我们聪明的对比散度和梯度体面方法不起作用!

但是你没有问为什么难,你问的是怎么做。

简短的回答是模拟退火

简短的回答是,我们为网络选择一个初始状态,然后执行更新,直到网络达到全局热平衡,然后尝试调整权重,同时降低温度,直到我们的激活接近全局最小值。这个过程不断重复,直到我们对结果感到满意为止。

通用 BM 的训练方式与 RBM 相同,但速度要慢得多,因为由于存在隐藏-隐藏和可见-可见连接,Gibbs 采样对于通用 BM 的效率要低得多。

本文之前,作者提出了新算法,该算法还使用变分平均场方法来近似对数似然梯度中的一项。