深層学習におけるバッチサイズの影響をご覧ください。トレーニング速度、メモリ使用量、およびモデルのパフォーマンスを効率的に最適化します。
バッチサイズは、機械学習の領域において極めて重要なハイパーパラメータである。 機械学習の領域において極めて重要なハイパーパラメータである。 モデルが内部パラメータを更新する前に処理する モデルが内部パラメータを更新する前に処理する学習データサンプルの数を決定する。データセット全体を一度に分析するのではなく、ディープラーニングを使用する。 ディープラーニング フレームワークは、データをバッチと呼ばれる小さなグループに分割する。この分割は、学習プロセスの安定性、計算速度 の安定性、計算速度、必要なメモリ量を決定する。 GPUが必要とするメモリ量を支配する。適切な 適切なバッチサイズを選択することは、計算効率とモデルの収束の質のバランスをとることになります。 収束の質とのバランスをとる役割を果たします。
バッチサイズの選択は、ニューラルネットワークの学習方法を根本的に変える。 を根本的に変える。バッチサイズが を低い値に設定すると、モデルは モデルの重みの更新頻度が高くなり、勾配降下プロセス を導入する。このノイズは 最適化アルゴリズムが 最適化アルゴリズムがローカル・ミニマムから脱出し、よりロバストな解を見つけるのに役立ち、オーバーフィッティングを防ぐのに役立ちます。 オーバーフィッティングを防ぐことができる。逆に、バッチサイズ は、より正確な勾配の推定を提供し、よりスムーズで安定した更新につながります。 しかし、より多くのハードウェア・メモリを必要とし、モデルが訓練データではうまく機能するが このような場合、モデルは訓練データではうまく機能するが、未知のデータではあまり効果的でなくなる。
ハードウェアの性能がこのパラメーターの上限を決めることが多い。最近のハードウェア・アクセラレータは に詳述されている NVIDIAディープラーニング・パフォーマンス・ガイドに詳述されているような最新のハードウェア・アクセラレータは、大規模なデータ・ブロックを同時に処理するための並列コンピューティングに依存している。 を同時に処理する並列コンピューティングに依存している。そのため、プロセッサのアーキテクチャに合わせたバッチサイズ(通常、32、64、または64のような2のべき乗)を使用する必要があります。 を使用することで、スループットを最大化し、1エポックあたりの総トレーニング時間を短縮することができます。 エポックあたりの総トレーニング時間を短縮することができる。
このパラメーターの調整方法を理解することは、さまざまな業界で効果的なAIソリューションを展開するために不可欠である。 不可欠である。
を使用する場合 Ultralytics Python パッケージバッチ
サイズの設定は簡単である。バッチサイズは batch 引数で、重みを更新する前にモデルが見るべき画像の数を指定できます。
が重みを更新する前に見るべき画像の数を正確に指定することができます。もし -1ライブラリは
オートバッチ機能 を自動的に決定します。
ハードウェアがサポートできる最大バッチサイズを自動的に決定します。
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset with a specific batch size
# A batch size of 32 balances speed and memory usage for most standard GPUs
results = model.train(data="coco8.yaml", epochs=50, batch=32)
ディープラーニングフレームワークに見られる類似の用語と「バッチサイズ」を区別することは、実務家にとって重要である。 ディープラーニングフレームワークに見られる