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