我正在训练神经网络(在RNN之上的CNN),使用theano,并使用RMSPROP进行优化(我正在使用lasagne实现)。 我的问题是,每次我训练网络时,我都会得到完全不同的结果(准确度)。我正在使用固定种子初始化参数,当我使用SGD训练时问题不会发生,所以我猜RMSPROP是导致问题的原因。
这是RMSPROP的正常行为吗?处理这个问题的最佳做法是什么?我应该多次训练网络并采用最好的模型吗?
我也在每次使用一个例子进行优化(我的训练集很小,所以我不使用小批量或批量)这是RMSPROP的一个好习惯吗?
答案 0 :(得分:0)
通常40左右的批量大小可以获得更好的结果,因为我使用默认RMsprop对40个批量大小的3个epocs进行训练可以获得大约89%的准确率。您是否尝试过调整RMsprop优化器的学习速率?首先尝试使用非常小的值(默认值为0.001,在keras实现中)并尝试使用10或100的因子递增。