suifengingo
V2EX  ›  问与答

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

  •  
  •   suifengingo · Jun 8, 2020 · 3364 views
    This topic created in 2163 days ago, the information mentioned may be changed or developed.
    想向大神请教一个问题,我在测试手写汉字分类识别的时候,在训练模型后进行实际图像的测试 ,刚才观察测试的结果,放入上百张测试图像,最后真正识别分类正确的也只有屈指可数的几张,这和之前训练过程中得到的接近 1 的准确率大相径庭,想问下接下来可以从哪些方面来调整呢?调整了学习率以及 batch_size 等等这些参数方面之后,发现 test accuracy 还是 1,被这个困惑困扰很久了,希望能得到大神的建议,非常感谢!
    9 replies    2020-06-09 11:23:38 +08:00
    jingous
        1
    jingous  
       Jun 8, 2020
    第一直觉:过拟合
    apostle
        2
    apostle  
       Jun 8, 2020 via Android
    loss 呢
    suifengingo
        3
    suifengingo  
    OP
       Jun 8, 2020
    @apostle loss 是逐渐降低的,0.0007 那种
    lv2016
        4
    lv2016  
       Jun 8, 2020
    检查一下训练数据里面是不是混入了测试数据
    superlc
        5
    superlc  
       Jun 9, 2020 via iPhone
    @jingous 他是测试集准确率也接近 1

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

    如果训练准确率没这个高,那就大概率是测试脚本逻辑不对
    flyaway
        6
    flyaway  
       Jun 9, 2020
    似乎是过拟合了。用的是什么网络,是否用了 regularizer
    jingous
        7
    jingous  
       Jun 9, 2020 via Android
    @superlc 训练过程中准确率是 1,测试很低
    pillowfight
        8
    pillowfight  
       Jun 9, 2020 via iPhone
    盲猜训练集没 shuffle 。。
    superlc
        9
    superlc  
       Jun 9, 2020 via iPhone
    @jingous 那个叫 training accuracy....
    那就太正常不过了,所有的神经网络都是这样的,训练准确率比测试准确率高。实际上即使把所有的数据 lable 全部换成随机,在 param size 足够的情况下,经过足够长的 epoch,训练准确率也会趋于 1......可能是过拟合,也可能是因为你模型本身的泛化性就不行,也可能是训练数据有 bias,也可能是训练策略有问题。。。可以先划个验证集排除一下过拟合看看
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1030 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 19:30 · PVG 03:30 · LAX 12:30 · JFK 15:30
    ♥ Do have faith in what you're doing.