Изменения

Перейти к: навигация, поиск

Batch-normalization

125 байт добавлено, 10:00, 18 января 2019
Идея
[[Файл:covariate-shift1.png|600px|thumb|Рисунок 1. Верхние две строки роз показывают первое подмножество данных, а нижние две строки показывают другое подмножество. Два подмножества имеют разные пропорции изображения роз. На графиках показано распределение двух классов в пространстве объектов с использованием красных и зеленых точек. Синяя линия показывает границу между двумя классами. Иллюстрация из [https://www.learnopencv.com/batch-normalization-in-deep-networks/ статьи].]]
Нормализация входного слоя нейронной сети обычно выполняется путем масштабирования данных, подаваемых в функции активации. Например, когда есть признаки со значениями от <tex>0</tex> до <tex>1</tex> и некоторые признаки со значениями от <tex>1</tex> до <tex>1000</tex>, то их необходимо нормализовать, чтобы ускорить обучение. Нормализацию данных можно выполнить и в скрытых слоях нейронных сетей, что и делает метод пакетной нормализации.
===Пакет===
Предварительно, напомним, что такое '''пакет''' (англ. batch). Возможны две реализации алгоритма градиентного спуска для обучения нейросетевых моделей: стохастический и пакетный. [[Стохастический градиентный спуск|Стохастический градиентный спуск]]<sup>[на 10.01.18 не создано]</sup> {{---}} реализация, в которой на каждой итерации алгоритма из обучающей выборки каким-то (случайным) образом выбирается только один объект. Пакетный (батч) {{---}} реализация градиентного спуска, когда на каждой итерации обучающая выборка просматривается целиком, и только после этого изменяются веса модели. Также существует "золотая середина" между стохастическим градиентном спуском и пакетным градиентном спуском {{---}} когда просматривается только некоторое подмножество обучающей выборки фиксированного размера (англ. batch-size). В таком случае такие подмножества принято называть мини-пакетом (англ. mini-batch). Здесь и далее, мини-пакеты будем также называть пакетом.
===Смещение ковариации===
Пакетная нормализация уменьшает величину, на которую смещаются значения узлов в скрытых слоях (т.н. '''смещение [[Ковариация случайных величин|ковариации]]''' (англ. covariance shift)).
Проиллюстрируем смещение ковариации примером.
Другим способом устранения внутреннего смещения ковариации является метод пакетной нормализации.
===Свойства пакетной нормализации===
Кроме того, использование пакетной нормализации обладает еще несколькими дополнительными полезными свойствами:
* достигается более быстрая сходимость моделей, несмотря на выполнение дополнительных вычислений;
Анонимный участник

Навигация