ある保険会社が、契約の解約を予測するニューラルネットワークを100エポックの予定で学習させた。訓練データの損失は最後まで下がり続けたが、検証データの損失は25エポック目で最小となり、その後は上がり続けた。早期終了の考え方に沿った対応として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 C
この問題の論点:早期終了の判断基準
ポイント
早期終了では、検証データの損失が改善しなくなった時点で学習を止め、最も良かった時点の重みを採用します。
選択肢ごとの解説
- A
不適切
訓練データの損失が下がっても、検証データの損失が上がっていれば、訓練データに合わせ込みすぎた過学習の状態です。未知のデータに対する性能は下がっていると考えられます。
- B
不適切
止める時点の選択もモデルの調整の一部です。テストデータで決めると、その情報が調整に入り込み、最終評価が実際より良く見えてしまいます。止める時点は検証データで決めます。
- C
適切 正解
早期終了では、検証データの損失が改善するたびに重みを保存し、一定期間改善しなければ打ち切ります。最後の重みではなく、最良の時点の重みを使う点が要点です。
- D
不適切
訓練データの損失が下がり続ける一方で検証データの損失が上がるのは、学習不足ではなく過学習の典型的な兆候です。エポック数を増やすと、過学習はさらに進みます。
補足
早期終了は、学習を続ける長さを検証データで決める手法で、正則化の一種として扱われます。検証データの損失は細かく上下するため、1回悪化しただけで止めると早すぎることがあります。そこで実装では、改善しないまま何エポック待つかをpatienceなどの名前で指定します。
試験での狙われ方
訓練データと検証データの損失の推移を示し、止める時点や過学習の兆候を判断させる形が考えられます。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Goodfellow, Bengio, Courville, Deep Learning (2016) (7.8 Early Stopping)