Пакетная нормализация

Из Википедии, бесплатной энциклопедии

Пакетная нормализация (также известная как пакетная норма ) — это метод, используемый для более быстрого и стабильного обучения искусственных нейронных сетей за счет нормализации входных данных слоев путем повторного центрирования и повторного масштабирования. Его предложили Сергей Иоффе и Кристиан Сегеди в 2015 году. [1]

Хотя эффект нормализации партий очевиден, причины ее эффективности остаются дискуссионными. Считалось, что это может смягчить проблему внутреннего ковариатного сдвига , когда инициализация параметров и изменения в распределении входных данных каждого слоя влияют на скорость обучения сети. [1] Недавно некоторые ученые заявили, что пакетная нормализация не уменьшает внутренний ковариатный сдвиг, а скорее сглаживает целевую функцию , что, в свою очередь, улучшает производительность. [2] Однако при инициализации пакетная нормализация фактически вызывает сильный взрыв градиента в глубоких сетях, который смягчается только пропуском соединений в остаточных сетях. [3] Другие утверждают, что пакетная нормализация обеспечивает развязку по длине и тем самым ускоряет работу нейронных сетей . [4]

Внутренний сдвиг ковариатный

Каждый слой нейронной сети имеет входы с соответствующим распределением, на которое в процессе обучения влияет случайность инициализации параметров и случайность входных данных. Влияние этих источников случайности на распределение входных данных по внутренним слоям во время обучения описывается как внутренний ковариатный сдвиг . Хотя четкое и точное определение, по-видимому, отсутствует, явление, наблюдаемое в экспериментах, представляет собой изменение средних и дисперсий входных данных для внутренних слоев во время обучения.

Первоначально пакетная нормализация была предложена для смягчения внутреннего ковариатного сдвига. [1] На этапе обучения сетей, когда параметры предыдущих слоев изменяются, распределение входных данных для текущего уровня соответственно меняется, так что текущему уровню необходимо постоянно приспосабливаться к новым распределениям. Эта проблема особенно серьезна для глубоких сетей, поскольку небольшие изменения в более мелких скрытых слоях будут усиливаться по мере их распространения внутри сети, что приведет к значительному сдвигу в более глубоких скрытых слоях. Поэтому предлагается метод пакетной нормализации, чтобы уменьшить эти нежелательные сдвиги, ускорить обучение и создать более надежные модели.

Считается, что помимо уменьшения внутреннего сдвига ковариат нормализация партий дает множество других преимуществ. Благодаря этой дополнительной операции сеть может использовать более высокую скорость обучения без исчезновения или взрыва градиентов. Более того, пакетная нормализация, по-видимому, оказывает регуляризирующий эффект, так что сеть улучшает свои свойства обобщения, и поэтому нет необходимости использовать отсев для уменьшения переобучения . Также было замечено, что сеть становится более устойчивой к различным схемам инициализации и скорости обучения при использовании пакетной нормализации.

Процедуры [ править ]

Трансформация [ править ]

В нейронной сети пакетная нормализация достигается за счет этапа нормализации, который фиксирует средние значения и дисперсии входных данных каждого слоя. В идеале нормализация должна проводиться по всей обучающей выборке, но для использования этого шага совместно с методами стохастической оптимизации использовать глобальную информацию нецелесообразно. Таким образом, нормализация ограничивается каждой мини-партией в процессе обучения.

Давайте использовать B для обозначения мини-пакета размера m всего обучающего набора. эмпирическое среднее значение и дисперсию B Таким образом , можно обозначить как

и .

Для слоя сети с d- мерным входом , каждое измерение его входных данных затем нормализуется (т.е. повторно центрируется и масштабируется) отдельно,

, где и ; и — среднее значение по измерению и стандартное отклонение соответственно.

