AI用語集・ディープラーニングの概要

ミニバッチ学習とは

みにばっちがくしゅうmini-batch learning

別名:ミニバッチ勾配降下法、ミニバッチ

  • シラバス 技術16
  • ◯×チェック3問
  • 練習問題9問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

ミニバッチ学習とは、訓練データを数十〜数百件ずつの小さなまとまり(ミニバッチ)に分け、まとまりごとに勾配を計算して重みを更新する学習方法のことです。

くわしく

ミニバッチ学習は、ニューラルネットワークの学習で最もよく使われる、重みの更新の進め方です。訓練データを小さなまとまりに分け、まとまりごとに重みを更新します。このまとまりをミニバッチ、1つのミニバッチに含まれるデータの件数をバッチサイズと呼びます。

3つの学習方法の比較

勾配降下法で重みを更新するとき、1回の更新に何件のデータを使うかで、次の3つに分かれます。

  • バッチ学習:訓練データ全件の勾配で1回更新します。勾配は安定しますが、1回の計算が重く、データが多いと扱いにくくなります。
  • オンライン学習:データを1件ずつ使って更新します。計算は軽いものの、1件ごとのばらつきで更新の向きが大きくぶれます。
  • ミニバッチ学習:その中間です。数十〜数百件の勾配の平均で更新するため、ぶれをある程度抑えつつ、計算量も現実的な範囲に収まります。

ミニバッチ学習とオンライン学習は、ランダムに選んだデータで更新するため、どちらも確率的勾配降下法(SGD)と呼ぶことがよくあります。

エポックとイテレーション

訓練データ全体を1回使い切ることを1エポック、重みを1回更新することを1イテレーションと数えます。1エポックのイテレーション数は「データ数 ÷ バッチサイズ」です。たとえば1万件のデータをバッチサイズ100で学習すると、1エポックで100回更新します。

利点と注意点

ミニバッチ内の複数のデータは、GPUでまとめて並列に計算できます。また、勾配に適度なばらつきがあるため、局所最適解や鞍点にとどまりにくくなる効果も期待されます。

バッチサイズはハイパーパラメータです。大きすぎるとメモリが足りなくなり、小さすぎると更新がぶれやすくなります。なお、バッチ正規化は、このミニバッチの単位で平均と分散を計算します。

覚え方

「全部はバッチ、1件はオンライン、その間がミニバッチ」と覚えます。

G検定での出題

出題のされ方

全データで1回更新するバッチ学習、1件ずつ更新するオンライン学習との違いが問われます。データ数とバッチサイズから、1エポックあたりのイテレーション数や更新回数を求める計算も問われます。

混同しやすい用語

用語意味
ミニバッチ学習このページの用語訓練データを数十〜数百件ずつの小さなまとまり(ミニバッチ)に分け、まとまりごとに勾配を計算して重みを更新する学習方法
オンライン学習データを1件ずつ使い、受け取るたびに勾配を求めて重みを更新していく学習方法

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. バッチサイズを1にしたミニバッチ学習は、訓練データ全件を使って1回更新するバッチ学習と同じになる。

    答えを見る

    答え × 誤り

    バッチサイズ1は、1件ずつ更新するオンライン学習にあたります。全件を1つのまとまりにした場合がバッチ学習です。

  2. ミニバッチ学習では、ミニバッチ内のデータそれぞれの勾配を平均して、1回の重みの更新に使う。

    答えを見る

    答え ◯ 正しい

    平均した勾配を使うことで、1件ずつの勾配で更新するよりも、更新の向きのぶれが小さくなります。

  3. ミニバッチ学習のバッチサイズは、学習の途中で重みと同じように自動で最適な値に更新される。

    答えを見る

    答え × 誤り

    バッチサイズは、学習を始める前に人が決めるハイパーパラメータです。GPUのメモリの量や学習の安定性を見ながら選びます。

この用語の練習問題

9問
  1. #0045バッチサイズと更新回数難易度 標準・単一選択未回答
  2. #0175バッチ・オンライン学習の比較難易度 基礎・単一選択未回答
  3. #0178学習の停滞への対処難易度 標準・単一選択未回答

ほかに6問あります。続けて解くと、すべての問題を順に出題します。

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術16

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習