我正在研究人工神经网络(ANN)。我正在努力训练许多不同的ANN,其主要重点是研究结构变化和预测率之间的相关性。
我注意到,由于训练步骤太小,训练算法在前100次左右的迭代中收敛到接近初始状态是很常见的。我不清楚为什么会这样。有没有人遇到同样的问题?这可能是什么原因?是否有更好的方法来克服这个问题,而不仅仅是强迫迭代方案在问题出现的地方开始工作?
我使用fmincg和fminunc在Octave中训练我的网络。 Backprop。获得梯度和成本函数与逻辑回归相同。第一隐藏层中的10个神经元和第二个隐藏层中的10个神经元的网络结构出现问题。 MNIST数据库用于训练和测试集。
增加: Fminunc似乎在三层ANN上做得不是很好,但在一些随机变量下,两层ANN似乎没有问题地收敛。如果强制进入初始阶段,共轭梯度似乎有效。
问题可能是权重的随机初始化吗?可变性太低[-0.12; 0; 12]导致问题?
编辑:使网络结构部分更加清晰。