6.7.1 学習 Tips ロードマップ:全部変える前に診断する
学習 Tips は、診断に答えるときだけ役立ちます。optimizer、学習率、モデルサイズ、データを同時に変えないでください。
まず診断フローを見る
Section titled “まず診断フローを見る”

| 症状 | 最初に確認すること |
|---|---|
| training loss が高い | モデルが小さすぎる、学習率が低い、データ問題 |
| training は良いが validation が悪い | 過学習、リーク、弱い augmentation |
| loss が不安定 | 学習率が高い、bad batch、勾配爆発 |
| 遅すぎる | batch size、device、モデルサイズ |
| デプロイには重い | 圧縮、量子化、枝刈り |
小さな loss ログを読む
Section titled “小さな loss ログを読む”training_tips_first_loop.py を作ります。
val_loss = [0.62, 0.51, 0.48, 0.49, 0.53]best_epoch = min(range(len(val_loss)), key=val_loss.__getitem__) + 1
print("best_epoch:", best_epoch)print("best_val_loss:", val_loss[best_epoch - 1])print("action: stop or reduce learning rate if validation keeps worsening")出力:
best_epoch: 3best_val_loss: 0.48action: stop or reduce learning rate if validation keeps worsening
工夫を足す前に曲線を読みます。単純なログでも、次に試すことが見える場合が多いです。
この小章の終わりには、診断にもとづく意思決定記録を 1 つ残します。
- 可視症状
- 曲線や出力は何を示したか?
- 最初の確認
- データ、形状、勾配、または validation split
- 1つの変更
- どの単一設定が変わったか?
- 前後比較
- 指標または成果物の比較
- 判断
- 維持、調整、ロールバック、または調査する
目的は、学習の変更を戻せる形にすることです。5 つを同時に変えて良くなっても、どれが効いたのかは分かりません。
この順番で学ぶ
Section titled “この順番で学ぶ”| 順番 | 読む | 練習すること |
|---|---|---|
| 1 | 6.7.2 ハイパーパラメータ調整 | 学習率、batch size、optimizer |
| 2 | 6.7.3 学習診断 | loss 曲線、過学習、不安定さ |
| 3 | 6.7.4 モデル圧縮 | 小さく、速く、デプロイしやすいモデル |
training/validation 曲線を見て、理由付きで次のアクションを1つ選べれば合格です。
確認の考え方と解説
- 合格レベルの答えでは、tensor、model layer、loss、
backward()、optimizer update を1つの学習ループとしてつなげます。 - 証拠には、動く小さな実験、tensor shape の確認、説明できる loss または validation curve を含めます。
- shape mismatch、loss が下がらない、過学習、data leakage、Attention/Transformer の data flow を説明できない、といった失敗例を1つ言えればよいです。