V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
suifengingo
V2EX  ›  问与答

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

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

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

    如果训练准确率没这个高,那就大概率是测试脚本逻辑不对
    flyaway
        6
    flyaway  
       2020-06-09 04:55:40 +08:00
    似乎是过拟合了。用的是什么网络,是否用了 regularizer
    jingous
        7
    jingous  
       2020-06-09 07:46:38 +08:00 via Android
    @superlc 训练过程中准确率是 1,测试很低
    pillowfight
        8
    pillowfight  
       2020-06-09 10:16:55 +08:00 via iPhone
    盲猜训练集没 shuffle 。。
    superlc
        9
    superlc  
       2020-06-09 11:23:38 +08:00 via iPhone
    @jingous 那个叫 training accuracy....
    那就太正常不过了,所有的神经网络都是这样的,训练准确率比测试准确率高。实际上即使把所有的数据 lable 全部换成随机,在 param size 足够的情况下,经过足够长的 epoch,训练准确率也会趋于 1......可能是过拟合,也可能是因为你模型本身的泛化性就不行,也可能是训练数据有 bias,也可能是训练策略有问题。。。可以先划个验证集排除一下过拟合看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1515 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:07 · PVG 01:07 · LAX 09:07 · JFK 12:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.