【そうきうちきり】
早期打ち切り(Early Stopping) とは?
最終更新:
💡 「もう伸びない」と見極めたら潔くストップする、賢い練習の切り上げ方
訓練中に検証データなどの指標を監視し、設定した条件で改善が見られなくなったら訓練を止める手法。過学習や不要な計算を抑えるために使うが、停止条件や使うモデルの選び方を決める必要がある。
📌 このページのポイント
何を見て途中でやめるの?
一回でも悪くなったら止める?
待つ回数は10にすればいい?
全ての学習に合う値はないよ。小さすぎると一時的な停滞で止まり、大きすぎると不要な計算が増えることがある。評価の頻度、指標の揺れ、改善とみなす最小変化量などを合わせて決め、検証データで確かめよう。
停止したモデルが一番良いの?
改善を待つ間に成績が悪くなれば、停止時点と最良時点は違うよ。KerasのEarlyStoppingはrestore_best_weightsを指定して最良時点の重みを復元できるけれど、既定値はFalse。チェックポイントへの保存も含め、何を最終的に使うか確認するんだ。
ニューラルネットワークだけの方法?
止めれば過学習を必ず防げる?
訓練の続けすぎを抑える手段だけれど、保証ではないよ。検証データの選び方や、条件を何度も調整する影響もある。停止条件の選択に使う検証データと、最後の性能確認に使うテストデータを分けて扱おう。
まとめ:ざっくりこれだけ覚えればOK!
「早期打ち切り」って出てきたら「検証スコアが伸び悩んだら訓練をやめる仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Early Stopping」 = 早期停止・早期打ち切り
💬 earlyは早い段階、stoppingは停止。あらかじめ決めた最大回数まで続けず、指標に基づく条件で訓練を終えることだよ