добавляется в знаменатель для численной устойчивости и является сколь угодно малой константой. Результирующая нормализованная активация иметь нулевое среднее и единичную дисперсию, если не учитывается. Чтобы восстановить репрезентативную способность сети, следует следующий этап преобразования:

,

где параметры и впоследствии изучаются в процессе оптимизации.

Формально операция, реализующая пакетную нормализацию, представляет собой преобразование называется пакетным нормализующим преобразованием. Результат преобразования BN затем передается на другие сетевые уровни, а нормализованный вывод остается внутренним по отношению к текущему слою.

Обратное распространение ошибки [ править ]

Описанное преобразование BN является дифференцируемой операцией, и градиент потерь l по отношению к различным параметрам можно вычислить непосредственно с помощью цепного правила .

Конкретно, зависит от выбора функции активации , а градиент относительно других параметров может быть выражен как функция :

,

, ,
, ,

и .

Вывод [ править ]

На этапе обучения этапы нормализации зависят от мини-пакетов, чтобы обеспечить эффективное и надежное обучение. Однако на этапе вывода эта зависимость уже бесполезна. Вместо этого шаг нормализации на этом этапе вычисляется с использованием статистики населения, так что выходные данные могут детерминированным образом зависеть от входных данных. Население означает, и дисперсия, , вычисляются как:

, и .

Таким образом, демографическая статистика представляет собой полное представление мини-партий.

Таким образом, преобразование BN на этапе вывода становится

,

где передается будущим слоям вместо . Поскольку параметры в этом преобразовании фиксированы, процедура пакетной нормализации по существу применяет линейное преобразование к активации.

Теория [ править ]

Хотя пакетная нормализация стала популярной благодаря своей высокой эмпирической эффективности, рабочий механизм метода еще не до конца понятен. Объяснение, данное в оригинальной статье [1] заключалось в том, что пакетная норма работает за счет уменьшения внутреннего сдвига ковариат, но это было поставлено под сомнение в более поздних работах. Один эксперимент [2] обучил сеть VGG-16 [5] в трех различных режимах обучения: стандартном (без пакетной нормы), пакетной норме и пакетной норме с добавлением шума к каждому слою во время обучения. В третьей модели шум имеет ненулевое среднее и неединичную дисперсию, т. е. он явно вносит ковариатный сдвиг. Несмотря на это, она показала точность, аналогичную второй модели, и обе работали лучше, чем первая, что позволяет предположить, что сдвиг ковариации не является причиной того, что норма партии улучшает производительность.

Использование пакетной нормализации приводит к тому, что элементы в пакете больше не являются iid , что может привести к трудностям в обучении из-за более низкого качества оценки градиента. [6]

Гладкость [ править ]

Одно альтернативное объяснение, [2] заключается в том, что улучшение при пакетной нормализации вместо этого связано с созданием более гладкого пространства параметров и более плавных градиентов, что формализуется меньшей константой Липшица .

Рассмотрим две идентичные сети: одна содержит слои пакетной нормализации, а другая — нет. Затем поведение этих двух сетей сравнивается. Обозначим функции потерь как и , соответственно. Пусть вход в обе сети будет , и результат будет , для которого , где — это веса слоев. Для второй сети дополнительно проходит через уровень пакетной нормализации. Обозначим нормированную активацию как , который имеет нулевое среднее значение и единичную дисперсию. Пусть преобразованная активация будет и предположим и являются константами. Наконец, обозначим стандартное отклонение для мини-партии. как .

Во-первых, можно показать, что величина градиента пакетной нормализованной сети , ограничено, причем граница выражается как

.

Поскольку величина градиента представляет собой липшицевость потерь, это соотношение указывает на то, что нормализованная партиями сеть может сравнительно достичь большей липшицевости. Обратите внимание, что граница становится ужесточена, когда градиент коррелирует с активацией , что является обычным явлением. Масштабирование также имеет большое значение, поскольку дисперсия часто велика.

Во-вторых, квадратичная форма гессиана потерь относительно активации в направлении градиента может быть ограничена как

