Что такое размер партии, эпоха и итерации в нейронной сети?

Размер пакета определяет количество образцов, которые будут распространяться по сети.

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

мы обновляем веса после каждого распространения. В нашем примере мы распространили 11 пакетов (в 10 из них было 100 образцов, а в 1 — 50 образцов), и после каждого из них мы обновили параметры нашей сети.

В терминологии нейронной сети:

  • одна эпоха = один проход вперед и один проход назад для всех обучающих примеров
  • Размер пакета = количество обучающих примеров в одном прямом/обратном проходе. Чем больше размер пакета, тем больше памяти вам потребуется.
  • количество итераций = количество проходов, каждый проход использует [размер пакета] число примеров. Чтобы было ясно, один проход = один проход вперед + один проход назад (мы не считаем проход вперед и проход назад двумя разными проходами).

Пример: если у вас есть 100 обучающих примеров, а размер пакета равен 50, то для завершения 1 эпохи потребуется 2 итерации.