モデルが実際にどう学習するか — 普通の勾配降下法からAdamまで
機械学習は予測、分類、生成、推薦のように見える。しかしその内側にあるのは、ひとつの数学的な行為の繰り返しにすぎない。数字を選び、それがどれだけ悪いかを測り、その悪さを小さくするように数字を変える。これが最適化だ。
その数字がモデルのパラメータで、通常はひとつの巨大なベクトルθにまとめられる。悪さのスコアが損失で、L(θ)と書く。訓練とは、その損失を小さくする設定をパラメータ空間の中から探すことだ。下の略記はまさにそれを表している。argminは勝ったスコアではなく勝った入力(損失を最小にするθ)を返し、θ⋆の星印はそれが最良の設定であることを示す。
温室の灌漑パネルには何千もの小さなスプリンクラー区画があるかもしれない。それぞれの設定が植物の健康状態を変えるが、水をやり終えたあとにようやく最終的な収穫スコアが分かる。ニューラルネットワークも同じだ。パラメータがスプリンクラーの設定で、損失が改善したい収穫スコアであり、最適化は多数の設定をまとめて変えるための規則だ。