バッチサイズ(Batch Size)とは、モデルのパラメータを1回更新するために使用するデータサンプルの数です。機械学習の訓練効率と精度に大きく関わるハイパーパラメータの一つです。
バッチサイズの影響
大きなバッチサイズは勾配の推定精度が高まり安定した学習ができますが、メモリ使用量が増加し、汎化性能が低下する傾向があります。小さなバッチサイズはノイズの多い勾配更新となりますが、正則化効果があり汎化性能が良いとされています。
一般的なバッチサイズ
深層学習では32、64、128、256などの2のべき乗が一般的に使用されます。これはGPUのメモリアーキテクチャとの相性が良いためです。データセットのサイズやモデルの規模、利用可能なGPUメモリに応じて適切な値を選択します。
バッチサイズとの学習率の関係
バッチサイズを大きくする場合、学習率も比例して大きくする「線形スケーリングルール」が知られています。この関係性を理解し、バッチサイズと学習率を連動させて調整することが効果的な学習のポイントです。