G検定(JDLA) 練習問題 14:ミニバッチ学習とバッチサイズ
AI・機械学習における「バッチサイズ(batch size)」に関する記述として、正しいものはどれか。
- バッチサイズとは、1エポックあたりに学習データセット全体を何回繰り返し学習させるかを表す値である
- バッチサイズを1に設定した学習方法は一般にバッチ学習(フルバッチ学習)と呼ばれる
- 学習データを一定数のまとまり(ミニバッチ)に分割し、そのまとまりごとにパラメータを更新する
- バッチサイズを大きくすると、必ずモデルの汎化性能が向上し過学習が発生しなくなる
- バッチサイズは学習率(learning rate)と同一の概念であり、両者は区別されない
Qraftユーザーの成績:難易度 Sランク(レーティング1417)・正答率 31%(13/42回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)
正解と解説を見る
正解は「ミニバッチ学習では、学習データを一定数のまとまり(ミニバッチ)に分割し、そのまとまりごとにパラメータの更新を行う」です。
【正解の理由】
ミニバッチ学習は、学習データセットを一定数のサンプルからなる小さなまとまり(ミニバッチ)に分割し、そのまとまりごとに勾配を計算してパラメータを更新する手法です。バッチサイズは、このまとまりに含まれるデータ数を指します。
【不正解の理由】
• 「バッチサイズとは、1エポックあたりに学習データセット全体を何回繰り返し学習させるかを表す値である」という説明は誤りです。これはエポック数の説明と混同しており、バッチサイズとは異なる概念です。
• 「バッチサイズを1に設定した学習方法は一般にバッチ学習(フルバッチ学習)と呼ばれる」という説明は誤りです。バッチサイズ1の学習はオンライン学習(確率的勾配降下法、SGD)と呼ばれ、フルバッチ学習はデータセット全体をバッチサイズとする学習を指します。
• 「バッチサイズを大きくすると、必ずモデルの汎化性能が向上し過学習が発生しなくなる」という説明は誤りです。実際にはバッチサイズを大きくしすぎるとかえって汎化性能が低下する場合もあります。
• 「バッチサイズは学習率(learning rate)と同一の概念であり、両者は区別されない」という説明は誤りです。バッチサイズと学習率は異なるハイパーパラメータ(=学習前に人間が設定する調整項目)です。