Толковый словарь по нейросетям и искусственному интеллекту
Размер батча
Категория термина
Размер батча (Batch Size) — это количество обучающих примеров, которые модель нейросети обрабатывает одновременно за один шаг обучения. В процессе градиентного спуска модель вычисляет градиенты функции потерь для каждого батча и обновляет параметры на основе этих градиентов. Batch size является ключевым гиперпараметром, влияющим на скорость обучения, использование памяти и качество обобщения модели.
🔍 Основные типы обучения в зависимости от batch size:
- Batch Gradient Descent
- Размер батча равен всему тренировочному набору данных.
- Градиенты точные, но вычисления медленные и требуют много памяти.
- Stochastic Gradient Descent (SGD)
- Batch size = 1, обновление весов после каждого примера.
- Быстро, но градиенты шумные, что может замедлить сходимость.
- Mini-batch Gradient Descent
- Размер батча составляет несколько десятков или сотен примеров.
- Компромисс между скоростью, точностью и использованием памяти; наиболее часто используемый метод в современных нейросетях.
🧪 Влияние batch size:
- Большой batch size:
- Снижает шум градиентов, стабильнее обновляет веса.
- Требует больше памяти GPU.
- Может ухудшить обобщение модели, иногда приводит к переобучению.
- Малый batch size:
- Более «шумные» градиенты, что может улучшить обобщение и избежать локальных минимумов.
- Быстрее обучение на ограниченной памяти, но итерации менее стабильны.
- Оптимальный batch size:
- Баланс между скоростью обучения, стабильностью градиентов и использованием памяти.
- Часто подбирается эмпирически или с использованием learning rate scaling.
📌 Связанные аспекты:
- Learning Rate: часто тесно связан с batch size — увеличение batch size позволяет использовать более высокий learning rate.
- Memory Optimization: выбор batch size напрямую влияет на потребление памяти GPU/CPU.
- Generalization (Обобщение): слишком большой batch size может ухудшить способность модели работать на новых данных.
🧪 Примеры применения:
- NLP и LLM: для обучения GPT или BERT используют mini-batches от 16 до 1024 и более, в зависимости от доступной памяти.
- Компьютерное зрение: обучение CNN на изображениях с batch size от 32 до 256 для оптимизации использования GPU.
- GAN и генеративные модели: размер батча влияет на стабильность обучения генератора и дискриминатора.
✅ Заключение:
Batch Size — важный гиперпараметр, который определяет количество примеров, обрабатываемых одновременно. Правильный выбор размера батча критичен для скорости обучения, стабильности градиентов, использования памяти и способности модели к обобщению. В современных нейросетях чаще всего используется mini-batch gradient descent с тщательно подобранным batch size, чтобы сбалансировать все эти аспекты.