ミニバッチ学習の位置づけ
ミニバッチ学習は、訓練データ全体から一定数のサンプルをまとめて取り出し、その小さなまとまりで勾配を推定してパラメータを更新する方法です。正解は「データの一部のまとまりを使って勾配を推定し更新する方法」です。 (選択肢3が正しい)
正解の理由
ミニバッチ学習は、訓練データ全体から一定数のサンプルをまとめて取り出し、その小さなまとまりで勾配を推定してパラメータを更新する方法です。正解は「データの一部のまとまりを使って勾配を推定し更新する方法」です。
仕組み・頻出ポイント
- 全データを使うバッチ学習より1回の更新が軽く、1件ずつのSGDより勾配が安定しやすいです。
- GPUでは行列演算をまとめて実行できるため、ミニバッチは実務上の標準的な学習単位です。
- バッチサイズは収束速度、メモリ使用量、汎化性能に影響します。
G検定で覚えるべきこと
「バッチ」という語だけで全データを使うと判断しないことが大切です。バッチ学習、確率的勾配降下法、ミニバッチ学習は、1回の更新に使うデータ量で区別します。G検定では、深層学習の学習プロセスとハードウェア効率を結びつけて理解すると覚えやすくなります。
他の選択肢の評価
- 選択肢1: 1件ずつ処理する説明はSGDに近く、ミニバッチでは複数件をまとめます。
- 選択肢2: 全データを一度に使うのはバッチ学習です。
- 選択肢3: 正解です。一部のまとまりを使う点がミニバッチの定義です。
- 選択肢4: クラスタリングは教師なし学習の代表例ですが、ミニバッチ学習の説明ではありません。
実務での見方
実務では、ミニバッチサイズはGPUメモリ、学習速度、勾配のばらつき、汎化性能のバランスで決めます。大きすぎるとメモリを圧迫し、小さすぎると更新が不安定になることがあります。深層学習の学習ログを見る際も、エポック、イテレーション、バッチの違いを区別します。
確認観点
確認観点としては、1回の更新に使うデータ量です。全件ならバッチ、1件ならSGD、複数件の小さなまとまりならミニバッチです。用語の違いは、計算効率と勾配の安定性の違いとして理解します。
結論として、この問題では「用語の定義」だけでなく、どの前提で使えるのか、どの誤解を避けるべきか、実務では何を確認するのかまで結びつけて理解することが重要です。