バッチ学習【batch learning】

概要

バッチ学習とは、機械学習モデルの訓練手法の一つで、訓練データを一度にまとめて計算し、パラメータ更新を行う手法。全データの性質を反映した更新を行うため学習が安定しやすいが、規模によっては巨大な計算資源が必要となる。新しいデータを逐次与えて更新するといった用途には向かない。
バッチ学習のイメージ画像

機械学習では、モデルによる予測と正解の隔たりである誤差関数が小さくなるように、訓練データから求めた値に基づいてモデル内部のパラメータ更新を行う。バッチ学習では、用意されたデータセットのすべてのデータを用いて誤差関数の勾配(修正すべき方向を示す値)を求め、パラメータの更新を行う。

データセット全体の傾向を反映した勾配に基づいて更新を行うため、最適解に向かって安定的に収束しやすいとされる。一方、すべてのデータメモリに読み込んで計算を行うため、データの規模によっては現実的でない場合がある。新しい訓練データを追加する場合はデータ全体を再計算しなければならず、迅速に反映させることは難しい。

一方、訓練データからランダムに一つのデータを選んで勾配計算を行うというプロセスを何度も繰り返す手法を「オンライン学習」という。一回に一つのデータのみが必要なため計算資源を節約でき、逐次新しいデータを追加してモデルに反映するといった操作が可能となる。バッチ学習とオンライン学習の中間で、訓練データから少数のデータを選んで計算を行う手法は「ミニバッチ学習」と呼ばれる。

(2025.12.3更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。