可以将RBM看作是一种乘法神经网络吗?

神经网络是通过权重求和来运作的,但RBM…是将权重乘起来形成概率的?所以RBM是不是一种双向神经网络,它是通过乘法而不是加法来处理权重的?


回答:

首先,受限玻尔兹曼机(RBM)是一种神经网络,因此RBM和神经网络之间没有区别。我认为你所说的神经网络实际上是指传统的前馈神经网络。另外,请注意,前馈神经网络和RBM都不是完全连接的网络。“完全连接”这个术语来自图论,意思是每个节点都与其他所有节点相连,这显然在这里不成立。然而,层与层之间是完全连接的。

传统的前馈神经网络

传统的前馈神经网络(FNN)模型是一种用于建模数据的监督学习算法。为了训练这个网络,需要一个包含标记实例的数据集。将每个项目呈现给网络,依次计算网络中每一层的激活,直到达到输出层,然后将输出与目标输出(标签)进行比较。通常使用反向传播算法来获取每个单元的权重和偏置的梯度,以便通过梯度下降更新这些参数。通常,整个数据集或其批次一次性通过网络,参数更新是针对所有这些数据计算的。

RBM

RBM模型是玻尔兹曼机模型的一种为了计算效率而被限制的版本。RBM是没有同一层内单元之间连接的玻尔兹曼机。这里不适合详细讨论,但我会给你一些外部资源的链接。算法有许多变体,网上的解释没有明确指出这一点,对没有经验的人来说也不是很有用。

神经网络是用于将模型拟合到数据集的算法。在RBM中,我们尝试使用两层节点来做到这一点:一个我们设置为输入的“可见层”和一个我们用来建模输入层的“隐藏层”。关键的是,学习过程是无监督的。训练涉及使用隐藏层重构可见层,并使用重构前后节点状态的差异来更新权重和偏置(我大大简化了这个解释;更多信息请注意,这种训练算法称为对比散度(CD))。另外请注意,在这个模型中,神经元是概率性激活的。各层之间的连接是双向的,因此网络形成了一个二分图。

重要的是,RBM不像FNN那样产生输出。因此,它们通常用于在添加输出层之前训练网络,然后使用另一种算法(如自编码器)与RBM学习的权重一起使用。

查看这些资源:

总的来说

任何网络的性能都取决于其参数和设计选择,以及它所应用的问题。RBM和FNN适合不同的问题类型。

我强烈推荐Geoffrey Hinton在Coursera上的课程“Neural Networks for Machine Learning” – 虽然课程已经结束,但讲座仍然可以免费获取。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注