AI・機械学習の基本概念

エポック・バッチサイズ えぽっく・ばっちさいず

学習回数ミニバッチイテレーションハイパーパラメータ訓練データメモリ
エポック・バッチサイズについて教えて

簡単に言うとこんな感じ!

エポックは「教科書を何周したか」、バッチサイズは「1度に何問ずつ解くか」だよ!全データを1回通して学習したら1エポック。そのとき一度に何件のデータをまとめて処理するかがバッチサイズ。大きなバッチは計算が速いけどGPUメモリを食う——この2つのバランスが学習の効率と精度を決めるんだ!


エポック・バッチサイズとは

エポック(Epoch)とは、訓練データ全体を1回使いきって学習する単位です。100枚の画像データを持つモデルが10エポック学習した場合、合計1,000回(100枚×10回)データを処理したことになります。エポック数は学習の「繰り返し回数」であり、少なすぎると未学習、多すぎると過学習につながります。

バッチサイズ(Batch Size)とは、1回のパラメータ更新で使うデータのまとまりの大きさです。全データを一度に使うフルバッチ(バッチ学習)、1件ずつ使うSGD(確率的勾配降下法)、その中間のミニバッチ(現在の主流、32〜256件が一般的)に分かれます。

この2つは密接に関連しており、1エポックに必要なパラメータ更新回数(イテレーション数)は データ件数 ÷ バッチサイズ で求められます。たとえばデータ10,000件・バッチサイズ100なら、1エポック=100イテレーションです。


用語の関係整理

用語定義例(データ1万件・バッチ100)
エポック全データを1周する単位
バッチサイズ1回の更新で使うデータ数100件
イテレーション1エポック内の更新回数100回(=10000÷100)
ステップイテレーションと同義のことが多い100ステップ/エポック

バッチサイズの大小比較

バッチサイズ勾配の安定性計算速度メモリ使用量汎化性能
小さい(8〜32)ノイジー(不安定)遅い少ない高い傾向
大きい(256〜1024+)安定速い多いやや低い傾向
中程度(64〜128)バランス良好普通良好

歴史と背景

  • 1960〜70年代:初期のニューラルネットワーク研究ではオンライン学習(1サンプルずつ更新)が基本
  • 1986年バックプロパゲーションの実用化でミニバッチ学習の有効性が示される
  • 1990年代:「バッチサイズ32〜256がバランス的に優れる」という経験則が広まる
  • 2012年AlexNetのImageNet学習でGPUを使ったミニバッチ並列処理が定着
  • 2017年:「大きなバッチサイズは汎化性能が落ちる」という研究(Keskarら)が発表され、学習率との調整が重要とされる
  • 2018年:「学習率をバッチサイズに比例して大きくする(Linear Scaling Rule)」というルールが普及
  • 現在:大規模言語モデルの学習では数百万のバッチサイズ(トークン数)を複数GPUで並列処理するスケールまで拡大

1エポック内の学習フロー

エポック・バッチ・イテレーションの関係 全訓練データ(例:1,000件) ← 1エポック=全データを1周 → バッチ1 100件 → 更新1回 バッチ2 100件 → 更新1回 バッチ3 100件 → 更新1回 バッチ10 100件 → 更新1回 1エポック完了 = 10イテレーション(バッチサイズ100・データ1000件の場合) これを複数エポック繰り返すことで学習が進む エポック数の目安:小規模10〜100エポック 大規模LLM:数千〜数十万ステップ

関連する規格・RFC

規格・RFC番号内容
ISO/IEC 22989:2022AI概念・用語(機械学習の訓練プロセスを含む)

関連用語