什么是Boltzmann机?它的工作原理是什么?
0 617
1
该提问暂无详细描述
收藏
2021-01-29 14:07 更新 小眼的铁板烧 •  3526
共 1 个回答
高赞 时间
0

神经网络中有一类模型是为网络状态定义一个“能量”,能量最小化时网络达到理想状态,而网络的训练就是在最小化这个能量函数。Boltzmann机就是一种“基于能量的模型”,常见结构如下图所示:

其神经元分为两层:显层与隐层。

显层用于表示数据的输入与输出,隐层被理解为数据的内在表达。 Boltzmann机中的神经元都是布尔型的,只能取0,1两个状态,状态1表示激活,状态0表示抑制。令S表示n个神经元的状态,Wij表示神经元i与j之间的连接权, θi表示神经元i的阈值,则状态向量S对应的Boltzmann机能量定义为: 若网络中的神经元以任意不依赖于输入值的顺序进行更新,则网络最终将达到Boltzmann分布,此时状态向量S出现的概率将仅有其能量与所有可能状态向量的能量确定

训练过程

Boltzmann机的训练过程就是将每个训练样本视为一个状态向量,使其出现的概率尽可能的大。标准的Boltzmann机是一个全连接图,训练网络的复杂度很高,这使其难以用于解决现实任务。现实中常采用受限Boltzmann机。

受限Boltzmann机

受限Boltzmann机仅保留显层与隐层之间的连接,从而将Boltzmann机结构由完全图简化为二部图。 受限Boltzmann机常用“对比散度”算法进行训练。

收藏
2021-01-29 14:11 更新 空心人 •  3374