ハイパーパラメーター調整のためのベイズ最適化に対するパーティクルスウォーム最適化の利点は?


18

MLハイパーパラメーターを調整するためのベイズ最適化(1)については、かなりの現代的な研究があります。ここでの推進の動機は、試行する価値のあるポイントについて十分な情報に基づいて選択するために最小限のデータポイントが必要なことです(客観的な関数呼び出しはコストがかかるため、モデルのトレーニングは時間がかかるため、少ないほうが良い) -私が取り組んだ大規模なSVMの問題は、完了するまでに数分から数時間かかることがあります。

一方、Optunityは、同じタスクに対処するためのパーティクルスウォーム実装です。私は圧倒的にPSOに精通しているわけではありませんが、ハイパーパラメーターサーフェスを評価するために、より多くの試行ポイント、したがって目的関数の評価を必要とするという意味で、PSOはそれほど効率的ではないようです。

機械学習のコンテキストでPSOをBOよりも優先させる重要な詳細がありませんか?または、2つの選択は常にハイパーパラメーターチューニングタスクの本質的なコンテキストですか?


(1)Shahriari et al、 "ループから人間を取り出す:ベイジアン最適化のレビュー。"


勾配は必要ありません。不連続で動作します。適度に効率的。いくつかの次元を処理します。ノイズをうまく処理します。推定器の堅牢性が組み込まれています。
EngrStudent-モニカの復活

@EngrStudent BOに関するこれらのことはすべて言うことができますが、少なくとも私の推測では、BO はより少ない数の関数評価しか必要としないため、BOはより効率的であるように見えます。一般的にPSOについて質問するのではなく、BOと比較した場合のメリットについて質問します。
シコラックスは

1
これを決定的な答えにするトピックについて十分に教育されていませんが、ベイジアン最適化は非常にマルチモーダルな問題を持つ最も効率的なオプティマイザーと同じ運命に苦しむべきだと思います(機械学習問題の95%を参照):グローバルスペースを「調査」せずに最も近いローカルミニマム。Particle Swarmは、非局所的な最小値を見つけるのに幸運があると思います。
クリフAB

2
パーティーに遅れて到着したことをおologiesび申し上げます。これまでOptunityについての質問をどのように見落としていたのかわかりません。:-)
マーククレセン

1
@MarcClaesen認めなければならない、私はあなたがいつか返事をする時間を見つけることを望んでいた。遅かれ早かれ、私たちは皆あなたが到着したことを喜んでいると思います。
シコラックスは、モニカの復活

回答:


25

Optunityのリード開発者として、2セントを追加します。

実世界の問題についてOptunityと最も人気のあるベイジアンソルバー(たとえば、hyperopt、SMAC、bayesopt)を比較する広範なベンチマークを行った結果、多くの実際のケースでPSOの効率が低下しないことが示されています。さまざまなデータセットでSVM分類器を調整するベンチマークであるOptunityは、実際にはhyperoptやSMACよりも効率的ですが、BayesOptよりもやや効率が劣ります。ここで結果を共有したいと思いますが、Optunityがようやく JMLRで公開されるまで待ちます(1年以上レビュー中ですので、息を止めないでください...)。

示されているように、効率の向上はベイジアン最適化の一般的なセールスポイントですが、実際には、基礎となる代理モデルの仮定が成り立つ場合にのみ水を保持します。私たちの実験では、Optunityの非常にシンプルなPSOソルバーは、関数評価の数の点で複雑なベイジアンアプローチと競合することがよくあります。ベイジアンソルバーは、事前確率が良好な場合に非常にうまく機能しますが、情報量の少ない事前確率では、効率の点でPSOのようなメタヒューリスティック手法に比べて構造的な利点はほとんどありません。

PSOの大きなセールスポイントは、それが恥ずかしいほど並行しているという事実です。ベイジアン最適化は、本質的にシーケンシャルな性質のため、並列化が難しいことがよくあります(ハイパーオプトの実装が唯一の例外です)。配布の機会が一般的になりつつあることを考えると、Optunityはすぐに実時間でリードを取り、優れたソリューションを取得します。

Optunityと他のほとんどの専用ハイパーパラメーター最適化ライブラリのもう1つの重要な違いはターゲットオーディエンスです:Optunityは最もシンプルなインターフェイスを持ち、非機械学習の専門家を対象としていますが、他のほとんどのライブラリは効果的に使用するためにベイズ最適化のある程度の理解が必要です(つまり、専門家を対象としています)。

ライブラリを作成した理由は、専用のハイパーパラメーター最適化メソッドが存在するにもかかわらず、実際には採用されていないためです。ほとんどの人はまだ手動で調整を行っていないか、グリッドやランダム検索などの素朴なアプローチで調整を行っていません。私たちの意見では、これの主な理由は、Optunityを開発する前の既存のライブラリは、インストール、ドキュメント、APIの観点から使用するのが難しすぎ、多くの場合単一環境に限定されていたという事実です。


4
私たちが得ることができるように答えを知らせたように!私は好奇心が強いです:あなたはPSOソルバーがベイジアン最適化アプローチと競争力があると言います。つまり、PSOの並列実行は、Bayseian Optimizationの順次実行よりも高速であることがわかりますか?意地悪をしようとはしていませんが、理解することは私にとって重要な違いです。
クリフAB

2
いいえ、両方とも順番に実行されます。私たちの実験(SVMのチューニング)では、PSOとベイジアン最適化の効率は、関数評価の数の点で競争力があります。多くのベイジアン最適化手法では単純にそれができないため、分散設定での実時間の観点から効率を比較しませんでした。
マーククレセン

それは面白い。理由について何か考えはありますか?不安定なハイパーパラメーターサーフェス?
クリフAB

3
いくつかの理由があると思います。1つには、ハイパーパラメーターサーフェスには多くの局所的な最適化があります(たとえば、有限のサンプル効果、交差検証フォールド、一部の学習アプローチの固有のランダム性による)。次に、ベイジアン最適化は、正確な代理目的関数の構築に依存します。これは、目的関数が何度もサンプリングされるまで簡単なタスクではありません。ベイジアン最適化は、収束が高速化されるまでに時間がかかります(詳細は省略されることがよくあります)。その頃には、PSOのようなメタヒューリスティック手法もローカル検索フェーズに到達しています。PSOはローカル検索が非常に得意です。
マーククレセン

4
+1が優れた答えです。私は自分でBOソフトウェアを作成しましたが、現時点ではほとんどがバニティプロジェクトであることを認めざるを得ないので、BOプロシージャがどのように機能するかをある程度理解しています。ハイパーパラメータチューニングの世界で他に何が起こっているのか、その表面をスクラッチできるようになったことを嬉しく思います。素朴なアプローチについてのあなたの発言は本当に私に当たります。私の昔の素朴なチューニングプログラムの1つは、一週間もの間終わりが見えない状態でモデルをチューニングしてきました...あなたの貢献に感謝します。これを消化したら、さらに質問があります。
Sycoraxは、Reinstate Monica

0

答えは問題に依存しており、追加のコンテキストがなければ提供できません。通常、答えは次のようになります。ベイジアン最適化は、変数の数が最大10x-100xの計算バジェットを持つ低次元の問題により適しています。PSOは、はるかに大きい予算に対しては非常に効率的ですが、そのニッチでは最先端ではありません。


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
GUNG -復活モニカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.