Слой нормализации партии.
Слой нормализации партии. нормирует мини-пакет данных через все наблюдения для каждого канала независимо. Чтобы ускорить обучение сверточной нейронной сети и уменьшать чувствительность к сетевой инициализации, используйте слои нормализации партии. между сверточными слоями и нелинейностью, такой как слои ReLU.
После нормализации слой масштабирует вход с learnable масштабным коэффициентом γ и переключает learnable смещением β.
создает слой нормализации партии.layer = batchNormalizationLayer
создает слой нормализации партии. и устанавливает дополнительный layer = batchNormalizationLayer(Name,Value)TrainedMean, TrainedVariance\epsilon, Параметры и инициализация, изучите уровень и регуляризацию и Name свойства с помощью одной или нескольких пар "имя-значение". Например, batchNormalizationLayer('Name','batchnorm') создает слой нормализации партии. с именем 'batchnorm'.
Операция нормализации партии. нормирует элементы xi входа первым вычислением среднего μB и отклонения σB2 по пространственному, время и размерности наблюдения для каждого канала независимо. Затем это вычисляет нормированные активации как
где ϵ является константой, которая улучшает числовую устойчивость, когда отклонение очень мало.
Допускать возможность, что входные параметры с нулевым средним значением и модульным отклонением не оптимальны для операций, которые следуют за нормализацией партии., операция нормализации партии. дальнейшие сдвиги и масштабируют активации с помощью преобразования
где смещение β и масштабный коэффициент, γ является настраиваемыми параметрами, которые обновляются во время сетевого обучения.
Чтобы сделать предсказания с сетью после обучения, нормализация партии. требует, чтобы фиксированное среднее значение и отклонение нормировали данные. Это фиксированное среднее значение и отклонение могут быть вычислены от обучающих данных после обучения или аппроксимированы во время использования обучения рабочие статистические расчеты.
Если 'BatchNormalizationStatistics' опцией обучения является 'moving', затем программное обеспечение аппроксимирует статистику нормализации партии. во время обучения с помощью рабочей оценки и после обучения, устанавливает TrainedMean и TrainedVariance свойства к последним значениям движущихся оценок среднего значения и отклонения, соответственно.
Если 'BatchNormalizationStatistics' опцией обучения является 'population', затем после сетевых учебных концов, проходы через данные программного обеспечения еще раз и наборы TrainedMean и TrainedVariance свойства означать и отклонение, вычисленное из целого обучающего набора данных, соответственно.
Слой использует TrainedMean и TrainedVariance нормировать вход во время предсказания.
[1] Иоффе, Сергей и Кристиан Сзеджеди. "Нормализация партии.: Ускорение глубокого сетевого обучения путем сокращения внутреннего ковариационного сдвига". предварительно распечатайте, arXiv:1502.03167 (2015).
convolution2dLayer | fullyConnectedLayer | groupNormalizationLayer | layerNormalizationLayer | reluLayer | trainingOptions | trainNetwork