学習率やバッチサイズなど、学習前に人が決める設定値がハイパーパラメータです。それぞれがモデルに与える影響と、グリッドサーチ・ランダムサーチ・ベイズ最適化という探索手法を学びます。
📖 概要
重みやバイアスのように学習によって自動的に決まる「パラメータ」に対し、学習率やネットワークの層数のように学習を始める前に人間が設定する値を「ハイパーパラメータ」と呼びます。ハイパーパラメータはモデルの表現力・学習の安定性・汎化性能を大きく左右するため、その選択は深層学習の実践で避けて通れない工程です。良し悪しの評価には検証データを用い、テストデータは最終評価まで使わないのが原則です。
しかし候補の組み合わせは膨大で、1回の評価(学習)にも時間がかかります。そこで探索を体系化する手法として、全組み合わせを試すグリッドサーチ、ランダムに試すランダムサーチ、過去の試行結果から有望な候補を推定するベイズ最適化が使われます。本項目では、代表的なハイパーパラメータ5つの意味と、これら3つの探索手法の特徴を押さえます。
🔍 キーワード解説
基本的なハイパーパラメータ調整
学習率は、勾配降下法で1回の更新でパラメータをどれだけ動かすかを決める係数で、最も影響の大きいハイパーパラメータの1つです。大きすぎると損失が発散・振動し、小さすぎると収束が極端に遅くなったり局所的な停滞から抜けにくくなったりします。学習の途中で徐々に下げるスケジューリングもよく使われます。
隠れ層の数(レイヤー層数)とユニット数(各層のニューロン数)は、ネットワークの表現力(容量)を決めます。層やユニットを増やすほど複雑な関数を表現できますが、パラメータが増えて過剰適合しやすくなり、計算コストも増大します。逆に少なすぎると過少適合になります。
ドロップアウトの割合は、学習時にユニットを無効化する確率で、正則化の強さを調整します。割合を大きくすると過剰適合の抑制は強まりますが、大きすぎると学習が進みにくくなります。
バッチサイズは、1回のパラメータ更新に使うサンプル数です。大きくすると勾配推定が安定し並列計算の効率も上がる一方、メモリを多く消費します。小さいバッチは勾配にノイズが乗りますが、そのノイズが正則化的に働き汎化に寄与するという指摘もあります。学習率とバッチサイズは影響が絡み合うため、あわせて調整されることが多いです。
グリッドサーチ
グリッドサーチは、各ハイパーパラメータの候補値をあらかじめ列挙し、その全組み合わせを総当たりで評価する方法です。実装が簡単で探索範囲を網羅できますが、組み合わせ数はハイパーパラメータの数に対して指数的に増えるため、次元が多い探索や学習コストの高い深層学習では現実的でなくなりやすい方法です。
ランダムサーチ
ランダムサーチは、各ハイパーパラメータの値を指定した範囲・分布からランダムに選んで試行を繰り返す方法です。一部のハイパーパラメータだけが性能に強く効く場合、グリッドサーチは重要な軸の試行値が少数に限られるのに対し、ランダムサーチは重要な軸について毎回異なる値を試せるため、同じ試行回数でも良い設定を見つけやすいことが知られています。
ベイズ最適化
ベイズ最適化は、これまでの試行結果から「ハイパーパラメータ→性能」の関係を確率的な代理モデル(ガウス過程など)で近似し、獲得関数を使って「次に試すべき有望な候補」を選ぶ逐次的な探索手法です。予測値が良さそうな領域の活用と、まだ試していない不確実な領域の探索のバランスをとりながら候補を決めるため、1回の評価が高コストな深層学習のチューニングで少ない試行回数で良い設定に到達しやすい方法です。
📝 試験でのポイント
- パラメータ(学習で決まる:重み・バイアス)とハイパーパラメータ(人が事前に設定)の区別は基本中の基本
- 学習率が大きすぎる/小さすぎるときの症状(発散・振動/収束の遅さ)は頻出
- ランダムサーチがグリッドサーチより有利になりやすい理由(重要なハイパーパラメータの値を多様に試せる)を説明できるようにする
- ベイズ最適化のキーワード(代理モデル・獲得関数・逐次的に候補を選ぶ)と「評価コストが高いときに有効」という位置づけを押さえる
- ハイパーパラメータの評価には検証データを使い、テストデータで選択してはいけない点も問われうる
📚 まとめ
ハイパーパラメータは学習前に人が決める設定値で、学習率・層数・ユニット数・ドロップアウト割合・バッチサイズが代表です。探索は総当たりのグリッドサーチ、効率の良いランダムサーチ、過去の結果を活かすベイズ最適化へと洗練されていきます。各手法の仕組みと得意な状況を対比して覚えましょう。
