早期終了

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

早期終了は、検証性能を使って訓練をいつ止めるかを決める。検証損失が十分長く改善しなくなったら、最良のチェックポイントを保持して止める。ここでの進み具合はエポック単位で数える。1エポックは訓練データを1回すべて通り抜けることで、検証はふつう毎エポックの後に行う。

これは計算資源の節約であると同時に、正則化でもある。検証性能が悪化し始めたあとも、モデルが訓練セットへの当てはまりを続けてしまうのを防ぐ。

トースターが、正しい勘どころを教えてくれる。パンを早く取り出しすぎれば色が薄いままだし、待ちすぎれば焦げてしまう。トーストを見張り、加熱素子が動ける限り動き続けたときではなく、一番良い色になった瞬間に止める。下の図は、その「見張る」ためのデータがどこから来るのかを示している。訓練データの一部を取り分けておくか、図のようにフォールドをローテーションさせることで、モデルが一度も当てはめたことのない例で判定されるようにする。早期終了は、まさにその取り分けたデータの一片から信号を読み取っている。

機械学習における位置づけ早期終了は、訓練時間が高くつく場合や、予定していたエポック数に達する前に過学習が現れる場合によく使われる。仕組みはシンプルだが、信頼できる検証データとチェックポイントの仕組みが必要になる。
▶ 早期終了
← 学習率ファインダーオプティマイザーの実験室 →