グリッドサーチ (G検定)

グリッドサーチ

1. 定義と概要

グリッドサーチとは、ハイパーパラメータごとに複数の候補値をあらかじめ用意し、それらを組み合わせた全パターンを格子(グリッド)状に並べて総当たりで試す探索方法です。検証データ(ハイパーパラメータの組み合わせの良し悪しを確かめるために使うデータ)での性能が最も良かった組み合わせを選び出します。例えば学習率の候補が3つ、バッチサイズの候補が4つあれば、3×4で12通りの組み合わせすべてを実際に学習・評価します。

実装には、Pythonの機械学習ライブラリscikit-learn(機械学習に使う便利な機能をまとめたツール)が広く使われています。なかでもGridSearchCV(グリッドサーチを自動で実行できる機能の名称)は、この探索方法を手軽に試せる機能として知られています。

ハイパーパラメータの調整は、従来は分析者の経験や勘に頼る手作業の試行錯誤が中心でした。候補値の組み合わせを機械的にすべて評価すれば取りこぼしのない比較ができるという発想から、グリッドサーチは基本的な探索方法として使われてきました。

しかし、調整したいハイパーパラメータの数や候補値の数が増えると、試すべき組み合わせの数が指数的に膨らむ組み合わせ爆発(候補や条件の数が増えるほど、試すべきパターンの数が急激に増えてしまう現象)が起こります。ディープラーニングのように調整対象が多いモデルでは、現実的な時間で探索を終えられない場面が増えています。この弱点を補うため、候補を一部だけ試す別の探索手法が考案されました。

2. 試験対策ポイント

G検定でとりわけ重要な論点になるのが、グリッドサーチの核心である、候補値の全組み合わせを総当たりで試し検証データでの性能が最も良い組み合わせを選ぶという網羅的な探索の定義そのものです。

そのうえで最大の弱点として押さえておきたいのが組み合わせ爆発です。調整するハイパーパラメータの数や、各ハイパーパラメータの候補値の数が増えるほど、試行回数は指数的に増加します。例えば3つのハイパーパラメータにそれぞれ5個の候補値を用意すると、5の3乗で125通りの組み合わせをすべて試す必要があり、調整対象や候補値が増えるほど計算コストが現実的でなくなるという関係にあります。

この組み合わせ爆発という弱点を補うために考案された手法として、候補をランダムに一部だけ選んで試すランダムサーチ(候補の組み合わせを全部ではなくランダムに選んで試す探索方法)が挙げられます。もう一つが、過去の試行結果を活かして次に試す候補を効率よく選ぶベイズ最適化(過去に試した結果をもとに、次に試す値を効率よく選んでいく探索方法)で、この二つの名称と位置づけは、あわせて整理しておきたいところです。それぞれの具体的な仕組みは別の論点として扱われます。

各組み合わせの評価には、データの分け方を変えながら複数回学習・評価を行い結果を平均する交差検証(データの分け方を変えながら複数回学習・評価を行い、結果を平均して性能を見積もる検証方法)を組み合わせて使うことが多くあります。1回の検証データでの評価だけでは、たまたまの偏りで最も良い組み合わせを見誤るリスクがあるためです。ここでの要点は、この機能(GridSearchCV)の名称と役割であり、具体的なコードの書き方ではありません。

なお、ハイパーパラメータそのものは、モデルが学習を通じて自動的に決める値とは異なり、学習を始める前に人があらかじめ設定しておく値の総称です。具体的な代表例や、モデル側の値との区別の詳細は姉妹記事に譲ります。

3. 関連概念との比較・相違点

グリッドサーチ、ランダムサーチ、ベイズ最適化は、いずれもハイパーパラメータの候補を探す方法でありながら、候補の試し方が異なります。三つの対応関係を並べると、次のように整理できます。

探索方法 候補の試し方 位置づけ
グリッドサーチ 格子状に並べた全組み合わせを総当たりで試す 取りこぼしが起こりにくい一方、組み合わせ爆発で試行回数が指数的に増える
ランダムサーチ 候補の組み合わせをランダムに一部だけ選んで試す 同じ試行回数で比較した場合、グリッドサーチより効率的とされる
ベイズ最適化 過去の試行結果をもとに次に試す候補を選ぶ 良い結果が出た領域の近くを重点的に探せる

