Web教科書

学習方式の比較(バッチ学習・ミニバッチ学習・オンライン学習)

バッチ学習・ミニバッチ学習・オンライン学習

解説:「答え合わせ」のタイミングで比較する

ニューラルネットワークに大量のデータ(例:1万件の画像)を学習させる際、「何件分のデータを見てから、パラメータの更新(反省と修正)を行うか」によって、主に3つの手法に分類されます。

これらを「1万問の過去問集を解く受験生」に例えて比較してみましょう。

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


G検定対策

出題ポイント

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

よくあるひっかけ問題

  • × オンライン学習はすべてのデータを保持するため、メモリ消費が最も大きい
    (解説)逆です。1件ずつ処理しては捨てる(更新する)ため、メモリ消費は最も少ないです。メモリ消費が最大なのは「バッチ学習」です。
  • × バッチ学習は、局所最適解(ローカルミニマム)を回避しやすい
    (解説)これも大きな罠です。バッチ学習は「全データの正確な平均」を取るため、動きが滑らかすぎて一度くぼみ(局所最適解)にハマると抜け出せません。一方、ミニバッチ学習SGDは、データの一部しか見ないため動きに「ブレ(ノイズ)」があり、そのブレのおかげでくぼみからポロッと抜け出せる確率が高くなります。
タイトルとURLをコピーしました