Уровень нормализации слоев
Уровень нормализации уровня нормализует мини-пакет данных по всем каналам для каждого наблюдения независимо. Чтобы ускорить обучение повторяющихся и многослойных перцептронных нейронных сетей и снизить чувствительность к инициализации сети, используйте уровни нормализации уровня после обучаемых уровней, таких как LSTM и полностью соединенных уровней.
После нормализации уровень масштабирует входные данные с помощью обучаемого масштабного коэффициента γ и сдвигается на обучаемое смещение β.
создает слой нормализации слоя.layer = layerNormalizationLayer
устанавливает необязательный layer = layerNormalizationLayer(Name,Value)Epsilon, Параметры и инициализация, Скорость обучения и регуляризация, и Name с использованием одной или нескольких пар имя-значение. Например, layerNormalizationLayer('Name','layernorm') создает слой нормализации слоя с именем 'layernorm'.
Операция нормализации слоя нормализует элементы xi входного сигнала, сначала вычисляя среднее значение мкл и σL2 дисперсии по пространственным, временным и канальным измерениям для каждого наблюдения независимо. Затем он вычисляет нормализованные активации как
где ϵ - константа, которая улучшает числовую стабильность, когда дисперсия очень мала.
Для обеспечения возможности того, что входные данные с нулевым средним и единичной дисперсией не являются оптимальными для операций, которые следуют за нормализацией уровня, операция нормализации уровня дополнительно сдвигает и масштабирует активации с помощью преобразования.
i + β,
где смещение β и масштабный коэффициент γ являются обучаемыми параметрами, которые обновляются во время обучения сети.
[1] Ба, Джимми Лей, Джейми Райан Кирос и Джеффри Хинтон. «Нормализация слоя». arXiv препринт arXiv:1607.06450 (2016).
batchNormalizationLayer | convolution2dLayer | groupNormalizationLayer | reluLayer | trainingOptions | trainNetwork