Встречается на собеседованиях • сегодня
Как рассчитывается Batch Normalization
Batch Normalization (BN) стандартизирует входные данные внутри мини-батча, уменьшая внутренний сдвиг ковариаций (internal covariate shift). Формулы для BN:
- Вычисление среднего и дисперсии для каждого признака в батче:
[
\mu_B = \frac{1}{m}\sum_{i=1}^m x_i, \quad \sigma_B^2 = \frac{1}{m}\sum_{i=1}^m (x_i - \mu_B)^2
] - Нормализация:
[
\hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}
] - Масштабирование и сдвиг (learnable параметры (\gamma) и (\beta)):
[
y_i = \gamma \hat{x}_i + \beta
]
Пример в PyTorch:
python
import torch.nn as nn
bn = nn.BatchNorm1d(num_features=64) # для 1D данных (например, embeddings)
output = bn(input_tensor)Нюансы:
- (\epsilon) добавляется для численной стабильности (~1e-5).
- В режиме inference используются скользящие средние (\mu) и (\sigma^2), накопленные во время обучения.
- BN применяется после линейных/сверточных слоев, но до активации (ReLU и т.д.).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы