深度学习训练神经网络时候 accuracy 一直是 1,想请教如此惊奇高的原因究竟何在?

2020-06-08 18:15:23 +08:00
 suifengingo
想向大神请教一个问题,我在测试手写汉字分类识别的时候,在训练模型后进行实际图像的测试 ,刚才观察测试的结果,放入上百张测试图像,最后真正识别分类正确的也只有屈指可数的几张,这和之前训练过程中得到的接近 1 的准确率大相径庭,想问下接下来可以从哪些方面来调整呢?调整了学习率以及 batch_size 等等这些参数方面之后,发现 test accuracy 还是 1,被这个困惑困扰很久了,希望能得到大神的建议,非常感谢!
2551 次点击
所在节点    问与答
9 条回复
jingous
2020-06-08 18:22:14 +08:00
第一直觉:过拟合
apostle
2020-06-08 18:46:36 +08:00
loss 呢
suifengingo
2020-06-08 19:18:45 +08:00
@apostle loss 是逐渐降低的,0.0007 那种
lv2016
2020-06-08 19:57:31 +08:00
检查一下训练数据里面是不是混入了测试数据
superlc
2020-06-09 01:50:51 +08:00
@jingous 他是测试集准确率也接近 1

看一下训练准确率是不是也这么高,如果差不多的话基本上就是数据集分错了,把测试数据混到训练数据里去了

如果训练准确率没这个高,那就大概率是测试脚本逻辑不对
flyaway
2020-06-09 04:55:40 +08:00
似乎是过拟合了。用的是什么网络,是否用了 regularizer
jingous
2020-06-09 07:46:38 +08:00
@superlc 训练过程中准确率是 1,测试很低
pillowfight
2020-06-09 10:16:55 +08:00
盲猜训练集没 shuffle 。。
superlc
2020-06-09 11:23:38 +08:00
@jingous 那个叫 training accuracy....
那就太正常不过了,所有的神经网络都是这样的,训练准确率比测试准确率高。实际上即使把所有的数据 lable 全部换成随机,在 param size 足够的情况下,经过足够长的 epoch,训练准确率也会趋于 1......可能是过拟合,也可能是因为你模型本身的泛化性就不行,也可能是训练数据有 bias,也可能是训练策略有问题。。。可以先划个验证集排除一下过拟合看看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/679792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX