結論
3つの違いは、重みを1回更新するのに使うデータの件数で、バッチ学習は訓練データ全件、ミニバッチ学習は数十〜数百件のまとまり、オンライン学習は1件です。使う件数が少ないほど1回の計算は軽く、1エポックの更新回数は増えますが、勾配のばらつきが大きくなり、更新の向きがぶれやすくなります。
比較表
| 観点 | バッチ学習 | ミニバッチ学習 | オンライン学習 |
|---|---|---|---|
| 英語 | batch learning | mini-batch learning | online learning |
| 1回の更新に使うデータ | 訓練データ全件 | 数十〜数百件のまとまり(ミニバッチ) | 1件 |
| 1エポックの更新回数(データN件、バッチサイズB) | 1回 | N ÷ B回 | N回 |
| 勾配のばらつき(更新の向きのぶれ) | 最も小さい | 中くらい。Bが大きいほど小さい | 最も大きい |
| 1回の計算とメモリ | 重い。データが多いとメモリに載りきらないことがある | 中くらい。GPUでまとめて並列に計算しやすい | 軽い。全件を一度にメモリに載せなくてよい |
| 向く場面 | データが少なく、全件を一度に扱える場合 | ディープラーニングの学習の標準 | データが次々に届き、モデルを更新し続けたい場合 |
| 別の呼び方 | バッチ勾配降下法。最急降下法と呼ぶこともある | ミニバッチ勾配降下法。広い意味でSGDとも呼ぶ | 逐次学習。1件ずつ更新するSGDにあたる |
| シラバス項目 | 技術分野 項目16 最適化手法 | 技術分野 項目16 最適化手法 | 技術分野 項目16 最適化手法 |
| G検定での問われ方 | 更新の向きが安定する長所と、計算が重い短所。ほかの方式との特徴の入れ替え | データ数とバッチサイズから、1エポックの更新回数やエポック数を求める計算 | データが届くたびに更新できる長所と、更新のぶれや運用中の監視の必要性 |
最終確認日:2026年11月1日
それぞれの説明
バッチ学習、ミニバッチ学習、オンライン学習は、勾配降下法で重みを更新するときの進め方の違いです。損失が小さくなる向き(勾配と逆の向き)へ重みを少しずつ動かす点はどれも同じで、1回の更新に使うデータの件数だけが違います。
バッチ学習
訓練データ全件について勾配を求め、その平均を使って1回更新します。データ全体の傾向を反映するので、更新の向きは安定します。その代わり、データが多いと1回の計算に時間がかかり、メモリに載りきらないこともあります。新しいデータが加わったときは、全件で学習し直すのが基本です。
ミニバッチ学習
訓練データを数十〜数百件ずつのまとまりに分け、まとまりごとに更新します。1つのまとまりの件数がバッチサイズで、学習を始める前に人が決めるハイパーパラメータです。勾配のぶれをある程度抑えながら、GPUでまとめて並列に計算できるため、ディープラーニングの学習ではこの方式が標準です。偏ったまとまりができないよう、データをシャッフルしてから分けます。
オンライン学習
データを1件受け取るたびに、その1件だけで更新します。1回の計算は軽く、データが次々に届く場面でもモデルを更新し続けられます。一方で、1件ごとの勾配はばらつきが大きく、損失は上下しながら下がります。誤ったデータの影響もすぐに表れるため、運用中は性能の監視が欠かせません。
呼び方の注意
ランダムに選んだ1件やミニバッチで更新する方法は、まとめて確率的勾配降下法(SGD)と呼ばれます。決まった訓練データを何周も使うものを「確率的」、次々に生まれるデータの流れから学ぶものを「オンライン」と呼び分ける説明もあります。まずは、1回の更新に何件使うかで3つを見分けられるようにします。
見分けるコツ
- 「1回の更新に何件使うか」だけを見ます。全件ならバッチ学習、1件ならオンライン学習、その間ならミニバッチ学習です。
- 更新回数は「データ数 ÷ バッチサイズ」で求めます。バッチサイズを小さくすると1エポックの更新回数は増え、大きくすると減ります。
- 「バッチサイズ」は、ふつうミニバッチ1つの件数を指します。「バッチ」という語だけでバッチ学習と決めつけず、件数で確かめます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
訓練データが1,000件のとき、10エポックの学習で重みを更新する回数は、バッチサイズ50のミニバッチ学習なら200回、オンライン学習なら10,000回である。
答えを見る
答え ◯ 正しい
1エポックの更新回数は、ミニバッチ学習で1,000 ÷ 50 = 20回、オンライン学習で1,000回です。10エポックではそれぞれ200回と10,000回になり、バッチ学習なら10回です。
-
ミニバッチ学習でバッチサイズを大きくすると、1回の更新に使う勾配のばらつきは小さくなり、1エポックあたりの更新回数は増える。
答えを見る
答え × 誤り
前半は正しい内容です。ただし1エポックの更新回数は「データ数 ÷ バッチサイズ」なので、バッチサイズを大きくすると減ります。
-
「バッチサイズ」という言葉は、ふつう訓練データ全体の件数ではなく、ミニバッチ1つに含まれるデータの件数を指す。
答えを見る
答え ◯ 正しい
全件を使う方式をバッチ学習と呼ぶ一方で、ミニバッチの件数もバッチサイズと呼ぶ慣習があります。方式は、1回の更新に何件使うかで見分けます。
関連問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (8.1.3 Batch and Minibatch Algorithms)
- Sebastian Ruder, An overview of gradient descent optimization algorithms (2016) (2 Gradient descent variants)
ほかの違い比較
- アジャイルとウォーターフォールの違い 進め方とAI開発での使い分け
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い 罰則の重さ
- バギングとブースティングの違い 並列か逐次か、減らす誤差の違い
- バッチ正規化とレイヤー正規化の違い 平均と分散を計算する範囲の違い
- BERTとGPTの違い エンコーダとデコーダ、学習課題の違い
- CBOWとスキップグラムの違い 予測の向きと学習の速さ
- 分類問題と回帰問題の違い 出力の形で見分けるコツと評価指標
- CNN・RNNとTransformerの違い 得意なデータと計算の並列性
- 協調フィルタリングとコンテンツベースフィルタリングの違い 仕組み
- 共分散と相関係数の違い 式の関係と単位・値の範囲
- データ汚染とAdversarial Attackの違い 学習時か推論時かと対策
- 決定木とランダムフォレストの違い 解釈のしやすさと精度・安定性
- 深さ優先探索と幅優先探索の違い 調べる順番・最短解・メモリ
- 営業秘密と限定提供データの違い 3つの要件と刑事罰の有無
- Faster R-CNNとYOLOの違い 2段階型と1段階型、速度と精度
- GANと拡散モデル(Diffusion Model)の違い 学習と生成の仕組み
- GANとVAEの違い 識別器の有無と学習の仕組み
- GDPRと個人情報保護法の違い 法的根拠・本人の権利・制裁金
- 勾配降下法と誤差逆伝播法の違い 勾配を使う側と求める側
- グリッドサーチとランダムサーチの違い 試行回数の決まり方と効率
- ホールドアウト検証と交差検証の違い 分割回数・計算量・使い分け
- 画像分類(物体識別)と物体検出の違い 出力の形と使い分け
- 委託・第三者提供と共同利用の違い 同意の要否と受け手が使える範囲
- k-means法と階層的クラスタリングの違い クラスタ数を決める時期と計算量
- 個人情報・個人データと保有個人データの違い 範囲の入れ子とかかる義務
- 個人情報と個人識別符号の違い 包含関係と当たる例・当たらない例
- L1正則化とL2正則化の違い 罰則の形と重みが0になるか
- 最小二乗法と最尤法の違い 推定の基準と結果が一致する条件
- LIMEとSHAPの違い 局所近似とシャープレイ値の使い分け
- LSTMとGRUの違い ゲートの数と記憶セルの有無
- 機械学習とディープラーニングの違い 包含関係と特徴量の決め方
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い 外れ値への強さ
- 正規化と正則化の違い 目的と代表的な手法を表で整理
- 主成分分析(PCA)と特異値分解(SVD)の違い 目的と計算の関係
- 主成分分析(PCA)とt-SNEの違い 線形か非線形か、保つ構造の違い
- 適合率と再現率の違い 分母の違いと重視する場面
- プルーニング・量子化と蒸留の違い 何を減らすかと元モデルの扱い
- Q学習とSARSAの違い 更新式の1か所と方策オン・オフ
- RNNとLSTMの違い 記憶セルと勾配消失の起きにくさ
- Self-AttentionとSource-Target Attentionの違い Q・K・Vの出どころ
- セマンティック・インスタンスとパノプティックの違い 背景と個体の扱い
- 新規性と進歩性の違い 比べ方とAI発明での論点
- シグモイド関数とソフトマックス関数の違い 出力の合計と使い分け
- ソフトローとハードローの違い 法的拘束力の有無と日本・EUの例
- 強いAIと弱いAIの違い 心をもつと考えるかの違い
- 教師あり学習・教師なし学習と強化学習の違い 学習の手がかりと代表例
- 特許権と著作権の違い 発生・保護対象・期間とAIでの使い分け
- 匿名加工情報と仮名加工情報の違い 加工の程度と第三者提供の可否
- 転移学習とファインチューニングの違い 重みを固定するか更新するか
- 請負契約と準委任契約の違い 完成義務とAI開発での使い分け
- Zero-shotとFew-shotの違い 与える例の数と重みを更新しない点