すべての損失曲線が、モデルを初めてトレーニングしたときに次のようになれば、機械学習ははるかに簡単になります。
残念ながら、損失曲線の解釈は難しい場合があります。このページの演習を解くには、損失曲線に関する直感を活用してください。
演習 1: 振動する損失曲線
図 21 に示す損失曲線を改善するには、次の3 つの方法があります。
データスキーマと照らし合わせて不適切な例を検出し、トレーニング セットから不適切な例を削除します。
はい。これはすべてのモデルで推奨される方法です。
学習率を下げる。
はい。トレーニングの問題をデバッグする際には、学習率を下げることがよくあります。
トレーニング セットを信頼できるサンプルのごく少数に減らします。
この手法は人工的に思えますが、実際には良いアイデアです。モデルが信頼できる少数のサンプルセットに収束すると仮定して、徐々にサンプルを追加し、損失曲線を振動させるサンプルを見つけることができます。
トレーニング セットのサンプル数を増やす。
魅力的なアイデアですが、問題が解決する可能性は極めて低いです。
学習率を上げる。
一般に、モデルの学習曲線に問題が示されている場合は、学習率を上げないでください。
演習 2. 急激なジャンプのある損失曲線
次のステートメントの2 つは、図 22 に示す損失の急増の考えられる原因を特定します。
入力データに 1 つ以上の NaN が含まれている(ゼロ除算によって生じた値など)。
これは、想像以上によくあることです。
入力データに急増する外れ値が含まれています。
バッチのシャッフルが不適切であるために、バッチに多くの外れ値が含まれることがあります。
学習率が低すぎます。
学習率が非常に低いとトレーニング時間が長くなる可能性がありますが、これは異常な損失曲線の原因ではありません。
正規化率が高すぎる。
正則化が非常に高いと、モデルが収束しない可能性がありますが、図 22 のような奇妙な損失曲線は発生しません。
演習 3. テスト損失がトレーニング損失から逸脱している
トレーニング セットとテストセットの損失曲線の違いの理由を最もよく説明しているのは、次の記述のどれですか。
モデルがトレーニング セットに過学習している。
はい、おそらくそうです。考えられる解決策は次のとおりです。
- 特徴の数を減らすなどして、モデルを簡素化します。
- 正則化率を上げる。
- トレーニング セットとテストセットが統計的に同等であることを確認します。
学習率が高すぎます。
学習率が高すぎると、トレーニング セットの損失曲線はこのようには振る舞わない可能性があります。
演習 4. 損失曲線が停止する
図 24 に示す不規則な損失曲線の説明として最も可能性が高いのは、次の記述のどれですか。
トレーニング セットには、サンプルの繰り返しシーケンスが含まれています。
このような可能性もあります。サンプルを十分にシャッフルしていることを確認します。
正規化率が高すぎる。
これが原因である可能性は低いです。
トレーニング セットに含まれる特徴が多すぎます。
これが原因である可能性は低いです。