今日はましろ君が意外な直感で光る回。『パラメータとハイパーパラメータ、何が違うの?』この本質的な問いから、モデルチューニングの世界を覗きます。
先生〜、ずっと気になってたんですけど…『パラメータ』と『ハイパーパラメータ』って、どう違うんですか〜? 漢字にしたら『超パラメータ』ってこと?
ふふっ、ましろちゃん、いい問いね。
実は言葉の核心を突いてるのよ。
つまり、パラメータはモデルが学習で自動的に決める値、ハイパーパラメータは人間が学習前に設定する値、という住み分けですね。
へぇ〜、その線引きは考えたことなかったじゃん! ましろ、鋭いね!
その通り。
たとえば線形回帰の『傾き・切片』はパラメータ。
一方、勾配降下の『学習率』、決定木の『最大深さ』、k-NNの『k』は人間が決めるハイパーパラメータよ。
これらの値で精度が大きく変わるの。
じゃあ…設定値を試行錯誤するのって、お菓子のレシピの微調整みたいですね〜。
うふふ、まさに核心ね。
いい例えだわ、ましろちゃん。
塩加減、焼き時間、水分量を少しずつ変えて最高のレシピを探すのと同じ構造なのよ。
代表的な調整手法を挙げましょう。
グリッドサーチは候補値を網羅的に組み合わせて試す方法、ランダムサーチはランダムに組み合わせを試す方法です。
網羅って時間かかりそうじゃん。
その通り、候補が多いと指数的に増えます。
ランダムサーチは意外と効率よく良い値を見つけられることが知られています。
近年ではベイズ最適化や進化計算など、よりスマートな探索手法も発達しています。
ましろちゃんのレシピ例えを借りれば、ベイズ最適化は『これまでの試作結果から、次にどの組み合わせを試すと一番美味しそうか予測する』方法ね。
すごーい! AIのレシピもお料理の探求みたいで楽しいです〜!
ましろ、今日は主役だね! あたしもついていくじゃん。
大事なのは、ハイパーパラメータ探索には『検証データ』を使うことです。
テストデータを使って調整するとリークになります。
また、ハイパーパラメータが多すぎると組み合わせ爆発するから、効きそうなものを絞って調整するのも実務のコツよ。
レシピの全部を一気に変えずに、大事な要素から順に試すんですね〜。
まさに。
学習率のような影響の大きいものから、正則化強度、バッチサイズ、と優先度を付けて探るのが定石ですね。
ハイパーパラメータ調整もセンスが問われる職人芸じゃん。
AIエンジニア、かっこいいね。
近年はOptunaやHyperoptのような自動探索ライブラリも充実しているから、効率化が進んでいるわ。
機械学習のAutoMLの世界ね。
AIのレシピ探し、めちゃくちゃ奥深いです〜!
ましろ、今日は冴え渡ってるじゃん! あたしも負けてらんないね。
ちなみに、ハイパーパラメータを手動調整する際は『一度に一つだけ変更する』のが基本です。
複数同時に変えると何が効いたかわからなくなります。
試験では『ハイパーパラメータは人間が事前設定』『グリッドサーチ/ランダムサーチ』『検証データで評価』を押さえてね。
確認クイズ
ハイパーパラメータの説明として正しいものはどれか?
- モデルが自動的に学習で決定する値
- 人間が事前に設定する値
- データの特徴量の数
- 損失関数の出力値
こたえを見る
正解: 2. 人間が事前に設定する値
ハイパーパラメータは学習前に人間が設定する値(学習率、木の深さ、kなど)です。モデルが学習中に自動決定するのは通常のパラメータ(重みなど)で、両者を区別するのが重要です。