読み方 : ミニバッチがくしゅう

ミニバッチ学習【mini-batch learning】

概要

ミニバッチ学習とは、機械学習モデルの訓練手法の一つで、訓練データを複数の小さなまとまりに分割し、まとまりごとにパラメータ更新を行う方式。いっぺんに全データを用いる手法と一つずつ用いる手法の中間的な性質を持ち、計算効率と安定性を両立しやすい。
ミニバッチ学習のイメージ画像

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

一度にすべてのデータを用いる手法を「バッチ学習」、ランダムに一つを選んで用いる手法を「オンライン学習」というが、ミニバッチ学習は両者の中間的な手法である。毎回の更新に少数のミニバッチを用いるため、データセットが大きい場合でもバッチ学習のように巨大な計算資源が不要で高速に計算を行うことができる。一方、複数のデータを用いて計算を行うため、オンライン学習のようにデータごとのばらつきの影響を受けにくく、学習を安定させやすい。

機械学習では、データセット全体を一回通して学習すること(およびその回数)を「エポック」(epoch)と呼び、エポックの中でパラメータ更新を行う回数を「イテレーション」(iteration)という。1024個のデータセットを用いる場合、バッチ学習では1エポック1イテレーションオンライン学習では1エポック1024イテレーションだが、ミニバッチ学習ではバッチサイズによってイテレーション数が異なる。16個ずつ更新するなら1エポック64イテレーション、32個ずつなら32イテレーションとなる。バッチサイズは任意に指定できるが、GPUなどの計算効率から2の冪乗(2,4,8,16,32…)が選ばれることが多い。

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