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

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

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

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

Мотивация: феномен внутреннего ковариатного сдвига.

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

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

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

Процедуры[3]

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

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

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

, и .

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

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

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

,

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

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

Обратное распространение

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

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

,

, ,
, ,

и .

Логический вывод с пакетно-нормализованными сетями

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

, и .

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

Таким образом, преобразование 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 в знаменателе.

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

.

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

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

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

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

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

.

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

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

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

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

, куда , , и это -я производная от .

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

Во-первых, вариант градиентный спуск с пакетной нормализацией, Gradient Descent in Normalized Paramterization (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. ^ а б c d Иоффе, Сергей; Сегеди, Кристиан (2015). «Пакетная нормализация: ускорение глубокого обучения сети за счет уменьшения внутреннего ковариального сдвига». arXiv:1502.03167 [cs.LG ].
  4. ^ а б c d е Сантуркар, Шибани; Ципрас, Димитрис; Ильяс, Андрей; Мадры, Александр (29.05.2018). «Как пакетная нормализация помогает оптимизации?». arXiv:1805.11604 [stat.ML ].
  5. ^ а б Ян, Грег; Пеннингтон, Джеффри; Рао, Винай; Золь-Дикштейн, Яша; Шёнхольц, Самуэль С. (2019). «Теория среднего поля пакетной нормализации». arXiv:1902.08129 [cs.NE ].
  6. ^ а б c d Колер, Йонас; Данешманд, Хади; Лучки, Орелиен; Чжоу, Мин; Неймейр, Клаус; Хофманн, Томас (27.05.2018). «Экспоненциальные скорости сходимости для пакетной нормализации: мощность разделения длины и направления в невыпуклой оптимизации». arXiv:1805.10694 [stat.ML ].
  7. ^ Князев, Неймейр, А.В., К. (2003). «Геометрическая теория для предварительно обусловленной обратной итерации III: краткая и точная оценка сходимости для обобщенных задач на собственные значения». Линейная алгебра и ее приложения. 358 (1–3): 95–114. Дои:10.1016 / S0024-3795 (01) 00461-X.
  • Иоффе, Сергей; Сегеди, Кристиан (2015). «Пакетная нормализация: ускорение глубокого обучения сети за счет уменьшения внутреннего ковариантного сдвига», ICML'15: Материалы 32-й Международной конференции по машинному обучению - Том 37, июль 2015 г. Стр. 448–456