Layer normalization — метод нормализации активаций внутри слоя, который стабилизирует обучение и уменьшает колебания значений.
Определение
Layer normalization — это способ нормализации активаций в слое модели путём выравнивания их среднего и дисперсии для каждого объекта по всем скрытым признакам. В отличие от batch normalization, нормализация выполняется не по батчу, а по скрытым размерам активаций, что делает метод независимым от размера батча и устойчивым при последовательной обработке данных.
Layer norm стал стандартом для трансформеров и современных языковых моделей благодаря своей стабильности и предсказуемости.
Как работает
Layer normalization вычисляет статистики активаций внутри одного слоя — среднее и стандартное отклонение по всем скрытым компонентам. Основные элементы механизма:
- вычисление среднего — усреднение активаций для одного объекта;
- вычисление дисперсии — определение контраста значений внутри слоя;
- нормализация — приведение активаций к нулевому среднему и единичной дисперсии;
- γ и β параметры — обучаемые коэффициенты для восстановления масштаба и смещения;
- стабилизация градиентов — уменьшение скачков при обновлении весов.
Формула нормализации для активаций x выглядит так:
y = (x − μ) / √(σ² + ε) * γ + β
где μ и σ² — среднее и дисперсия по скрытым признакам, γ и β — обучаемые параметры.
Где применяется
- Трансформеры всех поколений.
- Модели для работы с последовательностями и токенами.
- Рекуррентные сети и архитектуры с длинными зависимостями.
- Мультимодальные модели с большим количеством слоёв.
- Глубокие модели с нестабильным обучением.
- Системы, работающие с переменным размером батча.
Практические примеры использования
В трансформерах layer normalization применяется в каждом блоке self-attention и feed-forward для стабилизации значений перед следующими операциями, что особенно важно в глубоких архитектурах.
При дообучении моделей на небольших выборках layer normalization позволяет сохранять устойчивость, тогда как методы, зависящие от размера батча, дают нестабильные результаты.
В RNN структурах layer norm снижает взрыв градиентов и уменьшает колебания активаций между временными шагами.
В мультимодальных моделях нормализация помогает согласовать распределения признаков между разными типами данных, улучшая сходимость обучения.
Преимущества и ограничения
- Плюс: стабильное обучение при любом размере батча.
- Плюс: уменьшение колебаний активаций и градиентов.
- Плюс: критически важен для трансформерных архитектур.
- Плюс: улучшает сходимость глубоких моделей.
- Минус: дополнительные вычисления на каждом слое.
- Минус: может ухудшать качество в архитектурах, где полезна статистика по батчу.
- Минус: требует корректной инициализации γ и β.
- Минус: чувствителен к расположению внутри архитектуры (Pre-LN vs Post-LN).
Связанные термины
- Batch normalization
- RMSNorm
- Gradient clipping
- Dropout
- Residual connections
- Stabilization techniques
- Transformer architecture