Существуют ли правила выбора размера мини-партии?

21

При обучении нейронных сетей одним гиперпараметром является размер мини-пакета. Обычный выбор - 32, 64 и 128 элементов в каждой партии.

Существуют ли какие-либо правила / рекомендации, какими большими должны быть мини-партии? Какие-нибудь публикации, которые исследуют влияние на обучение?

Мартин Тома
источник
Кроме вписывания в память?
Эсан М. Кермани
Да. Например, есть ли публикация с надписью «чем больше размер пакета, тем лучше» (если он умещается в памяти)?
Мартин Тома
@ EhsanM.Kermani Я думаю, это имеет значение. Я сделал пару прогонов на CIFAR-100 и получаю разные результаты в зависимости от размера партии (с ранней остановкой, так что, надеюсь,
Мартин Тома
3
Большие вычисления быстрее (эффективнее), меньшие сходятся быстрее, лучше обобщают; ср Эффективное мини-пакетное обучение для стохастической оптимизации и это исследование RNN . Есть сладкое место, которое вы найдете эмпирически для вашей проблемы.
Эмре
2
Эта самая проницательная статья Блея и его коллег только что вышла: Стохастический градиентный спуск как приблизительный байесовский вывод
Эмре

Ответы:

22

В « Обучении в больших пакетах для глубокого обучения: разрывы обобщения и резкие минимумы» есть пара интересных предложений:

На практике наблюдалось, что при использовании более крупной партии качество модели ухудшается, что измеряется ее способностью обобщать [...]

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

Из моей магистерской диссертации : Отсюда и выбор размера мини-партии влияет:

  • Время тренировки до сближения : кажется, это сладкое место. Если размер партии очень мал (например, 8), это время увеличивается. Если размер партии огромен, он также выше минимального.
  • Время обучения на эпоху : большие вычисления быстрее (эффективнее)
  • Результирующее качество модели : чем ниже, тем лучше из-за лучшего обобщения (?)

Важно отметить гиперпараметрическое взаимодействие : размер пакета может взаимодействовать с другими гиперпараметрами, в частности с частотой обучения. В некоторых экспериментах это взаимодействие может затруднить выделение влияния размера партии только на качество модели. Другое сильное взаимодействие - ранняя остановка регуляризации.

Смотрите также

Martin Thoma
источник
@NeilSlater Хотите добавить свой комментарий к моему (теперь вики) сообществу ответу?
Мартин Тома
Мне нравится ответ как общий. Более того, я был бы признателен, если бы в конкретном примере было много информации о том, что является очень маленьким , огромным и мини-пакетным .
Итак, S
Мини-партия @SoS - это просто термин. «Мини» не относится к конкретному размеру, а означает, что существует более 1 примера и меньше, чем общий набор тренировок. Я считаю «очень маленьким» <= 8 (я только что отредактировал ответ). Я также измерил экстремальное (более чем в 5 раз) увеличение времени тренировки настенных часов для этого. Нормальный это что-то вроде 64 или 128. Я не слишком уверен, что такое «огромный»; Я думаю, что это может зависеть от оборудования.
Мартин Тома
Этот ответ задает больше вопросов, чем отвечает. Где это сладкое пятно (может быть, поможет график)? Как это влияет на скорость обучения и раннюю остановку?
xjcl
Ответ зависит от сети и набора данных. Следовательно, не имеет смысла давать конкретные числа, и, следовательно, график не поможет. О взаимодействиях с другими гиперпараметрами: я точно не знаю. Попробуйте и опубликуйте свои результаты :-)
Мартин Тома