バッチ学習(Batch Learning / Offline Learning)とは、すべての訓練データを一括して使用してモデルを学習する方式です。データが固定されている場面で使われ、最も基本的な学習アプローチです。
特徴
全データを使って勾配を計算するため、勾配の推定精度が高く収束が安定しています。ただし、データが大きいとメモリに載りきらず、1回の更新に時間がかかるため、実務ではミニバッチ学習が主流です。
| ひとことで言うと | 全データをまとめて使って学習する方式。オフライン学習とも呼ぶ。 |
|---|---|
| どこで使う | データが出そろっていて、定期的にモデルを作り直せる業務。 |
| 注意点 | 新しいデータを反映するには学習をやり直す必要がある。 |
オンライン学習との比較
新しいデータが追加された場合、バッチ学習ではモデルの再学習(全データでの再訓練)が必要です。一方、オンライン学習は新しいデータのみでモデルを更新できるため、リアルタイム応用ではオンライン学習が適しています。
1データを溜める1か月分など
▶
2まとめて学習全件を使って訓練
▶
3モデルを差し替え本番環境に配置
▶
4しばらく運用固定したまま使う
↺ 定期的に1〜4をくり返して更新する