受限玻尔兹曼机器 - 重建

时间:2010-11-05 11:44:23

标签: statistics machine-learning artificial-intelligence neural-network rbm

我读了一些关于限制Boltzmann机器的文章。测试了这些机器的重建能力。我理解训练的工作原理,但不了解这种重建是如何进行的。任何人都可以给我一些提示吗?

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我认为你的意思是在自动编码器的上下文中使用RBM来调用输入,而不是像关联内存网络。

在学习阶段,输入单元和输出节点(单位)被钳制到训练集中的值,之后重复的玻尔兹曼采样(例如,通过Metropolis Hastings和模拟退火的组合)与梯度下降结合使用优化输入,隐藏和输出节点之间所有连接的权重。训练后,受限制的Boltzmann网络可用于1)分类/预测或2)在自由运行模式下生成内存。

在分类/预测模式下,部分或全部输入单元被钳位,而隐藏和输出节点则采用玻尔兹曼采样进行采样。输出节点的统计属性(基本上是均值)是预测或分类。如果RBM的结构类似于单层自动编码器,其输入层类似于输出层和稀疏或更小的隐藏层,那么导致完全恢复训练输入的有限数量的输入将构成“重建”。 / p>

Hinton的2006年科学论文讨论了其中的一些想法:

http://www.cs.toronto.edu/~hinton/science.pdf

本文是RBM和神经网络的一个相当具体的应用。在本文中,他使用RBM预训练深层(多层)神经网络。

答案 2 :(得分:1)

受限玻尔兹曼机是生成模型,可以为给定的隐藏单位生成样本。

对于重建,首先,将输入数据钳位到可见单位,并使用模型的权重计算隐藏状态。在第二步骤中,通过使用最近计算出的隐藏状态来计算可见单位。您在第二步中获得的可见状态是重构样本。

输入数据与重构样本的比较(逐元素比较等)会产生重构误差。

答案 3 :(得分:0)

Hinton's algorithm中,他们使用RBM进行预训练,以便初始权重接近确保梯度下降收敛的良好解决方案。

在下一步中,初始网络(例如,[1000 500 100 2])展开以提供自动编码器网络([1000 500 100 2 100 500 1000])。编码器([1000 500 100 2])和解码器([2 100 500 1000])部件最初使用相同的重量。

最后一个阶段是微调。它通过整个自动编码器([1000 500 100 2 100 500 1000])使用反向传播来微调权重(通过最小化输入及其重建之间的差异的误差)以实现最佳重建。自动编码器的输出是输入的重建。