モデルが実際にどう学習するか — 普通の勾配降下法からAdamまで
オプティマイザーの診断とは、訓練のレシピを変える前に、その実行結果を読み解くことだ。損失曲線、勾配ノルム、検証曲線を見れば、問題がステップサイズなのか、データなのか、スケールなのか、過学習なのか、それともモデルそのものの限界なのかが、たいてい分かる。
これは当てずっぽうではない。それぞれの失敗パターンには典型的な形がある。損失が爆発する、損失が平坦なまま動かない、ノイズはあるが改善している、訓練損失は下がるのに検証損失は上がる、あるいは突然NaNになる、といった具合だ。
水槽の試験紙が分かりやすい絵を見せてくれる。濁った水を直すのに、手当たり次第に薬品を入れたりはしない。まずpH、アンモニア、亜硝酸を測り、実際に悪い数値だけに対処する。オプティマイザーの診断も訓練に対して同じことをする。まず測り、それから測定値が示すものだけを変える。下の図で目を慣らしてみよう。まず健全な降下を1回実行し、次にηを上げて、不安定に跳ね回るパターンを意図的に再現してみてほしい。