我正在学习限制Boltzmann机器,但我无法判断RBM的隐藏向量是否无用。
下面是我对隐藏向量扮演的角色的两个理解。我有误解什么吗?如果不是,那么这些向量所扮演的角色怎么会如此不同呢?
所以,这些是我的理解,如果你能通过解释RBM如何用于MNIST来回答这个问题,这将对我非常有帮助。
发布于 2018-04-08 20:03:37
在我看来,这两种答案都是正确的--这取决于你想要实现什么。
使用成果管理制的一种方法是作为一种生成模型。如果您想这样做,您将对网络进行培训,以获得生成网络分布的权重,该分布尽可能接近输入数据的实际分布(不完全正确,因为CD已知不会收敛到样本分布,但这只是一个旁白)。例如,您可以从部分图像或完全新的图像样本中重建图像。在这种情况下,隐藏单元的主要目的是增加网络的功率--一个没有隐藏单元的Boltzmann机器无法用相同的秒数区分目标分布。但是,隐藏单元的实际值在过程中和之后并不那么重要,因为您的主要目标是生成示例。
如果要使用模型来检测特性,则隐藏单元具有额外的角色。为了解释这一点,假设您使用对比发散作为学习算法。在每次迭代中,您将从可见单元中抽取隐藏单元,并从隐藏单元的新值中抽取可见单元。如果结果接近可见单元的原始值,即如果重构误差很小,那么显然,隐藏单元和权值已经足够地了解了训练数据,从而从隐藏单元的值中重构了可见单元的值。正如您所说,这实际上类似于维度缩减或自动编码器。然后,您可以在隐藏单元之上构建第二个RBM,即您可以开始堆叠RBM来构建深度网络,在这里,每一层新的隐藏单元从培训数据中学习更多更抽象的特征。
https://datascience.stackexchange.com/questions/23194
复制相似问题