1行定義
ハイパーパラメータとは、学習率やバッチサイズ、層の数のように、訓練データからの学習では決まらず、学習を始める前に設定しておく値のことです。
くわしく
ハイパーパラメータは、機械学習で学習を始める前に決めておく設定値です。モデルの性能を大きく左右するため、AIプロジェクトでは調整に多くの時間と計算資源を割きます。
パラメータとの違い
モデルの中には、学習によって自動で決まる値があります。ニューラルネットワークの重みやバイアス、線形回帰の係数などで、これらをパラメータと呼びます。誤差が小さくなるように、訓練データから調整されます。
これに対し、ハイパーパラメータは、学習の進め方やモデルの大きさを決める値です。訓練データからは直接決まりません。パラメータが「学習の結果」なら、ハイパーパラメータは「学習の条件」にあたります。
主な例
- ニューラルネットワーク:学習率、バッチサイズ、エポック数、層の数、各層のユニット数、ドロップアウト率
- 正則化:正則化の強さを表す係数
- そのほかの手法:k-means法のクラスタ数k、SVMのC、決定木の深さ
決め方
ハイパーパラメータの良し悪しは、実際に学習させて性能を比べないとわかりません。そこで、候補の値ごとにモデルを学習し、検証データでの性能を比べて選びます。最終的な性能は、選ぶときに使っていないテストデータで確かめます。
候補は人が経験から絞るほか、次のような探索の方法で選びます。
- グリッドサーチ:候補値のすべての組み合わせを試します。
- ランダムサーチ:決めた回数だけ、値を無作為に選んで試します。
- ベイズ最適化:それまでの結果から、よさそうな値を予測して次に試します。
1つの候補を試すたびに学習が1回必要なので、試行回数が増えるほど計算の費用もかさみます。ネットワークの構造そのものを自動で探すNAS(Neural Architecture Search)も、この探索を広げた考え方です。
覚え方
「パラメータは学習で決まり、ハイパーパラメータは学習の前に決める」と覚えます。
G検定での出題
出題のされ方
重みなど学習で決まるパラメータとの違い、具体例の見分け、グリッドサーチやランダムサーチなどの探索方法、検証データを使って候補を比べる手順が問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ニューラルネットワークの重みやバイアスは、ハイパーパラメータに含まれる。
答えを見る
答え × 誤り
重みやバイアスは、訓練データから学習によって決まるパラメータです。ハイパーパラメータは、学習の前に決めておく設定値を指します。
-
ミニバッチ学習のバッチサイズと、学習を何エポック行うかは、どちらもハイパーパラメータである。
答えを見る
答え ◯ 正しい
どちらも学習の進め方を決める値で、訓練データからは決まりません。学習率や中間層のユニット数も同じ仲間です。
-
ベイズ最適化は、それまでに試した組み合わせの結果をもとに、次に試すハイパーパラメータの値を選ぶ探索方法である。
答えを見る
答え ◯ 正しい
結果を見ずに候補を決めるグリッドサーチやランダムサーチと異なり、よさそうな領域を予測しながら探します。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (11.4 Selecting Hyperparameters)
- Yoshua Bengio, Practical recommendations for gradient-based training of deep architectures (2012)
- scikit-learn documentation, 3.2. Tuning the hyper-parameters of an estimator