Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Мотивация: феномен внутреннего ковариатного сдвига [ править ]

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

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

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

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

[3]

Пакетное нормализующее преобразование [ править ]

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

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

, и .

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

, где и ; и - среднее значение и дисперсия по измерениям соответственно.

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

,

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

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

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

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

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

,

, , , ,

и .

Вывод с пакетно-нормализованными сетями [ править ]

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

, и .

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

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

,

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

Понимание пакетной нормализации [ править ]

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

Пакетная нормализация и внутренний ковариальный сдвиг [4] [ править ]

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

Добавление ковариатного сдвига к слоям пакетной нормализации [ править ]

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

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

Измерение внутреннего ковариального сдвига с использованием слоев пакетной нормализации и без них [ править ]

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

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

Гладкость оптимизационного ландшафта [4] [ править ]

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

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

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

.

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

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

.

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

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

, где и .

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

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

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

Контринтуитивная грубость оптимизационного ландшафта при инициализации [5] [ править ]

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

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

Развязка направления длины [6] [ править ]

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

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

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

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

, Где это индуцированная норма , .

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

Линейная сходимость задачи наименьших квадратов с пакетной нормализацией [ править ]

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

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

, где .

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

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

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

.

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

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

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

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

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

.

Линейная сходимость задачи обучения полупространству с пакетной нормализацией [ править ]

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

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

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

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

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

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

.

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

.

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

.

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

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

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

.

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

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

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

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

.

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

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

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

Линейная конвергенция нейронных сетей с пакетной нормализацией [ править ]

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

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

Затем веса ввода и вывода могут быть оптимизированы с помощью

, Где функция потери, и .

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

, Где есть скаляр, .

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

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

.

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

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

  1. ^ «Глоссарий глубокого обучения: пакетная нормализация» . medium.com . 2017-06-27 . Проверено 24 апреля 2018 года .
  2. ^ «Пакетная нормализация в нейронных сетях» . todatascience.com . 2017-10-20 . Проверено 24 апреля 2018 года .
  3. ^ a b c d Иоффе, Сергей; Сегеди, Кристиан (2015). «Пакетная нормализация: ускорение глубокого обучения сети за счет уменьшения внутреннего ковариального сдвига». arXiv : 1502.03167 [ cs.LG ].
  4. ^ a b c d e Сантуркар, Шибани; Ципрас, Димитрис; Ильяс, Андрей; Мадры, Александр (29.05.2018). «Как пакетная нормализация помогает оптимизации?». arXiv : 1805.11604 [ stat.ML ].
  5. ^ a b Ян, Грег; Пеннингтон, Джеффри; Рао, Винай; Золь-Дикштейн, Яша; Шёнхольц, Самуэль С. (2019). «Теория среднего поля пакетной нормализации». arXiv : 1902.08129 [ cs.NE ].
  6. ^ a b c d Колер, Йонас; Данешманд, Хади; Лучки, Орелиен; Чжоу, Мин; Неймейр, Клаус; Хофманн, Томас (27.05.2018). «Экспоненциальные скорости сходимости для пакетной нормализации: мощность разделения длины и направления в невыпуклой оптимизации». arXiv : 1805.10694 [ stat.ML ].
  7. ^ Князев, Neymeyr, А. В., К. (2003). "Геометрическая теория для предварительно обусловленной обратной итерации III: короткая и точная оценка сходимости для обобщенных задач на собственные значения" . Линейная алгебра и ее приложения . 358 (1–3): 95–114. DOI : 10.1016 / S0024-3795 (01) 00461-X .
  • Иоффе, Сергей; Сегеди, Кристиан (2015). «Пакетная нормализация: ускорение глубокого обучения сети за счет уменьшения внутреннего ковариантного сдвига», ICML'15: Материалы 32-й Международной конференции по машинному обучению - Том 37, июль 2015 г. Стр. 448–456