BatchNorm меняет правило после обучения

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

Если забыть переключить модель в режим оценки, ответ одного объекта может зависеть от соседей по батчу. Один и тот же пример, запущенный отдельно и вместе с другими, способен дать разные результаты — особенно при маленьких батчах.

Поэтому модели нужен правильный inference-режим: например, model.eval() в PyTorch. У BatchNorm репетиция и выступление идут по разным правилам.

#нейросети #машинноеобучение #BatchNorm

BatchNorm меняет правило после обучения
Во время обучения слой Batch Normalization берёт активации мини-батча, вычисляет для каждого признака среднее и дисперсию, нормализует значения и параллельно на... | Сетка — социальная сеть от hh.ru