.

Масштабирование указывает на то, что гессиан потерь устойчив к дисперсии мини-партии, тогда как второй член в правой части предполагает, что он становится более сглаженным, когда гессиан и внутренний продукт неотрицательны. Если потеря локально выпукла , то гессиан является положительно полуопределенным , а скалярный продукт положителен, если направлена ​​к минимуму потерь. Таким образом, на основе этого неравенства можно сделать вывод, что градиент обычно становится более предсказуемым при использовании слоя пакетной нормализации.

Затем следует перевести границы, связанные с потерями по отношению к нормализованной активации, в границу потерь по отношению к весам сети:

, где и .

В дополнение к более гладкому ландшафту также показано, что пакетная нормализация может привести к лучшей инициализации со следующим неравенством:

, где и — локальные оптимальные веса для двух сетей соответственно.

Некоторые ученые утверждают, что приведенный выше анализ не может полностью отразить эффективность пакетной нормализации, поскольку доказательство касается только наибольшего собственного значения или, что то же самое, одного направления в ландшафте во всех точках. Предполагается, что для проведения окончательного анализа необходимо учитывать полный собственный спектр. [4]

[2]

Измерить [ править ]

Поскольку предполагается, что слои пакетной нормализации могут уменьшить внутренний ковариатный сдвиг, эксперимент [ нужна цитата ] настроен для количественного измерения того, насколько уменьшается ковариатный сдвиг. Во-первых, понятие внутреннего ковариатного сдвига необходимо определить математически. В частности, чтобы количественно оценить корректировку, которую вносят параметры слоя в ответ на обновления в предыдущих слоях, измеряется корреляция между градиентами потерь до и после обновления всех предыдущих слоев, поскольку градиенты могут фиксировать сдвиги от обучения первого порядка. метод. Если сдвиг, вносимый изменениями в предыдущих слоях, невелик, то корреляция между градиентами будет близка к 1.

Корреляция между градиентами рассчитывается для четырех моделей: стандартной сети VGG, [5] сеть VGG со слоями пакетной нормализации, 25-слойная глубокая линейная сеть (DLN), обученная с помощью полнопакетного градиентного спуска, и сеть DLN со слоями пакетной нормализации. Интересно, что показано, что стандартные модели VGG и DLN имеют более высокую корреляцию градиентов по сравнению со своими аналогами, что указывает на то, что дополнительные слои пакетной нормализации не уменьшают внутренний ковариатный сдвиг.

Исчезновение/взрыв градиентов [ править ]

Несмотря на то, что пакетная норма изначально была введена для облегчения проблем с исчезновением градиента или взрывом , глубокая сеть пакетной нормы на самом деле страдает от взрыва градиента во время инициализации, независимо от того, что она использует для нелинейности. Таким образом, ландшафт оптимизации очень далек от гладкости для случайно инициализированной сети с глубокими пакетными нормами. Точнее, если в сети есть слоев, то градиент весов первого слоя имеет норму для некоторых зависит только от нелинейности. Для любой фиксированной нелинейности уменьшается по мере увеличения размера партии. Например, для ReLU уменьшается до поскольку размер партии стремится к бесконечности. На практике это означает, что сети с глубокими пакетными нормами не поддаются обучению. Это облегчается только пропуском соединений в виде остаточных сетей. [3]

Этот градиентный взрыв на поверхности противоречит свойству гладкости, объясненному в предыдущем разделе, но на самом деле они непротиворечивы. В предыдущем разделе изучается эффект от вставки одной пакетной нормы в сеть, в то время как взрыв градиента зависит от наложения пакетных норм, типичного для современных глубоких нейронных сетей.

Развязка [ править ]

Другая возможная причина успеха пакетной нормализации заключается в том, что она отделяет длину и направление весовых векторов и, таким образом, способствует лучшему обучению.

