2017-05-24 19 views
0

当我训练一个CNN的图像分类失真的数字从0到9变化,训练集和测试集的准确性明显提高。MxNet:准确性下降到随机预测后一些迭代

Epoch[0] Batch [100] Train-multi-accuracy_0=0.296000 
... 
Epoch[0] Batch [500] Train-multi-accuracy_0=0.881900 

在历元[1]和历元[2]的准确性0.85和0.95,然而之间略微振荡,

Epoch[3] Batch [300] Train-multi-accuracy_0=0.926400 
Epoch[3] Batch [400] Train-multi-accuracy_0=0.105300 
Epoch[3] Batch [500] Train-multi-accuracy_0=0.098200 

此后,准确度为0.1左右,这意味着网络只给随机预测。我多次重复了这个训练,每次都发生这种情况。它出什么问题了? 适应性学习率策略是否是原因?

model = mx.model.FeedForward(..., 
          optimizer = 'adam', 
          num_epoch = 50, 
          wd = 0.00001, 
          ..., 
          ) 
+0

您可能已经开始过度适应,或者达到了需要降低学习速度或模型发散的点。你正在使用学习率计划还是固定学习率?你能监测损失而不是准确性吗? –

回答

0

你正在训练的模型究竟是什么?如果您使用mnist数据集,通常使用sgd训练的简单2层MLP具有相当高的准确性。

+0

我的数据集不是MNIST,它是扭曲字符的合成库。我担心的是突然下降的原因。我需要一些建议来分析这个问题。 – Lolith