这是关于神经网络性能的更高层次的问题。我遇到的问题是,每层神经元数量较多,网络经常出现完全愚蠢的回合。它们不一致;当层数大于 60 个神经元(总是 3 层)时,一般成功与失败的概率似乎约为 50/50。
我通过向具有 10-200 大小的输入和隐藏层的网络教授相同的功能来测试这一点。成功率是 0-1% 或 90+%,但没有介于两者之间。为了帮助可视化这一点,我将其绘制成图表。失败是 5k 次训练迭代后对 200 个数据集的错误响应的总数。.
我认为同样重要的是要注意每次实验运行时网络成功或失败的数字都会发生变化。我想出的唯一可能的罪魁祸首是局部最小值(但不要让这影响你的答案,我是新手,最初尝试最小化局部最小值的机会似乎没有效果)。
所以,最终的问题是,什么可能导致这种行为?为什么这件事如此不一致?
Python 代码在Github上,生成此图的代码是 test.py 中的 testHugeNetwork 方法(第 172 行)。如果网络算法的任何特定部分有帮助,我很高兴发布相关片段。