【问题标题】:TensorFlowNIST Classification :: Sharp improvement in accuracy - is that possible?TensorFlowNIST 分类 :: 准确度大幅提高 - 这可能吗?
【发布时间】:2018-04-08 22:46:20
【问题描述】:

我正在学习 TensorFlow 并尝试将其应用于 MNIST 数据库,并且惊讶地发现已经在第二个 epoch(屏幕截图中的 e1)整个测试集的准确率从 e0 期间的 9.4% 达到了 95%(在任何更新之前)权重和偏见!)!

准确度有可能如此急剧上升吗?

考虑批量大小为 100 & mnist 训练样本 # = 55000。在 e1 之前必须有 550 次更新。

我做错了什么吗?

提前非常感谢!

【问题讨论】:

    标签: tensorflow


    【解决方案1】:

    您的代码没有任何问题,因为您正在打印测试准确性,并且它很快就会提供良好的准确性。您的训练损失也在减少。

    如果您有兴趣降低学习速度,可以降低学习率(例如 0.000003)。如果您希望网络学习缓慢,您甚至可以尝试减少隐藏层中的层数或单元数。

    这是我在前 10 个 epoch 的学习率为 0.000003 的代码中得到的准确度。

     e0_0, loss: 2.3103301525115967, accuracy: 0.09469999372959137
     e1_550, loss: 2.2732467651367188, accuracy: 0.11469998955726624
     e2_1100, loss: 2.233933210372925, accuracy: 0.1590999811887741
     e3_1650, loss: 2.185560941696167, accuracy: 0.2231999933719635
     e4_2200, loss: 2.1254842281341553, accuracy: 0.31909993290901184
     e5_2750, loss: 2.051886558532715, accuracy: 0.40129992365837097
     e6_3300, loss: 1.9651522636413574, accuracy: 0.4681999087333679
     e7_3850, loss: 1.8645144701004028, accuracy: 0.5381998419761658
     e8_4400, loss: 1.750971794128418, accuracy: 0.6107000112533569
     e9_4950, loss: 1.6259007453918457, accuracy: 0.6584999561309814
     e10_5500, loss: 1.4947171211242676, accuracy: 0.6923999786376953
    

    【讨论】:

    • 非常感谢!看到这么突然的进步,我有点难过!太好了难以置信.. 以为我会问专家意见我做错了什么?;)
    • 这不能回答问题。另外,“如果它在 MNIST 上运行,则没有错误,无需担心”是一个非常有害的想法:请参阅 this。深度学习场景不需要更多的经验主义鼓励,而是完全相反!
    • 我没有看到这个答案说:“如果它适用于 MNIST,则没有错误,无需担心”。这是一篇可以肯定分享的好文章,但我不明白它与这个答案有什么关系。这个答案看起来对我很有帮助。
    • 我一定是完全看错了什么,抱歉。我会纠正反对意见
    • 不过,我认为我的批评是说“它可以学习,因此代码很好”并不是人们想要验证任何机器学习设置的方式。该链接支持几乎任何东西的想法适用于 MNIST,并且这个标准还不够好。但我同意你的观点,这不是必需的
    猜你喜欢
    • 2018-10-14
    • 2014-08-05
    • 1970-01-01
    • 2018-10-09
    • 2016-06-16
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 2019-10-19
    相关资源
    最近更新 更多