早期停止 (Early Stopping)[機械学習][ディープラーニング]

1. 早期停止 (Early Stopping) とは [概要]

早期停止(early stopping)
図1 早期停止early stopping

早期停止(early stopping)とは,機械学習をしている際に,モデルの過学習を避けるために,早期のタイミングで,強制的に学習を止める正則化手法である. 学習の繰り返し(epoch)の毎回の終わりに,検証誤差(validation error)値をチェックし,それまで下降していた検証誤差が上昇しはじめたタイミングで,学習学習の早期打ちきりを行なう (2節) .これにより,過剰適合(overfitting)も不足適合(underfitting)も避けて,モデルの汎化性能を向上させることができる.

勾配降下(Gradient Descent:GD)法で,(繰り返しループで)学習する多くの機械学習モデルは,訓練を長く行ない,訓練誤差(training error)を0に近づけすぎてしまうと,訓練データセットに過剰適合する可能性が高い.特に,大量のデータを複雑なモデルに学習させるディープラーニングでは,SGDによる学習でepochを多くまわした事による「モデルの過剰適合(overfitting)」が大敵である.

ディープラーニング登場以前のnon-deep learningな機械学習モデル(Boosting)でも,GDベースのものでは,シンプルなこの早期停止が力を発揮する.

※ [2025/6月] 昔のCNN・RNNには,この「早期停止」はよく使われていたが,Transformer系のトークン形式の大規模ディープネットが主流になってきた近年では(2021年ごろ以降〜),あまり使われなくなっている.一方でCNNで使われなくなってきていたドロップアウトは,Transformerで元論文から使われTransformer系時代で復刻したが.

2. 背景:「検証誤差の描く曲線」の上がり下がり.

検証(validation)データセットの誤差は,汎化誤差の代理値として用いることができるので,その検証誤差(図1 緑)の変化を追えば,「汎化性能のピーク」をとらえることができる.

図1は,勾配降下方で学習する機械学習モデル・DNNでの,典型的な「訓練誤差(training error)・検証誤差(validation)」の変化と,早期停止を行なうタイミングを示した図である.検証誤差(validation)は,学習を進めていくと,途中までは減っていくが,ある時点で減るのがとまり,反転して今度は増えていく.この「検証誤差が反転するあたり」が,それまでの不足適合(underfitting)と過剰適合(overfitting)の合間にある汎化性能が最大付近であることから,このタイミングで学習を「早期停止」することで,正則化が達成される.

参照記事

参考書籍

参考書籍

指定参考書リスト

【指定参考書1軍 (特にオススメ)】

中級者以上向けの,2023~2024年発売の最新テキスト3冊です.教える・育てる側である大学教員中堅研究者層も(電子版でなく物理本)を本棚に加えたいところ.英語教科書2冊は,高価でボリュームも多いゆえ,ほんとに必要な人だけ購入した方が良いです(※ Apple Book版も安くてオススメ):

【指定参考書 2軍 (オススメ)】: