首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >深层网络的超参数优化

深层网络的超参数优化
EN

Stack Overflow用户
提问于 2017-01-24 18:12:53
回答 1查看 689关注 0票数 2

目前,我正试图为CLDNN (卷积,LSTM,深层神经网络)提出一种新的结构。

就像其他网络一样,我很难优化超参数。

我想尝试网格搜索和随机搜索,以获得一组最优的超参数,但我不清楚有几件事。

  1. 如果我使用一组临时的超参数来模拟网络,我如何度量这些超参数的“好”?我正在考虑记录成本和训练的准确性后,N个历元为每次模拟。
  2. 由于每次模拟都需要相对较长的时间(对于我的网络来说,训练一个时期大约需要70秒),那么是否有一种更快的方法可以在没有实际运行全部训练的情况下检查超参数的“好”性呢?
  3. 有关于超参数优化的一般提示/建议吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 10:53:47

  1. 因此,基本上--为了衡量不同超参数的性能--最好的做法是在每个参数设置的训练数据上模拟最后的分类器的训练过程,然后比较不同的结果与你想要超优化的测量结果。
  2. 如果您更改了培训过程(例如,在超优化阶段设置一个固定的时代,然后在最后的培训中设置不同的时间)--您不应该期望在多个测试阶段获得的结果会泛化。在我看来,这可能会损害您的优化过程,特别是一些超参数设置需要更多的时间才能真正获得好的结果(例如,当您设置了一个非常高的辍学率),并且在选择最佳值的过程中缩短培训时间可能会使在早期培训阶段获得更好结果的超级参数设置更有利。
  3. 良好做法?:
    • 选择随机搜索,而不是网格搜索。通常你的训练网络对某些参数不太敏感,所以做一个完整的网格搜索是浪费时间,
    • 如果你想尝试更复杂的方法,你可以尝试更复杂的方法,例如bayessian超优化
    • 使用交叉验证或使用给定的超参数设置多次运行网络。这是因为神经网络可能对起始权重很敏感,所以分数数据可能不能很好地推广,
    • 并行化你的训练过程。尝试运行培训过程,例如在不同的机器上,然后简单地合并结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41836034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档