Уровень нормализации экземпляра
Уровень нормализации экземпляра нормализует мини-пакет данных по каждому каналу для каждого наблюдения независимо. Чтобы улучшить сходимость тренировок сверточной нейронной сети и снизить чувствительность к гиперпараметрам сети, используйте уровни нормализации экземпляров между сверточными слоями и нелинейностями, такими как уровни ReLU.
После нормализации уровень масштабирует входные данные с помощью обучаемого масштабного коэффициента γ и сдвигается на обучаемое смещение β.
layer = instanceNormalizationLayer создает слой нормализации экземпляра.
layer = instanceNormalizationLayer(Name,Value) создает слой нормализации экземпляра и задает необязательный Epsilon, Параметры и инициализация, Скорость обучения и регуляризация, и Name с использованием одного или нескольких аргументов «» имя-значение «». Можно указать несколько аргументов «имя-значение». Заключите каждое имя свойства в кавычки.
instanceNormalizationLayer('Name','instancenorm') создает слой нормализации экземпляра с именем 'instancenorm'Операция нормализации экземпляра нормализует элементы xi входного сигнала, сначала вычисляя среднее мкI и σI2 дисперсии по пространственным и временным измерениям для каждого канала в каждом наблюдении независимо. Затем он вычисляет нормализованные активации как
где ϵ - константа, которая улучшает числовую стабильность, когда дисперсия очень мала.
Чтобы обеспечить возможность того, что входные данные с нулевым средним и единичной дисперсией не являются оптимальными для операций, которые следуют за нормализацией экземпляра, операция нормализации экземпляра дополнительно сдвигает и масштабирует активации с помощью преобразования
i + β,
где смещение β и масштабный коэффициент γ являются обучаемыми параметрами, которые обновляются во время обучения сети.
batchNormalizationLayer | convolution2dLayer | fullyConnectedLayer | groupNormalizationLayer | layerNormalizationLayer | reluLayer | trainingOptions | trainNetwork