過学習: 損失曲線の解釈

すべての損失曲線が、モデルを初めてトレーニングしたときに次のようになれば、機械学習ははるかに簡単になります。

図 20: ML モデルをトレーニングする際の理想的な損失曲線を示すプロット。損失曲線は、y 軸に損失を、x 軸にトレーニング ステップ数をプロットします。トレーニング ステップ数が増えるにつれて、損失は最初は高く、その後指数関数的に減少し、最終的には最小損失に達して平坦になります。
図 20. 理想的な損失曲線。

残念ながら、損失曲線の解釈は難しい場合があります。このページの演習を解くには、損失曲線に関する直感を活用してください。

演習 1: 振動する損失曲線

図 21. 損失が平坦化しない損失曲線(y 軸に損失、x 軸にトレーニング ステップ数)。代わりに、損失が不規則に振幅します。
図 21. 振動する損失曲線。
図 21 に示す損失曲線を改善するには、次の3 つの方法があります。
学習率を下げる。
トレーニング セットを信頼できるサンプルのごく少数に減らします。
トレーニング セットのサンプル数を増やす。
学習率を上げる。
データスキーマと照らし合わせて不適切な例を検出し、トレーニング セットから不適切な例を削除します。

演習 2. 急激なジャンプのある損失曲線

図 22: 損失曲線プロット。一定数のトレーニング ステップまで損失が減少し、その後トレーニング ステップが進むにつれて急増しています。
図 22. 損失の急増。
次のステートメントの2 つは、図 22 に示す損失の急増の考えられる原因を特定します。
学習率が低すぎます。
入力データに 1 つ以上の NaN が含まれている(ゼロ除算によって生じた値など)。
正規化率が高すぎる。
入力データに急増する外れ値が含まれています。

演習 3. テスト損失がトレーニング損失から逸脱している

図 23. トレーニング損失曲線は収束しているように見えますが、一定数のトレーニング ステップ後に検証損失が増加し始めます。
図 23. 検証損失の急増。
トレーニング セットとテストセットの損失曲線の違いの理由を最もよく説明しているのは、次の記述のどれですか。
学習率が高すぎます。
モデルがトレーニング セットに過学習している。

演習 4. 損失曲線が停止する

図 24. トレーニングで損失が収束し始め、その後、矩形波のように見える繰り返しパターンが表示される損失曲線のグラフ。
図 24. 一定数のステップ後に混沌とした損失が発生する。
図 24 に示す不規則な損失曲線の説明として最も可能性が高いのは、次の記述のどれですか。
トレーニング セットに含まれる特徴が多すぎます。
正規化率が高すぎる。
トレーニング セットには、サンプルの繰り返しシーケンスが含まれています。