2017-05-30 15 views
5

Pytorchモデルのハイパーパラメータ最適化を実行する最適な方法は何ですか?例:私自身ランダム検索? Skicit Learnを使用しますか?それとも、私が気づいていないことが他にありますか?Pytorchモデルのハイパーパラメータ最適化

+0

-1の理由は何ですか? – Alex

答えて

2

Bayesian optimization(完全公開、私はこのパッケージに貢献しました)またはHyperbandを使用できます。これらの方法のどちらも、超パラメータの調整段階を自動化しようとします。ハイパーバンドは、おそらくこの空間における最先端の技術です。ハイパーバンドは、私がランダム検索以外のことを聞いた唯一のパラメータのない方法です。必要に応じて強化学習を使って最適なハイパーパラメータを学習することもできます。

0

ハイパーパラメータの最適化を実行するには、Skicit Learnもランダム検索も必要ありません。異なる超パラメータを試し、エラー率を監視することによって、学習プロセスをベビーシッターしなければなりません。たとえば、さまざまな学習率やさまざまな最適化アルゴリズム(ADAM、RMSprop、ADAGRAD)や学習率のさまざまなスケジューリングなどを試すなど、学習プロセスを検証するために学習曲線をプロットすることは常に役立ちます。

4

ブラックボックスを最適化する最も簡単な方法は、ランダム探索であり、グリッド探索よりも高速に高次元空間を探索することです。これには論文がありますが、ランダム検索では毎回あらゆる次元で値が異なりますが、グリッド検索ではそうではありません。

Bayesian optimisationは理論上の保証があります(近似値にもかかわらず).Spearmintのような実装では、あなたが持っているスクリプトをラップすることができます。ハイパーパラメータがありますが、実際にはユーザーは表示されません。ハイパーバンドはNaive Bayesianの最適化よりも速い収束性を示すことで多くの注目を集めました。異なる反復回数で異なるネットワークを稼働させることでこれを実現できました。ベイジアン最適化はそれほどサポートしていません。 FABOLASのようなこれを考慮に入れることができるベイジアン最適化アルゴリズムではよりうまくいく可能性がありますが、実際にはハイパーバンドは非常に単純なので、間隔を置いて検索スペースを調整する方が良いでしょう。

関連する問題