バッチ学習・ミニバッチ学習・オンライン学習
解説:「答え合わせ」のタイミングで比較する
ニューラルネットワークに大量のデータ(例:1万件の画像)を学習させる際、「何件分のデータを見てから、パラメータの更新(反省と修正)を行うか」によって、主に3つの手法に分類されます。
これらを「1万問の過去問集を解く受験生」に例えて比較してみましょう。
| 学習手法 | 「過去問」でのイメージ | 特徴とメリット・デメリット |
|---|---|---|
| バッチ学習 (一括学習) |
【1万問全部解いてから、まとめて答え合わせ】 すべてのデータを一気に読み込み、全体の平均的な誤差を出してから1回だけパラメータを更新する。 |
メリット:データの全体像を正確に捉えるため、一直線に正しい方向へ進みやすい。 デメリット:全データをメモリに載せるためコンピュータへの負荷(メモリ消費)が極めて大きく、ビッグデータには不向き。 |
| ミニバッチ学習 | 【32問や64問の小テストごとに、答え合わせ】 全データを「ミニバッチ」と呼ばれる小さなグループに分割し、グループごとに更新を行う。 ※このグループのデータ数をバッチサイズと呼ぶ。 |
メリット:計算負荷(メモリ消費)と学習速度のバランスが良く、現在のディープラーニングにおける標準(主流)の手法。 適度な「ノイズ(ばらつき)」が生じるため、局所最適解(偽のゴール)から抜け出しやすい。 |
| オンライン学習 (逐次学習) |
【1問解くたびに、すぐ答え合わせ】 データが1件入ってくるたびに、即座にパラメータを更新する。 |
メリット:メモリ消費が最も少ない。株価予測やネット通販のレコメンドなど、データが次々と発生する「ストリーミングデータ(リアルタイム)」の処理に必須の手法。 デメリット:1件のノイズ(外れ値)に振り回されやすく、学習の軌道がジグザグにブレやすい。 |

G検定対策
出題ポイント
- ミニバッチ学習が現在の主流:計算効率と安定性のバランスから、ディープラーニングでは基本的にミニバッチ学習が用いられる。
- メモリ消費量:多い順に「バッチ学習 > ミニバッチ学習 > オンライン学習」となる。
- オンライン学習の用途:「逐次学習」「リアルタイム処理」「ストリーミングデータ」というキーワードと紐付けて覚える。
