为什么使用受限制的Boltzmann机器而不是多层感知器?

时间:2015-08-07 00:50:08

标签: machine-learning neural-network classification

我试图理解限制Boltzmann机器(RBM)和前馈神经网络(NN)之间的区别。我知道RBM是一种生成模型,其中的想法是重建输入,而NN是一种判别模型,其中的想法是预测标签。但是我不清楚的是,为什么你不能只使用NN作为生成模型?特别是,我正在思考深层信念网络和多层感知器。

假设我对NN的输入是一组称为x的音符,而我的NN输出是一组节点y。在判别模型中,我在训练期间的损失将是y与我想要x产生的y的值之间的差异(例如,类标签的地面真实概率)。但是,如果我只是使输出具有与输入相同的节点数,然后将损失设置为x和y之间的差异呢?通过这种方式,网络将学习重建输入,就像在RBM中一样。

因此,鉴于可以使用NN(或多层感知器)以这种方式训练生成模型,为什么要使用RBM(或深层置信网络)呢?或者在这种情况下,它们会完全相同吗?

1 个答案:

答案 0 :(得分:8)

You can use a NN for a generative model in exactly the way you describe. This is known as an autoencoder, and these can work quite well. In fact, these are often the building blocks of deep belief networks.

An RBM is a quite different model from a feed-forward neural network. They have connections going both ways (forward and backward) that have a probabilistic / energy interpretation. You'll need to read the details to understand.

A deep belief network (DBN) is just a neural network with many layers. This can be a large NN with layers consisting of a sort of autoencoders, or consist of stacked RBMs. You need special methods, tricks and lots of data for training these deep and large networks. Simple back-propagation suffers from the vanishing gradients problem. But if you do manage to train them, they can be very powerful (encode "higher level" concepts).

Hope this helps to point you in the right directions.