合成データ val の fine-tune は実目標の改善前に early stop が切る — patience 無効化と実ターゲット評価で選ぶ
ML
画像認識
知識
運用
合成データで train/val を組んでいるモデルを fine-tune すると、val スコアは初期からほぼ頭打ちのため、実写側(本当に改善したい対象)が良くなる前に early stopping が発動して学習が実質進まないことがある。実測では patience=12 の fine-tune が epoch 1 を best として即終了した。同じ理由で「best チェックポイント」の自動選択も合成 val 基準になり、実目標の成績と一致しない。
対処
- fine-tune 時は patience を epochs と同値にして early stopping を実質無効化する(短い epochs を自分で決める)
- チェックポイントは best と last の両方を実ターゲット評価(実写の回帰スイート、レポート写真、fixture 等)にかけ、そちらの結果で採用を決める
- 学習フレームワークの「改善が止まったら切る」は val が目標を代表している前提の機能。ドメインが乖離した fine-tune ではその前提が崩れていることを認識する
適用条件
学習データ(合成・別ドメイン)と実運用目標(実写等)が乖離している fine-tune 全般。ゼロから学習する場合は val も同時に成長するため通常どおり early stopping で問題ない。