gpt4 book ai didi

neural-network - 在神经网络中我们应该以什么顺序调整超参数?

转载 作者:行者123 更新时间:2023-12-03 12:57:44 27 4
gpt4 key购买 nike

我有一个使用Tensorflow和AdamOptimizer的非常简单的ANN来解决回归问题,现在我可以调整所有超参数了。

现在,我看到了许多必须调整的超参数:

  • 学习率:初始学习率,学习率衰减
  • AdamOptimizer需要4个参数(学习率,beta1,beta2,epsilon),因此我们需要对其进行调整-至少epsilon
  • 批处理大小
  • nb次迭代
  • Lambda L2-正则化参数
  • 神经元数,层数
  • 对于隐藏层有什么样的激活功能,对于输出层
  • 辍学参数

  • 我有两个问题:

    1)您是否看到我可能忘记的其他任何超参数?

    2)目前,我的调音是相当“手动”的,我不确定我是否没有以适当的方式进行所有操作。
    是否有特殊的命令来调整参数?例如,首先是学习率,然后是批量大小,然后是...
    我不确定所有这些参数都是独立的-实际上,我很确定其中一些参数不是独立的。哪些明显独立,哪些明显不独立?然后我们应该一起调整它们吗?
    是否有任何文章或文章讨论以特殊顺序适当调整所有参数?

    编辑:
    这是我获得的不同初始学习率,批处理大小和正则化参数的图表。紫色曲线对我来说完全是怪异的……因为成本的下降速度与其他曲线一样缓慢,但是却以较低的准确率卡住了。模型是否可能卡在局部最小值中?

    Accuracy

    Cost

    对于学习率,我使用了衰减:
    LR(t)= LRI / sqrt(epoch)

    谢谢你的帮助 !
    保罗

    最佳答案

    我的一般命令是:

  • 批次大小,因为它将在很大程度上影响 future 实验的训练时间。
  • 网络架构:
  • 网络中的神经元数目
  • 层数
  • Rest(辍学,L2 reg等)

  • 依赖项:

    我假设的最佳值
  • 学习率和批量大小
  • 学习率和神经元数量
  • 神经元数和层数

  • 互相依赖。我不是该 Realm 的专家。

    至于您的超参数:
  • 对于Adam优化器:“本文中的推荐值为eps = 1e-8,beta1 = 0.9,beta2 = 0.999。” (source)
  • 对于Adam和RMSProp的学习率,我发现0.001左右的值对于大多数问题来说是最佳的。
  • 作为Adam的替代方案,您还可以使用RMSProp,它将内存占用量减少多达33%。有关更多详细信息,请参见this answer
  • 您还可以调整初始重量值(请参阅All you need is a good init)。虽然,Xavier初始化程序似乎是防止必须调整权重init的好方法。
  • 我没有将迭代/时期的数量调整为超参数。我训练网络,直到其验证错误收敛为止。但是,我给每次运行分配了时间预算。
  • 关于neural-network - 在神经网络中我们应该以什么顺序调整超参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37467647/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com