Толковый словарь по нейросетям и искусственному интеллекту
Нормализация слоя
Категория термина
Нормализация слоя (Layer Normalization, LayerNorm) — это метод стабилизации и ускорения обучения нейросетей, при котором входные данные каждого слоя нормализуются по среднему и стандартному отклонению для каждого отдельного примера. В отличие от Batch Normalization, которая нормализует данные по батчу, Layer Normalization работает индивидуально для каждого входа, что делает её особенно эффективной для рекуррентных сетей (RNN, LSTM) и трансформеров, где размеры батча могут быть малыми или изменяться во времени.
Основная цель нормализации слоя — снизить внутреннее ковариантное смещение (internal covariate shift), когда распределение активаций изменяется в процессе обучения, что замедляет сходимость.
⚙️ Математика:
Для входного вектора x=[x1,x2,...,xd]x = [x_1, x_2, ..., x_d] слоя размерности dd:
μ=1d∑i=1dxi,σ=1d∑i=1d(xi−μ)2+ϵ\mu = \frac{1}{d} \sum_{i=1}^{d} x_i, \quad \sigma = \sqrt{\frac{1}{d} \sum_{i=1}^{d} (x_i - \mu)^2 + \epsilon}Нормализованный выход:
xi^=xi−μσ,yi=γxi^+β\hat{x_i} = \frac{x_i - \mu}{\sigma}, \quad y_i = \gamma \hat{x_i} + \betaгде γ\gamma и β\beta — обучаемые параметры масштаба и сдвига.
📌 Применение:
- Рекуррентные нейронные сети (RNN, LSTM, GRU)
- Помогает справляться с зависимостями на длинных последовательностях и предотвращает взрыв градиентов.
- Трансформеры (Transformer, BERT, GPT)
- LayerNorm применяется после каждого слоя внимания и feed-forward блока для стабильного обучения и генерации.
- Генеративные модели
- Ускоряет сходимость при обучении VAE, GAN и других моделей.
- Малые батчи
- В отличие от BatchNorm, LayerNorm эффективна при небольших размерах батча или при изменяющихся размерах входов.
🔍 Преимущества:
- Независимость от размера батча
- Стабилизация градиентов
- Более быстрая и стабильная сходимость моделей
- Простота интеграции в глубокие сети
⚙️ Пример кода (PyTorch):
📈 Заключение:
Layer Normalization — это важная техника нормализации, которая позволяет нейросетям учиться быстрее и стабильнее, особенно в задачах с последовательными данными или генеративными моделями. Она стала стандартом для современных архитектур трансформеров и многих рекуррентных сетей, обеспечивая устойчивость обучения и улучшение качества моделей даже при сложных и динамичных данных.