Короткий ответ: : именно так работает алгоритм обратного распространения SGD в мини-пакете.
Оглядываясь назад на происхождение и разницу между использованием стандартной SGD и мини-партии SGD, становится понятнее, почему.
Алгоритм стандартного стохастического градиента по стандартной выборке пропускает одну выборку через модель, затем возвращает ее градиенты и обновляет вес модели, прежде чем повторить процесс со следующей выборкой. Основным недостатком является то, что это последовательный процесс (он не может запускать образцы одновременно, поскольку каждый образец должен работать на модели, которая уже была обновлена предыдущим образцом), поэтому он очень затратен в вычислительном отношении. Кроме того, использование только одного образца для каждого обновления приводит к очень шумному градиенту.
В мини-партии SGD используется тот же принцип, с одним отличием - градиенты накапливаются из нескольких выборок, а обновление выполняется только один раз для каждой x выборок. Это помогает получить плавный градиент во время обучения и позволяет параллельно передавать несколько образцов через модель. Это алгоритм, который используется при обучении с использованием кераса / тензорного потока в мини-партиях (обычно называемых партиями, но этот термин фактически означает использование приличного градиента партии, что немного отличается от алгоритма).
Я не нашел никакой работы, касающейся использования среднего значения градиентов в каждом слое для обновления. Интересно проверить результаты такого алгоритма. Это было бы более эффективным с точки зрения памяти, однако, скорее всего, оно также будет менее способным достигать хороших минимальных баллов.