我使用具有 3 层的神经网络来解决分类问题:1)~2k 个神经元 2)~2k 个神经元 3)20 个神经元。我的训练集由 2 个示例组成,每个示例中的大部分输入都是零。出于某种原因,在反向传播训练之后,网络为两个示例提供了几乎相同的输出(这要么仅对 1 个示例有效,要么对于其中一个示例具有 1 的输出具有 1.0)。它在第一个 epoch 之后进入这个状态,之后变化不大,即使学习率是最小的双倍值。我使用 sigmoid 作为激活函数。我认为我的代码可能有问题,所以我使用了 AForge 开源库,似乎也遇到了同样的问题。这里可能有什么问题?
解决方案:我已经移除了一层并将隐藏层中的神经元数量减少到 800