Стохастический и мини-пакетный градиентный спуск

Как модели на самом деле обучаются — от обычного градиентного спуска до Adam

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

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

Проверка качества хлопьев использует тот же компромисс. Вскрывать каждую коробку — точно, но медленно. Проверить одну коробку — шумно. Проверить целый поддон коробок даёт полезную оценку быстро. Мини-пакеты — это такие поддоны. Фигура ниже делает эту статистику наглядной: нажмите «запустить» и понаблюдайте, как скользящее среднее устаканивается по мере поступления новых образцов. Градиент мини-пакета — объект того же рода: среднее, которое стабилизируется по мере роста пакета.

Где это встречается в MLПочти каждая нейронная сеть обучается на мини-пакетах, потому что они хорошо ложатся на ускорители и дают полезный поток приближённых градиентов. Размер пакета, скорость обучения и расписание обычно настраивают вместе.
▶ Стохастический и мини-пакетный градиентный спуск
← AdamВыпуклость на практике →