ランダムサーチとの最大の違いは、候補の組み合わせをすべて試すか、ランダムに一部だけ選んで試すかという点にあります。グリッドサーチはあらかじめ決めた格子状のパターンを漏れなく評価するため取りこぼしが起こりにくい一方、ランダムサーチは候補の一部だけを評価します。

同じ試行回数(計算予算)で比較した場合はランダムサーチのほうが効率的とされます(Bergstra & Bengio, 2012)。すべての組み合わせを均等に扱うグリッドサーチに対し、ランダムサーチは重要度の高い範囲を広く探れる点が評価されています。具体的な仕組みや効率的とされる理由の詳細は、ランダムサーチを扱う姉妹記事に譲ります。

ベイズ最適化との違いは、各組み合わせを独立に総当たりで試すか、過去の試行結果を踏まえて次に試す候補を選ぶかという点です。グリッドサーチはどの組み合わせも同じ扱いで順番に試していくのに対し、ベイズ最適化は過去に良い結果が出た領域の近くを重点的に探すという特徴があります。

過去の試行を生かして効率よく次の候補を選ぶという設計思想は、総当たりを基本とするグリッドサーチとは対照的です。具体的な仕組みは、ベイズ最適化を扱う姉妹記事で解説します。

4. ビジネス・実務での活用シナリオ

製造業の画像検査AI開発では、検品モデルの学習率やバッチサイズなど少数のハイパーパラメータについて候補値を絞り込み、グリッドサーチで全組み合わせを検証する場面があります。量産ラインへ投入する前の段階で取りこぼしなく比較できるため、後になって想定外の設定漏れが見つかるといった手戻りを避けられます。調整対象が少ない検品モデルでは、グリッドサーチの網羅性がそのまま安心材料になる場面です。

小売業の需要予測では、決定木やその集合であるアンサンブル学習(複数のモデルを組み合わせて精度を高める手法)の木の深さや木の本数といった、調整対象が少ない場面でグリッドサーチが使われます。予測精度と計算コストのバランスが良い組み合わせを比較・選定できるため、担当者の勘や経験だけに頼らず、根拠を示しながら設定を決められる点が実務上の効果です。

研究開発のPoC(概念実証)段階では、本番投入前の小規模データや少数のハイパーパラメータでの比較検証にグリッドサーチが使われます。再現性と網羅性が求められる検証段階では、取りこぼしがないという利点がそのまま活きるためです。一方で、ハイパーパラメータの種類が増える本番運用では、グリッドサーチのままでは組み合わせ爆発の影響を受けやすくなるため、ランダムサーチなど別の探索手法へ切り替える判断材料になります。

5. 要点まとめ

  • グリッドサーチは、あらかじめ用意したハイパーパラメータの候補値の全組み合わせを総当たりで試し、検証データでの性能が最も良い組み合わせを選ぶ網羅的な探索方法です。
  • ハイパーパラメータの数や候補値が増えるほど試行回数が指数的に増加する組み合わせ爆発が弱点で、これがランダムサーチ・ベイズ最適化が考案された背景にあります。
  • 同じ試行回数で比較した場合ランダムサーチのほうが効率的とされ(Bergstra & Bengio, 2012)、ベイズ最適化は過去の試行結果を活かして次の候補を選ぶという関係にあります。

6. 確認問題

問1グリッドサーチは、あらかじめ指定したハイパーパラメータの候補値について考えられる組み合わせをすべて試し、最も性能が良かった組み合わせを選ぶ探索方法である。

解答・解説をみる

○ 正しい

グリッドサーチは候補値の全組み合わせを総当たりで試す網羅的な探索方法であり、この定義そのものが試験で重要な論点として扱われます。

問2グリッドサーチは、調整対象のハイパーパラメータや候補値の数が増えても試行回数は一定に保たれる。

解答・解説をみる

× 誤り

誤りです。正しくは、組み合わせ爆発により、ハイパーパラメータや候補値の数が増えるほど試行回数は指数的に増加します。試行回数が一定に保たれるという逆向きの記述は、取り違えやすい点です。

問3同じ試行回数(計算予算)で比較した場合、ランダムサーチはグリッドサーチと同等かそれ以上の性能を示すことがあるとされる。

解答・解説をみる

○ 正しい

Bergstra & Bengio(2012)が示した知見で、グリッドサーチとランダムサーチを比較するうえで欠かせない視点です。