なぜMLに最適化が必要なのか?

モデルが実際にどう学習するか — 普通の勾配降下法からAdamまで

機械学習は予測、分類、生成、推薦のように見える。しかしその内側にあるのは、ひとつの数学的な行為の繰り返しにすぎない。数字を選び、それがどれだけ悪いかを測り、その悪さを小さくするように数字を変える。これが最適化だ。

その数字がモデルのパラメータで、通常はひとつの巨大なベクトルθにまとめられる。悪さのスコアが損失で、L(θ)と書く。訓練とは、その損失を小さくする設定をパラメータ空間の中から探すことだ。下の略記はまさにそれを表している。argminは勝ったスコアではなく勝った入力(損失を最小にするθ)を返し、θ⋆の星印はそれが最良の設定であることを示す。

温室の灌漑パネルには何千もの小さなスプリンクラー区画があるかもしれない。それぞれの設定が植物の健康状態を変えるが、水をやり終えたあとにようやく最終的な収穫スコアが分かる。ニューラルネットワークも同じだ。パラメータがスプリンクラーの設定で、損失が改善したい収穫スコアであり、最適化は多数の設定をまとめて変えるための規則だ。

機械学習における位置づけこれが最適化がMLの中心にある理由だ。誤差逆伝播が∇Lを計算する。SGD、モーメンタム、RMSProp、Adamはそれをどう使うかを決める。スケジュールがステップサイズを制御し、正則化が目的関数の形を変える。訓練がL(θ)を最小化することだと分かれば、残る主な問いはシンプルになる。パラメータはどう動くべきか?
▶ なぜMLに最適化が必要なのか?
← 集中不等式(概要)学習率 →