我开发了一个用于图像分析的 CNN。我有大约 100K 标记的图像。我得到了大约 85% 的准确度和大约 82% 的验证准确度,所以看起来模型的泛化比拟合更好。所以,我正在使用不同的超参数:过滤器的数量、层数、密集层中的神经元数量等。
对于每次测试,我都使用了所有的训练数据,而且非常缓慢且耗时。
有没有办法提前了解一个模型是否会比另一个模型表现更好?
我开发了一个用于图像分析的 CNN。我有大约 100K 标记的图像。我得到了大约 85% 的准确度和大约 82% 的验证准确度,所以看起来模型的泛化比拟合更好。所以,我正在使用不同的超参数:过滤器的数量、层数、密集层中的神经元数量等。
对于每次测试,我都使用了所有的训练数据,而且非常缓慢且耗时。
有没有办法提前了解一个模型是否会比另一个模型表现更好?
您的问题的简单答案是“不”,但需要注意。
需要注意的是,有迹象表明您的网络永远不会表现良好。例如,在前几个 epoch 中,epoch 准确度没有提高甚至持续下降,或者验证准确度持平或下降。可能是验证损失从一开始就很高,并且从一开始就一直在增加。这些都是不好的迹象。
然而,除此之外,很难知道该模型从长远来看不会很好地工作。例如,我们有一个为解决一组验证码而构建的模型。其中的回归部分收敛得非常快,但解决 CAPTCHA 其余部分的部分需要大约 18 小时才能收敛。老实说,我们只运行了这么长时间,因为这是一天结束的时候,回归部分看起来很有希望;CAPTCHA 求解器的训练行为中没有任何东西看起来会起作用(即使我们的直觉是它应该起作用。)
最后,我们有一个 96%+ 准确率的 CAPTCHA 求解器,如果我们观察它训练超过 10 或 15 分钟,我们可能会杀死它。
我希望您尝试对模型进行以下更改。
这个问题没有完整的证据答案,但你可以通过尝试一些已知的策略来获得最好的结果。
您的描述听起来类似于Imagenet dataset。根据这个网站,最先进的 top-1 准确率高达 86%,比你的高不了多少。有很多方法可以提高准确性。我建议您阅读SOTA中列出的论文或 github,以找到最适合您情况的想法。
我无法发表评论,但这里有一些建议: