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)の合間にある汎化性能が最大付近であることから,このタイミングで学習を「早期停止」することで,正則化が達成される.
参照記事
参考書籍
参考書籍
- Probabilistic Machine Learning: An Introduction, Kevin Patrick Murphy , MIT Press, 2022.
- 4 Statistics→4.5 Regularization > 4.5.6 Early stopping
- 13 Neural Networks for structured Data > 13.5 Regualization >13.5.1 Early stopping
指定参考書リスト
【指定参考書1軍 (特にオススメ)】
中級者以上向けの,2023~2024年発売の最新テキスト3冊です.教える・育てる側である大学教員・中堅研究者層も(電子版でなく物理本)を本棚に加えたいところ.英語教科書2冊は,高価でボリュームも多いゆえ,ほんとに必要な人だけ購入した方が良いです(※ Apple Book版も安くてオススメ):
- Pythonで学ぶ画像認識 (機械学習実践シリーズ) 田村雅人,中村克行 (2023) 【紹介した記事】
- 「Foundations of Computer Vision (2024/4)」 Antonio Torralba , Phillip Isola, William T. Freeman.【紹介記事を執筆予定】
- 「Understanding Deep Learning (2023/12) 」Simon-J.-D.-Prince 著 【紹介記事を執筆予定】
【指定参考書 2軍 (オススメ)】:
- Probabilistic Machine Learning: An Introduction, Kevin Patrick Murphy, 2022.
- 深層学習 改訂第2版(機械学習プロフェッショナルシリーズ) 岡谷貴之 (2022)
- 画像認識とこの本の2冊よりも,今は1軍の英語2冊(Foundation~,Understanding ~)の方が,新しい内容の比重が多くオススメです.
- IT text : 自然言語処理の基礎 岡﨑 直観ら (2022/8月)
- 詳解 3次元点群処理 Pythonによる基礎アルゴリズムの実装, 金崎朝子, 秋月秀一, 千葉直也 (2022)