Каковы различия между «эпохой», «партией» и «мини-партией»?

38

Насколько я знаю, при принятии Stochastic Gradient Descent в качестве алгоритма обучения кто-то использует «эпоху» для полного набора данных и «пакет» для данных, используемых на одном этапе обновления, тогда как другой использует соответственно «пакет» и «мини-пакет», и другие используют «эпоху» и «минибат». Это приносит много путаницы при обсуждении.

Так что же правильно сказать? Или это просто диалекты, которые все приемлемы?

Тим
источник

Ответы:

25
  • Эпоха означает один проход по всему тренировочному набору
  • Пакетный режим означает, что вы используете все свои данные для вычисления градиента за одну итерацию.
  • Мини-пакет означает, что вы берете только часть всех ваших данных за одну итерацию.
Это
источник
15

Одна эпоха обычно означает, что ваш алгоритм видит каждый обучающий экземпляр один раз. Теперь предположим, что у вас есть обучающих примеров:N

Если вы запускаете пакетное обновление, каждое обновление параметра требует, чтобы ваш алгоритм видел каждый из обучающих экземпляров ровно один раз, т. Е. Каждую эпоху ваши параметры обновляются один раз.N

Если вы запускаете мини-пакетное обновление с размером пакета = , каждое обновление параметра требует, чтобы ваш алгоритм видел b из n обучающих экземпляров, т. Е. Каждую эпоху ваши параметры обновляются примерно n / b раз.ббNN/б

NN

user1036719
источник
4

«Эпоха» обычно означает раскрытие алгоритма обучения всему набору обучающих данных. Это не всегда имеет смысл, поскольку мы иногда генерируем данные.

«Пакетный режим» и «Мини-пакет» могут сбивать с толку.

Иногда обучающие примеры необходимо «пакетировать», потому что не все данные могут быть сразу подвергнуты алгоритму (обычно из-за ограничений памяти).

В контексте SGD «мини-пакет» означает, что градиент рассчитывается по всему пакету перед обновлением весов. Если вы не используете «мини-пакет», каждый обучающий пример в «пакете» обновляет параметры алгоритма обучения независимо.

ferrouswheel
источник
Вы уверены в последнем абзаце? Я думал, что «пакетный» SGD использует все данные в эпоху, чтобы медленно вычислить очень точный градиент. Ваше последнее предложение звучит как мини-партия размером 1.
Мэтт Краузе
Также добро пожаловать в Cross Validated!
Мэтт Краузе
Да, оригинальный SGD имеет мини-партию размером 1. Я думаю, что в конечном итоге это зависит от интерпретации автора программного обеспечения. Очень часто партия == мини-партия, без документации, когда-либо упоминающей "мини-партия".
колесо обозрения
Эээ, я думаю, я имел в виду, что пакетный GD использует все данные. Я обычно использую партию и мини-партию взаимозаменяемо, но «мини-партию», когда я хочу подчеркнуть, что она действительно маленькая ...
Мэтт Краузе,