Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Batch Size (Размер пакета)

Узнайте о влиянии размера пакета (batch size) на глубокое обучение. Эффективно оптимизируйте скорость обучения, использование памяти и производительность модели.

Размер партии является ключевым гиперпараметром в в сфере машинного обучения, который определяет количество обучающих образцов данных, обрабатываемых перед тем, как модель обновляет свои внутренние параметры. Вместо того чтобы анализировать весь набор данных сразу, что часто бывает вычислительно невозможно из-за нехваткипамяти. системы делят данные на более мелкие группы, называемые партиями. Это разделение определяет стабильность процесса обучения стабильность процесса обучения, скорость вычислений и объем памяти, требуемый для GPU во время обучения. Выбор правильного размера партии является балансом между вычислительной эффективностью и качеством сходимости модели сходимости.

Влияние на динамику обучения

Выбор размера партии коренным образом меняет способ обучения нейронной сети. Когда размер партии установлен меньшее значение, модель обновляет свои весовые коэффициенты модели обновляются чаще, что вносит шум в процесс градиентного спуска. Этот шум может быть полезным, часто помогая алгоритму оптимизации избежать локальных минимумов и находить более устойчивые решения, что помогает предотвратить перебор. И наоборот, большие размеры партии обеспечивают более точную оценку градиента, что приводит к более плавным и стабильным обновлениям, хотя они требуют значительно больше аппаратной памяти и иногда могут приводить к "разрыву обобщения", когда модель хорошо работает на обучающих данных, но менее эффективна на невидимых данных.

Аппаратные возможности часто диктуют верхний предел этого параметра. Современные аппаратные ускорители, такие как подробно описанные в Руководство по производительности глубокого обучения отNVIDIA, опираются на параллельные вычисления для обработки больших блоков данных одновременно. Поэтому используйте размер пакета, соответствующий архитектуре процессора - обычно это значения 32, 64 или 128 - может увеличить пропускную способность и сократить общее время обучения на одну эпоху. эпоху.

Применение в реальном мире

Понимание того, как настроить этот параметр, необходимо для внедрения эффективных решений на основе ИИ в различных отраслях. отраслях.

  1. Медицинская визуализация высокого разрешения: В ИИ в здравоохранении, модели часто поручают анализ подробных снимков КТ или МРТ для выявления аномалий, например опухолей. Размер файлов этих изображений огромен. Попытка обработать множество из них одновременно приведет к превышению объема видеопамяти (VRAM) даже самого мощного оборудования. Поэтому практикующие врачи используют очень маленький размер партии (например, 1 или 2), чтобы облегчить анализ медицинских изображений без сбоев Приоритет отдается способности работать с высокоточными данными, а не скорости обучения.
  2. Контроль производства в режиме реального времени: И наоборот, в в условиях интеллектуального производства скорость имеет решающее значение критически важна. Автоматизированная система визуального контроля на конвейере может получать тысячи изображений печатных плат в час. плат в час. На этапе формирования выводов (обнаружение дефектов на производстве) системы могут использовать пакетные выводы для группировать поступающие изображения и обрабатывать их параллельно. Это позволяет максимизировать пропускную способность системы компьютерного зрения, обеспечивая ее соответствие быстроходной производственной линии.

Настройка размера партии с помощью Ultralytics

При использовании Пакет 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)

Различение смежных понятий

Для практиков важно отличать "размер партии" от аналогичной терминологии, встречающейся в фреймворках глубокого обучения.

  • Размер партии в сравнении с эпохой: Эпоха представляет собой один полный проход по всему обучающего набора данных. Размер партии определяет, сколько на сколько фрагментов будут разбиты данные в рамках одной эпохи. Например, если у вас есть 1 000 образцов и размер партии 100, то для завершения одной эпохи потребуется 10 итераций.
  • Размер партии и нормализация партии: Хотя у них общее название, пакетная нормализация - это специфическая техника слоев техника, используемая для нормализации входных данных слоя с целью повышения стабильности. Хотя эффективность пакетной нормализации может зависит от размера партии (для вычисления точной статистики требуется достаточно большая партия), она является структурным структурным компонентом архитектуры сети, а не просто настройкой обучения.
  • Обучение и группировка выводов: Во время обучения целью является изучение весов. Во время при выводе результатов пакетная обработка является исключительно оптимизацией скорости. Для чувствительных к задержкам приложений, таких как автономные транспортные средства, размер партии 1 часто используется для получения немедленного ответа, в то время как В задачах анализа данных могут использоваться большие партии для обработки исторических видеозаписей за ночь.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас