【ミニバッチ】
ミニバッチ とは?
最終更新:
💡 学習データを小分けにして、まとまりごとに更新
機械学習で、学習データの一部を小さなまとまりとして処理すること。ミニバッチ勾配降下法では、そのまとまりの勾配を平均してモデルのパラメータを更新する。
📌 このページのポイント
- ミニバッチは全データより小さく、通常は複数の学習例を含むまとまり
- ミニバッチ勾配降下法では、まとまりの勾配を平均して更新する
- バッチサイズはまとまりの件数。エポックはデータ全体を何周したか
- 使えるメモリ・処理速度・学習率などを考えてサイズを選ぶ
全部のデータを一度に使わないの?
全データを使ってから更新する方法もあるけれど、データが多いと計算やメモリの負担が大きくなるよ。ミニバッチ勾配降下法では、一部のまとまりを使い、その勾配を平均してパラメータを更新するんだ
1件ずつ使う方法との違いは?
32や64にすれば、いつでも正解?
万能な値はないよ。モデルや使えるメモリ、処理速度、学習率などによって選ぶ。大きければ必ず高精度、小さければ必ず汎化性能がよい、とは言えないので、学習時間と評価結果を確かめようね
ウォームアップって、途中でバッチを大きくすること?
まとめ:ざっくりこれだけ覚えればOK!
「ミニバッチ」って出てきたら「学習データを小さなまとまりで処理するやり方」と思えばだいたいOK!
📖 おまけ:英語の意味
「Mini-Batch」 = 小さなまとまり
💬 miniは小さい、batchは一まとまりという意味だよ。全データをまとめて扱う場合と、1件ずつ扱う場合の間のイメージで覚えよう