Интерпретируя пакетную норму как репараметризацию весового пространства, можно показать, что длина и направление весов разделены и, следовательно, могут обучаться отдельно. Для конкретного блока нейронной сети с входом и вектор веса , обозначим его выход как , где – функция активации, и обозначим . Предположим, что , и что спектр матрицы ограничен как , , такой, что является симметричным положительно определенным. Таким образом, добавление нормализации партии к этой единице приводит к

, по определению.

Термин дисперсия можно упростить так, что . Предположим, что имеет нулевое среднее и можно опустить, то отсюда следует, что

, где – индуцированная норма , .

Следовательно, можно было сделать вывод, что , где , и и отдельно учитывается его длина и направление. Это свойство затем можно было бы использовать для доказательства более быстрой сходимости задач при пакетной нормализации.

Линейная сходимость [ править ]

Задача наименьших квадратов [ править ]

С помощью интерпретации репараметризации затем можно было бы доказать, что применение пакетной нормализации к обычной задаче наименьших квадратов позволяет достичь линейной скорости сходимости при градиентном спуске, что быстрее, чем обычный градиентный спуск с только сублинейной сходимостью.

Обозначим цель минимизации обычной задачи наименьших квадратов как

, где и .

С , цель, таким образом, становится

, где 0 исключен, чтобы избежать 0 в знаменателе.

Поскольку цель выпукла относительно , его оптимальное значение можно рассчитать, установив частную производную цели от до 0. Цель можно еще упростить и

.

Обратите внимание, что эта цель представляет собой форму обобщенного коэффициента Рэлея.

, где является симметричной матрицей и — симметричная положительно определенная матрица.

Доказано, что скорость сходимости обобщенного фактора Рэлея по градиентному спуску равна

, где является наибольшим собственным значением , является вторым по величине собственным значением , и является наименьшим собственным значением . [7]

В нашем случае является матрицей ранга один, и результат сходимости можно соответствующим образом упростить. В частности, рассмотрим шаги градиентного спуска в форме с размером шага , и начиная с , затем

.

полупространства проблемы Изучение

Проблема изучения полупространств относится к обучению перцептрона , который является простейшей формой нейронной сети. Задача оптимизации в этом случае состоит в следующем.

, где и — произвольная функция потерь.

Предположим, что бесконечно дифференцируема и имеет ограниченную производную. Предположим, что целевая функция является - гладко , и это решение существует и ограничено так, что . Также предположим многомерная нормальная случайная величина . Используя предположение Гаусса, можно показать, что все критические точки лежат на одной прямой при любом выборе функции потерь. . В частности, градиент может быть представлено как

, где , , и это -я производная от .

Таким образом, установив градиент равным 0, следует, что ограниченные критические точки может быть выражено как , где зависит от и . Таким образом, объединив это глобальное свойство с развязкой в ​​направлении длины, можно доказать, что эта задача оптимизации сходится линейно.

Во-первых, вариант градиентного спуска с пакетной нормализацией, Градиентный спуск в нормализованной параметризации (GDNP), предназначен для целевой функции. , так что направление и длина весов обновляются отдельно. Обозначим критерий остановки GDNP как

.

Пусть размер шага будет

.

Для каждого шага, если , затем обновите направление как

.

Затем обновите длину в соответствии с

, где — классический алгоритм деления пополам , и — общее количество итераций, выполненных на этапе деления пополам.

Обозначим общее количество итераций как , то конечный результат GDNP будет

.

Таким образом, алгоритм GDNP немного модифицирует этап пакетной нормализации для упрощения математического анализа.

Можно показать, что в GDNP частная производная от против компонента длины сходится к нулю с линейной скоростью, так что

, где и являются двумя отправными точками алгоритма деления пополам слева и справа соответственно.

Далее для каждой итерации норма градиента относительно сходится линейно, так что

.

Таким образом, объединив эти два неравенства, можно получить оценку градиента по отношению к :

