Нормализация слоя
Другим способом нормализации активаций сети для упрощения её настройки является нормализация слоя (layer normalization, [1]), сокращенно называемый LayerNorm.
Слой LayerNorm принимает на вход активации предыдущего слоя и их линейно перемасштабирует:
где - малая константа, призванная исключить деление на ноль, а параметры и вычисляются как выборочное среднее и стандартное отклонение по активациям всех нейронов слоя в рамках одного объекта:
Параметры и настраиваются вместе с остальными весами нейросети.
Схематично работа LayerNorm представлена ниже:
Поскольку усреднение для расчёта и производится по активациям нейронов слоя в рамках одного объекта, то метод работает одинаково в режиме обучения и применения, что повышает обобщаемость настроенной модели на новые данные. Также нейросеть можно настраивать с любым размером мини-батча, даже по отдельным объектам.
Нормализация слоя была предложена для ускорения и повышения стабильности настройки рекуррентных нейросетей, а сейчас активно используется в архитектуре нейросетей-трансформетров.
Литература
- Ba J. L., Kiros J. R., Hinton G. E. Layer normalization //arXiv preprint arXiv:1607.06450. – 2016.