Встречается на собеседованиях • сегодня

Что такое Batch Normalization

Batch Normalization (BN) — это техника ускорения обучения нейронных сетей, которая нормализует входные данные для каждого слоя по мини-батчам. Она уменьшает внутренний ковариационный сдвиг (изменение распределения активаций), стабилизируя обучение и позволяя использовать большие learning rates.

Как работает:

  1. Для каждого батча вычисляется среднее и дисперсия по каждому признаку.
  2. Данные нормализуются: (x - μ) / sqrt(σ² + ε).
  3. Вводится обучаемые параметры масштаба (γ) и сдвига (β), чтобы сеть могла "отменить" нормализацию, если это полезно.

Пример в PyTorch:

python
import torch.nn as nn

model = nn.Sequential(
    nn.Linear(100, 50),
    nn.BatchNorm1d(50),  # BN для полносвязного слоя
    nn.ReLU(),
    nn.Linear(50, 10)
)

Плюсы:

  • Ускоряет сходимость
  • Позволяет использовать более высокие learning rates
  • Снижает чувствительность к инициализации весов

Минусы:

  • Увеличивает вычислительные затраты
  • Может ухудшить работу на маленьких батчах (т.к. оценка статистик становится неточной)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы