Пакетная нормализация: фиксированные образцы или различные образцы по размеру?

Некоторые вопросы возникли у меня, когда я прочитал статью "Нормализация партии: ускорение глубокого обучения работе с сетью за счет уменьшения внутреннего ковариатного сдвига".

В статье говорится:

Поскольку m примеров из данных обучения могут оценить среднее значение и дисперсию всех данных обучения, мы используем мини-серию для обучения параметров нормализации партии.

Мой вопрос:

Они выбирают m примеров, а затем одновременно подгоняют параметры нормы партии или выбирают другой набор m примеров для каждого входного измерения?

Например, тренировочный набор состоит из x(i) = (x1,x2,...,xn): n-размерность для фиксированной партии M = {x(1),x(2),...,x(N)}Выполни все примерку gamma1~gamman а также beta1~betan,

против

За gamma_i, beta_i выбирая другую партию M_i = {x(1)_i,...,x(m)_i}

1 ответ

Решение

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

Среднее значение и дисперсия вычисляются для всех измерений в каждой мини-партии одновременно с использованием скользящих средних. Вот как это выглядит в коде в TF:

mean, variance = tf.nn.moments(incoming, axis)
update_moving_mean = moving_averages.assign_moving_average(moving_mean, mean, decay)
update_moving_variance = moving_averages.assign_moving_average(moving_variance, variance, decay)
with tf.control_dependencies([update_moving_mean, update_moving_variance]):
  return tf.identity(mean), tf.identity(variance)

Вы не должны беспокоиться о технических деталях, вот что происходит:

  • Сначала mean а также variance всей партии incoming вычисляются вдоль оси партии. Оба они являются векторами (точнее, тензорами).
  • Тогда текущие значения moving_mean а также moving_variance обновляются assign_moving_average вызов, который в основном вычисляет это: variable * decay + value * (1 - decay),

Каждый раз, когда запускается пакетный процесс, он знает один текущий пакет и некоторую статистику предыдущих пакетов.