【发布时间】: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