, так что алгоритм гарантированно сходится линейно.

Хотя доказательство основано на предположении о гауссовском входе, эксперименты также показывают, что GDNP может ускорить оптимизацию без этого ограничения.

Нейронные сети [ править ]

Рассмотрим многослойный перцептрон (MLP) с одним скрытым слоем и скрытые модули с отображением из ввода к скалярному выходу, описываемому как

, где и - это входные и выходные веса единицы соответственно, и является функцией активации и предполагается, что это функция tanh .

Затем входные и выходные веса можно оптимизировать с помощью

, где представляет собой функцию потерь, , и .

Считайте фиксированным и только оптимизация , можно показать, что критические точки конкретного скрытого блока , , все выравниваются по одной линии в зависимости от поступающей информации в скрытый слой, так что

, где является скаляром, .

Этот результат можно доказать, установив градиент к нулю и решению системы уравнений.

Примените алгоритм GDNP к этой задаче оптимизации, чередуя оптимизацию различных скрытых единиц. В частности, для каждого скрытого блока запустите GDNP, чтобы найти оптимальный и . При том же выборе критерия остановки и размера шага отсюда следует, что

.

Поскольку параметры каждой скрытой единицы сходятся линейно, вся задача оптимизации имеет линейную скорость сходимости. [4]

Ссылки [ править ]

  1. ^ Перейти обратно: а б с д Иоффе, Сергей; Сегеди, Кристиан (2015). «Пакетная нормализация: ускорение глубокого обучения сети за счет уменьшения внутреннего ковариатного сдвига». arXiv : 1502.03167 [ cs.LG ].
  2. ^ Перейти обратно: а б с д Сантуркар, Шибани; Ципрас, Димитрис; Ильяс, Андрей; Мадри, Александр (29 мая 2018 г.). «Как пакетная нормализация помогает оптимизации?». arXiv : 1805.11604 [ stat.ML ].
  3. ^ Перейти обратно: а б Ян, Грег; Пеннингтон, Джеффри; Рао, Винай; Золь-Дикштейн, Яша; Шенхольц, Сэмюэл С. (2019). «Теория среднего поля пакетной нормализации». arXiv : 1902.08129 [ cs.NE ].
  4. ^ Перейти обратно: а б с Колер, Йонас; Данешманд, Хади; Лукки, Орельен; Чжоу, Мин; Неймейр, Клаус; Хофманн, Томас (27 мая 2018 г.). «Экспоненциальная скорость сходимости для пакетной нормализации: сила разделения по длине в невыпуклой оптимизации». arXiv : 1805.10694 [ stat.ML ].
  5. ^ Перейти обратно: а б Симонян, Карен; Эндрю, Зиссерман (2014). «Сети очень глубокой свертки для крупномасштабного распознавания изображений». arXiv : 1409.1556 [ cs.CV ].
  6. ^ Ба, Дж., Кирос, младший и Хинтон, GE (2016). Нормализация слоев. АрХив, абс/1607.06450.
  7. ^ Князев, Неймейр, А.В., К. (2003). «Геометрическая теория для предварительно обусловленной обратной итерации III: короткая и точная оценка сходимости для обобщенных задач на собственные значения» . Линейная алгебра и ее приложения . 358 (1–3): 95–114. дои : 10.1016/S0024-3795(01)00461-X . {{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )

Дальнейшее чтение [ править ]

  • Иоффе, Сергей; Сегеди, Кристиан (2015). «Пакетная нормализация: ускорение глубокого обучения сети за счет уменьшения внутреннего ковариатного сдвига», ICML'15: Материалы 32-й Международной конференции по машинному обучению - Том 37, июль 2015 г., страницы 448–456
  • Симонян, Карен; Зиссерман, Эндрю (2014). «Очень глубокие сверточные сети для крупномасштабного распознавания изображений». arXiv : 1409.1556 [ cs.CV ].