準ランダム検索

このユニットでは、準ランダム検索に焦点を当てます。

準ランダム検索を使用する理由

チューニングの問題に関する分析情報を最大化する反復チューニング プロセスの一部として使用する場合(差異の少ないシーケンスに基づく)準ランダム検索は、高度なブラックボックス最適化ツールよりも優先されます(「探索フェーズ」と呼ばれます)。攻撃の段階では、ベイズ最適化などのツールが適しています。ランダムにシフトされた差異の少ないシーケンスに基づく準ランダム検索は、「ジッターされたシャッフル グリッド検索」と考えることができます。特定の検索空間を均一かつランダムに探索し、ランダム検索よりも検索ポイントを分散させるためです。

より高度なブラックボックス最適化ツール(ベイズ最適化、進化アルゴリズムなど)と比較した場合の準ランダム検索の利点は次のとおりです。

  • 検索空間を非適応的にサンプリングすると、テストを再実行することなく、事後分析の調整目標を変更できます。たとえば、通常はトレーニングの任意の時点で達成された検証誤差の観点から最適なトライアルを見つけます。ただし、準ランダム検索の非適応性により、テストを再実行することなく、最終的な検証誤差、トレーニング エラー、または代替の評価指標に基づいて最適なトライアルを見つけることができます。
  • 準ランダム検索は、一貫性があり統計的に再現可能な方法で動作します。同じ均一性プロパティを維持している限り、検索アルゴリズムの実装が変更されても、6 か月前の調査を再現できる必要があります。高度なベイズ最適化ソフトウェアを使用すると、バージョン間で実装が重要な方法で変更され、古い検索の再現が非常に困難になる可能性があります。常に古い実装にロールバックできるとは限りません(最適化ツールがサービスとして実行されている場合など)。
  • 検索スペースを均一に探索できるため、結果と、検索スペースについて提案される可能性のある内容について推論が容易になります。たとえば、準ランダム検索の走査における最適なポイントが検索空間の境界にある場合、これは検索空間の境界を変更する必要があるという良いシグナルです(確実なものではありません)。ただし、適応型ブラックボックス最適化アルゴリズムでは、初期のトライアルが同じように良好であっても、検索空間の中央を無視してしまう可能性があります。これは、優れた最適化アルゴリズムが検索を高速化するために採用する必要がある、まさにそのような不均一性であるためです。
  • 適応アルゴリズムとは異なり、さまざまな数のトライアルを並行して実行しても、順番に実行しても、準ランダム検索(またはその他の非適応型検索アルゴリズム)を使用する場合、統計的に異なる結果は得られません。
  • より高度な検索アルゴリズムは、特にニューラル ネットワークのハイパーパラメータ チューニングを念頭に置いて設計されていない場合、実行不可能なポイントを正しく処理できるとは限りません。
  • 準ランダム検索は簡単で、多くのチューニング トライアルが並行して実行されている場合に特に効果的です。逸話1 によれば、特に多くのトライアルを並行して実行する必要がある場合、適応型アルゴリズムが 2 倍の疑似ランダム検索に勝つことは非常に困難です(そのため、新しいトライアルを開始する際に以前のトライアル結果を利用する可能性はほとんどありません)。ベイズ最適化やその他の高度なブラックボックス最適化手法の専門知識がなければ、原則として提供できるメリットを達成できない可能性があります。現実的なディープ ラーニングの調整条件で、高度なブラックボックス最適化アルゴリズムのベンチマークを行うのは困難です。これらは現在非常に活発な研究が行われている分野ですが、より高度なアルゴリズムには、経験の浅いユーザーには独自の落とし穴が伴います。これらの手法のエキスパートは良い結果を得ることができますが、並列処理が多い条件では、検索空間と予算がより重視される傾向があります。

とはいえ、コンピューティング リソースで並列実行可能なトライアルの数が少なく、多数のトライアルを順番に実行できる場合、チューニング結果の解釈が難しくなっても、ベイジアン最適化はより魅力的になります。

オープンソースの Vizier には、準ランダム検索の実装があります。この Vizier の使用例algorithm="QUASI_RANDOM_SEARCH" を設定します。このハイパーパラメータ スイープの例には、別の実装が存在します。どちらの実装も、特定の検索空間の Halton シーケンスを生成します(Critical Hyper-Parameters: No Random, No Cry で推奨されているシフトされたスクランブルされた Halton シーケンスを実装することを目的としています)。

差異の少ないシーケンスに基づく疑似ランダム検索アルゴリズムが使用できない場合は、代わりに疑似ランダム均一検索を使用できますが、効率が若干劣る可能性があります。1 ~ 2 次元の場合もグリッド検索を使用できますが、高次元ではできません。(Bergstra & Bengio、2012 年を参照)。

準ランダム検索で良好な結果を得るには、何回のトライアルが必要ですか。

一般に、準ランダム検索で結果を得るために必要なトライアルの回数を判断することはできませんが、具体的な例は参考にできます。図 3 に示すように、スタディのトライアル数は結果に大きな影響を与える可能性があります。

検証エラー率(Y 軸)とチューニング バジェット(X 軸)のボックス プロット。チューニング バジェットはトライアルの回数です。一般的に、チューニング バジェットが増加すると、平均検証エラー率は低下します。

図 3: ImageNet でトライアル 100 回行った ResNet-50 のチューニング。ブートストラップを使用して、さまざまな量のチューニング予算がシミュレートされました。トライアルの予算ごとに最高のパフォーマンスの箱ひげ図がプロットされます。

 

図 3 について、次の点に注意してください。

  • 6 回のトライアルがサンプリングされた場合の四分位範囲は、20 回のトライアルがサンプリングされた場合よりもはるかに大きくなっています。
  • トライアルを 20 回行っても、特にラッキー スタディと不ラッキー スタディの差は、固定ハイパーパラメータを使用した、さまざまなランダムシードに対するこのモデルの再トレーニングの典型的な変動よりも大きくなる可能性があります。このワークロードでは、検証エラー率が約 23% で +/- 0.1% 程度になります。

  1. Ben Recht と Kevin Jamieson は、予算の 2 倍のランダム検索がベースラインとしてどれほど強力であるかを指摘しましたが(ハイパーバンドの論文でも同様の論拠を示しています)、最新のベイズ最適化手法によって予算が 2 倍のランダム検索を突破する検索スペースや問題を見つけられることは確かです。しかし、これまでの経験から、ベイズ最適化では以前のトライアルの結果を確認する機会がないため、高並列処理方式では予算の 2 倍を超えるランダム検索がはるかに困難になります。