Изменения

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

Batch-normalization

434 байта добавлено, 13:15, 22 января 2019
Смещение ковариации
Также существует "золотая середина" между стохастическим градиентном спуском и пакетным градиентном спуском {{---}} когда просматривается только некоторое подмножество обучающей выборки фиксированного размера (англ. batch-size). В таком случае такие подмножества принято называть мини-пакетом (англ. mini-batch). Здесь и далее, мини-пакеты будем также называть пакетом.
===Смещение ковариацииКовариантный сдвиг===
[[Файл:covariate-shift1.png|600px|thumb|Рисунок 1. Верхние две строки роз показывают первое подмножество данных, а нижние две строки показывают другое подмножество. Два подмножества имеют разные пропорции изображения роз. На графиках показано распределение двух классов в пространстве объектов с использованием красных и зеленых точек. Синяя линия показывает границу между двумя классами. Иллюстрация из [https://www.learnopencv.com/batch-normalization-in-deep-networks/ статьи].]]
Пакетная нормализация уменьшает величину, на которую смещаются значения узлов в скрытых слоях (т.н. '''смещение [[Ковариация случайных величин|ковариацииковариантный]]сдвиг''' (англ. covariance shift)).
Ковариантный сдвиг {{---}} это ситуация, когда распределения значений признаков в обучающей и тестовой выборке имеют разные параметры (математическое ожидание, дисперсия и т.д.). Ковариантность в данном случае относится к значениям признаков. Проиллюстрируем смещение ковариации ковариантный сдвиг примером.
Пусть есть [[Глубокое обучение|глубокая нейронная сеть]], которая обучена определять находится ли на изображении роза.
И нейронная сеть была обучена на изображениях только красных роз.
Это происходит из-за того, что обучающая и тестовая выборки содержат изображения красных роз и роз различных цветов в разных пропорциях.
Другими словами, если модель обучена отображению из множества <tex>X</tex> в множество <tex>Y</tex> и если пропорция элементов в <tex>X</tex> изменяется, то появляется необходимость обучить модель заново, чтобы "выровнять" пропорции элементов в <tex>X</tex> и <tex>Y</tex>.
Когда пакеты содержат изображения разных классов, распределенные в одинаковой пропорции на всем множестве, то смещение ковариации незначительноковариантный сдвиг незначителен. Однако, когда пакеты выбираются только из одного из двух подмножеств (в данном случае, красные розы и розы различных цветов), то смещение ковариации ковариантный сдвиг возрастает.
Это довольно сильно замедляет процесс обучения модели. На Рисунке 1 изображена разница в пропорциях.
Простой способ решить проблему смещения ковариации ковариантного сдвига для входного слоя {{---}} это случайным образом перемешать данные перед созданием пакетов.
Но для скрытых слоев нейронной сети такой метод не подходит, так как распределение входных данных для каждого узла скрытых слоев изменяется каждый раз, когда происходит обновление параметров в предыдущем слое.
Эта проблема называется '''внутренним смещением ковариацииковариантным сдвигом''' (англ. internal covariate shift).
Для решения данной проблемы часто приходится использовать низкий [[Стохастический градиентный спуск|темп обучения]]<sup>[на 10.01.18 не создано]</sup> (англ. learning rate) и методы [[wikipedia:ru:Регуляризация_(математика)|регуляризации]] при обучении модели.
Другим способом устранения внутреннего смещения ковариации ковариантного сдвига является метод пакетной нормализации.
===Свойства пакетной нормализации===
Анонимный участник

Навигация