Batch-normalization — различия между версиями
Строка 1: | Строка 1: | ||
'''Нормализация батчей''' (англ. batch-normalization) {{---}} это метод, который позволяет повысить производительность и стабилизировать работу искусственных нейронных сетей. Суть данного метода заключается в том, что некоторым слоям нейронной сети на вход подаются данные, предварительно обработанные и имеющие нулевое среднее значение и единичную дисперсию. Впервые данный метод был представлен в <ref>https://arxiv.org/pdf/1502.03167.pdf</ref>. | '''Нормализация батчей''' (англ. batch-normalization) {{---}} это метод, который позволяет повысить производительность и стабилизировать работу искусственных нейронных сетей. Суть данного метода заключается в том, что некоторым слоям нейронной сети на вход подаются данные, предварительно обработанные и имеющие нулевое среднее значение и единичную дисперсию. Впервые данный метод был представлен в <ref>https://arxiv.org/pdf/1502.03167.pdf</ref>. | ||
+ | |||
+ | ==Идея== | ||
==Описание метода== | ==Описание метода== | ||
Строка 26: | Строка 28: | ||
<tex>y_{i} = \gamma \hat{x}_{i} + \beta \equiv BN_{\gamma, \beta}(x_{i}) </tex> // сжатие и сдвиг | <tex>y_{i} = \gamma \hat{x}_{i} + \beta \equiv BN_{\gamma, \beta}(x_{i}) </tex> // сжатие и сдвиг | ||
+ | ==Обучение нейронных сетей с нормализацией батчей== | ||
+ | |||
+ | ==Нормализация батчей в свёрточных сетях== | ||
+ | |||
+ | ==Примеры== | ||
+ | ==Реализации== | ||
== Примечания == | == Примечания == | ||
<references/> | <references/> |
Версия 22:54, 7 января 2019
Нормализация батчей (англ. batch-normalization) — это метод, который позволяет повысить производительность и стабилизировать работу искусственных нейронных сетей. Суть данного метода заключается в том, что некоторым слоям нейронной сети на вход подаются данные, предварительно обработанные и имеющие нулевое среднее значение и единичную дисперсию. Впервые данный метод был представлен в [1].
Содержание
Идея
Описание метода
Опишем устройство метода нормализации батчей. Пусть, на вход некоторому слою нейронной сети поступает вектор размерности
: . Нормализуем данный вектор по каждой размерности :,
где математическое ожидание и дисперсия считаются по всей обучающей выборке. Такая нормализация входа слоя нейронной сети может изменить представление данных в слое. Чтобы избежать данной проблемы, вводятся два параметра сжатия и сдвига нормализованной величины для каждого
: , — которые действуют следующим образом:.
Данные параметры настраиваются в процессе обучения вместе с остальными гиперпараметрами модели.
Пусть, обучение модели производится с помощью батчей
размера : . Здесь нормализация применяется к каждой компоненте входа с номером отдельно, поэтому в индекс опускается для ясности изложения. Пусть, были получены нормализованные значения батча . Далее, после применения операций сжатия и сдвига были получены . Обозначим данную функцию нормализации батчей следующим образом:
Тогда, алгоритм нормализации батчей можно представить так:
Вход: значенияиз батча ; настраиваемые параметры ; константа для вычислительной устойчивости. Выход: // математическое ожидание батча // дисперсия батча // нормализация // сжатие и сдвиг