Layer Norm нормализует признаки внутри отдельного токена и не зависит от состава mini-batch. Это удобно для последовательностей разной длины и авторегрессивного декодирования с малым batch.
Почему Layer Norm используется именно в трансформере (а не Batch Norm)?
Layer Norm нормализует признаки внутри отдельного токена и не зависит от состава mini-batch. Это удобно для последовательностей разной длины и авторегрессивного декодирования с малым batch.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Layer Norm нормализует признаки внутри отдельного токена и не зависит от состава mini-batch. Это удобно для последовательностей разной длины и авторегрессивного декодирования с малым batch.
Для тензора [B, T, D] типично вычислять среднее и дисперсию по D, отдельно для каждой позиции. В обучении и инференсе используются текущие статистики объекта, без running average по batch. Batch Norm связывает нормализацию разных примеров и требует аккуратно учитывать padding и оси. Это не математический запрет на Batch Norm, а преимущество Layer Norm для данной архитектуры.
Источник: arxiv.org.