Что такое размер партии, эпоха и итерации в нейронной сети?
Размер пакета определяет количество образцов, которые будут распространяться по сети.
допустим, у вас есть 1050 обучающих выборок, и вы хотите установить
batch_size
равным 100. Алгоритм берет первые 100 выборок (с 1-й по 100-ю) из набора обучающих данных и обучает сеть. Затем он берет вторые 100 выборок (со 101-й по 200-ю) и снова обучает сеть. Мы можем продолжать выполнять эту процедуру, пока не распространим все выборки по сети. Проблема может возникнуть с последним набором образцов. В нашем примере мы использовали 1050, которое не делится на 100 без остатка. Самое простое решение — просто получить последние 50 образцов и обучить сеть.
мы обновляем веса после каждого распространения. В нашем примере мы распространили 11 пакетов (в 10 из них было 100 образцов, а в 1 — 50 образцов), и после каждого из них мы обновили параметры нашей сети.
В терминологии нейронной сети:
- одна эпоха = один проход вперед и один проход назад для всех обучающих примеров
- Размер пакета = количество обучающих примеров в одном прямом/обратном проходе. Чем больше размер пакета, тем больше памяти вам потребуется.
- количество итераций = количество проходов, каждый проход использует [размер пакета] число примеров. Чтобы было ясно, один проход = один проход вперед + один проход назад (мы не считаем проход вперед и проход назад двумя разными проходами).
Пример: если у вас есть 100 обучающих примеров, а размер пакета равен 50, то для завершения 1 эпохи потребуется 2 итерации.