您的位置:首页 > 理论基础 > 计算机网络

限制波尔兹曼机

2016-06-10 18:58 288 查看
1.玻尔兹曼分布

玻尔兹曼分布常用在热学中,对于一个有大量粒子的系统,如果系统处于或接近处于平衡,粒子的能量、速度、速率等就服从玻尔兹曼分布。

如果系统中有N个粒子,一共有j个能态,每个能态的简并度是gj,则体系的总状态数为:



用极大似然估计,需要找到Nj的分布使得W最大,由于有总粒子数和总能量数为定值的限制,这是一个约束最优化问题。

使用拉格朗日乘子法:



使用斯特灵公式,然后对每一项Ni做偏微分,令其为0,可得:



再使用其他热力学方法,可以得到最终的玻尔兹曼公式

2.玻尔兹曼机

当系统存在噪声时,处在局部最低的的分子收到扰动,不再停留在局部最低点,从而增大了移动到全局最低点的概率,玻尔兹曼机通过将“噪声”引入网络模型,使得神经网络脱离局部最低点。



如图,每条无向边都表示一对依赖关系,v是可见节点,h是隐藏节点,每个节点都是布尔值。全概率分布p(v, h)是玻尔兹曼分布。

玻尔兹曼机的训练方法为:

1.训练过程的目的是调整包含隐结点在内所有结点的联接权值;
2.将所见结点的状态一个接一个地按其所需概率锁定在所需状态上;
3.在这种锁定过程中计算每个

所联接两端同时处于激励状态的概率并存储下来;
4.让网络自由运行,对每个

记录其两端同时处于激励状态的概率;
5.对3与4所得结果进行比较,并因而调整其相应权值,使这两者越来越接近。

3.限制玻尔兹曼机

如果限制玻尔兹曼机为一个二分图,即只有可见层和隐层的节点之间有连接,而可见层与可见层、隐藏与隐层之间没有连接。设W是权重,可见层单元v的权重是a,隐层单元h的权重是h,则系统能量被定义为:



隐层和可见层的联合概率分布由能量函数给出:



因为限制玻尔兹曼机是一个二分图,层内没有边相连,所以层内的节点之间是条件独立的,所以:





其中,单个节点的激活概率为:



其中sigma是逻辑函数。

训练算法的目标是最大化可见单元的边缘概率的负对数:



可以在梯度下降的过程中使用吉布斯采样来最小化目标函数,步骤为:

1.取一个训练样本v,计算隐层节点的概率,在此基础上从这一概率分布中获取一个隐层节点激活向量的样本;

2.计算v和h的外积,称为“正梯度”;

3.从h获取一个重构的可见层节点的激活向量样本v',此后从v'再次获得一个隐层节点的激活向量样本h';

4.计算v'和h'的外积,称为“负梯度”;

5.使用正梯度和负梯度的差以一定的学习率更新权重 Wi,j: 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息