2017-05-30 184 views
5

对Pytorch模型执行超参数优化的最佳方法是什么?实现例如随机搜索我自己?使用Skicit学习?还是还有什么我不知道的?Pytorch模型的超参数优化

+0

-1是什么原因? – Alex

回答

2

您可以使用Bayesian optimization(全面披露,本人对本软件包有所贡献)或Hyperband。这两种方法都试图使超参数调整阶段自动化。 Hyperband据说是这个领域的最先进的技术。除了随机搜索之外,Hyperband是我听说过的唯一没有参数的方法。如果您愿意,您还可以考虑使用强化学习来学习最佳超参数。

0

要执行超参数优化,您既不需要Skicit Learn也不需要随机搜索。你应该通过尝试不同的超参数和监视你的错误率来照顾学习过程。例如:尝试不同的学习速率,不同的优化算法(即ADAM,RMSprop,ADAGRAD)以及针对学习速率的不同调度等。此外,绘制学习曲线以检查学习过程总是有用的。

4

黑箱优化最简单的无参数方法是随机搜索,它将比网格搜索更快地探索高维空间。有关于此的论文,但是随机搜索博士您每次都会在每个维度上获得不同的值,而使用网格搜索则不会。

Bayesian optimisation有很好的理论保证(尽管有近似值),像Spearmint这样的实现可以包装任何脚本;有超参数,但用户在实践中看不到它们。 Hyperband由于显示出比朴素贝叶斯优化更快的收敛性而备受关注。它能够通过运行不同的网络来进行不同次数的迭代,而贝叶斯优化并不能够天真地支持。尽管可以考虑使用贝叶斯优化算法(如FABOLAS),但实际上超高频带非常简单,但您可能更好地使用它并观看它以间隔调整搜索空间。