【问题标题】:Accuracy is not improving further准确性没有进一步提高
【发布时间】:2016-10-08 11:29:57
【问题描述】:

我正在使用预训练的 GoogLeNet,然后在我的数据集上对其进行微调以对 11 个类别进行分类。我用不同的base_learning rate 尝试了以下配置,但accuracy 没有进一步改进。

  1. 我使用了预训练的 GoogLeNet 模型,然后对最后 10 层和前 3 层进行了微调,基本学习率为 0.01,最大迭代次数为 50K,但这种配置并没有给出准确率优于 75%。

  2. 我使用了预训练的 GoogLeNet 模型,然后在基础学习率 0.01 和最大迭代次数为 50K 的情况下对最后 2 层进行微调,但这种配置并没有提供优于 71% 的准确度。

  3. 我使用了预训练的 GoogLeNet 模型,然后在基础学习率 0.001 和最大迭代次数为 50K 的情况下对最后 6 层进行微调,但这种配置并没有提供优于 85% 的准确度。

谁能告诉我,我可以更改哪些其他方法或参数来提高准确性?

【问题讨论】:

  • 改变数据集怎么样?
  • 首先,你是否正确地进行了模型选择+性能估计?只是尝试不同的超参数并选择性能最高的超参数会导致过度拟合。其次,正如@AshutoshSingla 已经提到的,使用特定数据集可能无法获得更好的性能。
  • 你一直在照看你的学习过程吗?也许你应该早点停止学习?您是否尝试过不同的优化器 - 例如 RMSPROP 或 ADAM?

标签: machine-learning neural-network deep-learning caffe pycaffe


【解决方案1】:

您可以使用其他优化器,例如 ADADELTA、ADAM 和 RMSPROP。在您的solver.prototxt 中,您可以通过编写此命令type: "RMSProp" 来设置此参数

对于RMSPROP,您可以修改here中提到的参数。

【讨论】:

    猜你喜欢
    • 2020-01-07
    • 2020-10-02
    • 2018-10-09
    • 1970-01-01
    • 2017-06-22
    • 2020-12-29
    • 2021-01-13
    • 1970-01-01
    • 2018-11-13
    相关资源
    最近更新 更多