Выбор подходящего размера мини-партии для стохастического градиентного спуска (SGD)

13

Есть ли литература, в которой рассматривается выбор размера мини-партии при выполнении стохастического градиентного спуска? По моему опыту, это, кажется, эмпирический выбор, обычно находящийся в перекрестной проверке или с использованием различных практических правил.

Является ли хорошей идеей медленно увеличивать размер мини-пакета по мере уменьшения ошибки проверки? Как это повлияет на ошибку обобщения? Могу ли я использовать очень маленький мини-пакет и обновлять мою модель сотни тысяч раз? Буду ли мне лучше иметь сбалансированное число где-то между очень маленьким и партиями?
Должен ли я масштабировать размер своей мини-партии в соответствии с размером набора данных или ожидаемым количеством объектов в наборе данных?

У меня, очевидно, много вопросов по реализации схем мини-пакетного обучения. К сожалению, большинство статей, которые я читаю, на самом деле не указывают, как они выбрали этот гиперпараметр. У меня был некоторый успех у таких авторов, как Янн ЛеКун, особенно из сборника статей «Уловки торговли». Тем не менее, я до сих пор не видел эти вопросы в полном объеме. Есть ли у кого-нибудь какие-либо рекомендации для бумаг или советы относительно того, какие критерии я могу использовать для определения хороших размеров мини-пакетов при попытке изучить функции?

Jason_L_Bens
источник
Я, кажется, не получаю много хитов на эту тему. Есть ли лучший сайт обмена стеками, на котором можно задавать вопросы машинного обучения или глубокого обучения?
Jason_L_Bens
К вашему сведению: cs.ubc.ca/~mpf/2011-hybrid-for-data-fitting.html
Memming

Ответы:

6

Теория эффективности SGD была разработана на единичных примерах обновлений (то есть размер мини-партии 1), поэтому теоретически не нужно использовать большие мини-пакеты. У него есть два практических преимущества:

Во- первых , если вычисление можно векторизовать, вы можете вычислить градиенты для небольшого мини-пакета> 1 почти одинаково быстро, что приведет к значительному увеличению скорости обучения.

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

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

Дэвид Келли
источник