【问题标题】:MxNet: Accuracy falls to random prediciton after some iterationsMxNet:经过一些迭代后,准确性下降到随机预测
【发布时间】:2017-05-27 01:24:14
【问题描述】:

当我在训练一个 CNN 对从 0 到 9 不等的失真数字图像进行分类时,训练集和测试集的准确率明显提高。

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

然而,在 Epoch[1] 和 Epoch[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,
                             ...,
                             )

【问题讨论】:

  • 您可能已经开始过度拟合,或者达到了需要降低学习率或模型发散的地步。您是使用学习率计划还是使用固定学习率?你能监控损失而不是准确性吗?

标签: mxnet


【解决方案1】:

您正在训练的模型到底是什么?如果您使用的是 mnist 数据集,通常使用 sgd 训练的简单 2 层 MLP 可以为您提供相当高的准确度。

【讨论】:

  • 我的数据集不是 MNIST,它是一个扭曲字符的合成库。我担心的是突然下降的原因。我需要一些建议来分析这个问题。
猜你喜欢
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 2017-08-23
  • 2015-05-27
相关资源
最近更新 更多