深度信念网络的性能比简单的 MLP 差

机器算法验证 神经网络 深度信念网络
2022-03-15 14:08:46

我试图训练一个深度信念网络来识别 MNIST 数据集中的数字。一切正常,我什至可以训练相当大的网络。问题在于,最好的 DBN 比具有较少神经元的简单多层感知器更差(训练到稳定的时刻)。这是正常行为还是我错过了什么?

这是一个示例:具有 784-512-512-64-10 层的 DBN(红/绿/黑 - RBM 的 100/200/400 次迭代)与 MLP 784-512-256-10(蓝线)。

错误图(迭代):

在此处输入图像描述

我测试了更多配置,MLP 似乎总是更好(如果 MLP 的大小不是太大,那么它可以被训练)。

2个回答

我的猜测是,您的训练过程根本无法为如此大的模型找到好的参数。即使在使用 DBN 进行预训练时,也很难让具有超过三层的 MLP 很好地处理图像分类问题。我见过的大多数关于图像分类的论文都使用三层,甚至表明当你使用更多层时性能会下降(例如,本文,表 6)。所以是的,这种行为很正常。

这也符合我使用 DBN 的经验。在两三层之后,DBN 的生成性能会饱和甚至下降

您可能面临拟合不足问题的另一个提示是您的表现。Yann LeCun 的网站显示,即使使用相当小的 3 层 MLP,您也可以获得低于 3% 的错误。另一方面,您的所有模型的错误似乎都远高于 5%。

因此,我的建议是坚持使用更小的模型或改用更强大的优化技术

我看到了类似的结果,但网络更简单,只使用一个隐藏层。我正在对 CIFAR-10 图像数据库进行一些测试。我的网络是 768-64-1,一个二元分类器。如果我使用 RBM 对层 768-64 + 反向传播进行预训练,我在验证/测试中的 F1 分数约为 0.38。在没有预训练和反向传播的情况下使用随机权重,我得到的 F1 分数约为 0.45。

RBM 学习到的权重在视觉上更有意义,你可以找出与数据对应的特征。由于随机权重并没有随着随机性发展太多,但表现更好。