使用RMSPROP进行训练会得到不同的结果

时间:2017-03-07 13:18:07

标签: optimization neural-network deep-learning conv-neural-network recurrent-neural-network

我正在训练神经网络(在RNN之上的CNN),使用theano,并使用RMSPROP进行优化(我正在使用lasagne实现)。 我的问题是,每次我训练网络时,我都会得到完全不同的结果(准确度)。我正在使用固定种子初始化参数,当我使用SGD训练时问题不会发生,所以我猜RMSPROP是导致问题的原因。

这是RMSPROP的正常行为吗?处理这个问题的最佳做法是什么?我应该多次训练网络并采用最好的模型吗?

我也在每次使用一个例子进行优化(我的训练集很小,所以我不使用小批量或批量)这是RMSPROP的一个好习惯吗?

1 个答案:

答案 0 :(得分:0)

通常40左右的批量大小可以获得更好的结果,因为我使用默认RMsprop对40个批量大小的3个epocs进行训练可以获得大约89%的准确率。您是否尝试过调整RMsprop优化器的学习速率?首先尝试使用非常小的值(默认值为0.001,在keras实现中)并尝试使用10或100的因子递增。