【问题标题】:What orders of hyperparameter tuning [closed]超参数调整的顺序[关闭]
【发布时间】:2021-09-19 19:32:51
【问题描述】:

我使用神经网络解决分类问题,现在我正在调整所有超参数。

目前,我看到了许多需要调整的不同超参数:

  1. 学习率
  2. 批量大小
  3. 迭代次数(epoch)

目前,我的调音非常“手动”,我不确定我是否以正确的方式进行所有操作。是否有特殊的顺序来调整参数?例如,首先是学习率,然后是批量大小,然后......我不确定所有这些参数都是独立的。哪些明显独立,哪些明显不独立?那么我们应该把它们调到一起吗?是否有任何论文或文章谈到按特殊顺序正确调整所有参数?

【问题讨论】:

  • 向我们展示您所做的一些代码,请更具体
  • 我投票结束这个问题,因为它不是关于 help center 中定义的编程,而是关于 ML 理论和/或方法。

标签: machine-learning neural-network hyperparameters


【解决方案1】:

还有更多!例如。层数,每层神经元的数量,选择哪个优化器等等......

因此,训练神经网络的真正工作实际上是找到最适合的参数。

我想说没有明确的指导方针,因为训练机器学习算法通常总是针对特定任务的。 你看,有很多超参数需要调整,你没有时间尝试每个组合。对于许多超参数,您将对什么是好的选择有一定的直觉,但就目前而言,一个很好的起点始终是使用其他人已经证明的工作。因此,如果您发现一篇关于相同或相似任务的论文,您也可以尝试使用与它们相同或相似的参数。

只是和大家分享一些我的小经验:

  • 我很少改变学习率。我主要选择 Adam 优化器并坚持使用它。
  • 在不耗尽内存的情况下,我尝试选择尽可能大的批处理大小
  • 您可以设置的迭代次数,例如1000. 您可以随时查看当前损失并自行决定是否可以在净值时停止,例如不再学习了。

请记住,这些绝不是规则或严格的准则。只是一些想法,直到你自己有更好的直觉。你阅读的论文越多,训练的网络越多,你就会明白什么时候选择更好。 希望这至少是一个好的起点。

【讨论】:

    猜你喜欢
    • 2021-12-08
    • 2021-10-23
    • 1970-01-01
    • 2017-10-26
    • 2021-03-28
    • 2020-07-24
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多