Пакетная нормализация (также известная как пакетная нормализация ) - это метод, использование для создания искусственные нейронные сети быстрее и стабильнее за счет настройки входного слоя повторного центрирования и повторного масштабирования. Он был предложен Сергеем Иоффе и Кристианом Сегеди в 2015 году.
Хотя эффект пакетной нормализации очевиден, причины его остаются предметом обсуждения. Считается, что это может смягчить проблему внутреннего ковариатного сдвига, когда инициализация параметров и изменений в распределении входов каждого уровня на скорость обучения сети. Увеличивает производительность, недавно некоторые утверждают, что улучшила производительность. Однако при инициализации пакетной процедуры по вызову серьезный взрыв градиента в глубоких сетях, который смягчается только пропуском соединений в остаточных сетях. Другие утверждают, что пакетная нормализация обеспечивает разделение длины и направления и тем самым ускоряет нейронные сети.
После пакетной нормы были введены многие другие методы внутриуровневой нормализации, такие как нормализация экземпляра, нормализация слоя, нормализация группы.
Каждый уровень нейронной сети имеет входы с корр. соответствующее распределение, которое происходит в процессе обучения, влияет на случайность в инициализации и случайность во входных данных. Влияние этих ресурсов на распределение входных данных во внутренние слои во время обучения описывается как внутренний ковариативный сдвиг . Хотя четкое определение, похоже, отсутствует, наблюдается наблюдаемый в экспериментах, - это изменение средних значений и дисперсии входных данных во внутренних слоях во время обучения.
Первоначально предложена пакетная нормализация для уменьшения внутреннего ковариантного сдвига. На этапе обучения сетей, когда параметры разных слоев изменяются, изменяется и формируется текущий слой данных для текущего уровня, так что текущий слой должен постоянно подстраиваться под новые распределения. Эта проблема особенно серьезна для глубоких сетей, потому что небольшие изменения в более мелких скрытых слоях будут усиливаться по мере их распространения в сети, что приводит к значительному сдвигу в более глубоких скрытых слоях. Предложите метод пакетной стабилизации, чтобы уменьшить эти удобные сдвиги, чтобы ускорить обучение и создать более надежные модели.
Считается, что помимо уменьшения внутреннего ковариатного сдвига, пакетная нормализация привносит много других преимуществ. С помощью этой дополнительной операции может использоваться более скорость обучения без исчезновения или увеличения градиентов. Кроме того, пакетная нормализация, по-видимому, имеет регуляризирующий эффект, так что сеть улучшает свои общие свойства, таким образом, нет необходимости использовать dropout для уменьшения переобучения. Также было замечено, что с пакетной нормой сеть становится более устойчивой к схемам инициализации и скорости обучения.
В нейронной сети пакетная нормализация достигается с помощью шага нормализации, который фиксирует средние и дисперсии входных данных каждого уровня. В идеале нормализация должна проводиться по всему обучающему набору, но для использования этого шага совместно с методами стохастической оптимизации непрактично использовать глобальную информацию. Таким образом, нормализация ограничивается каждой мини-серией в процессе обучения.
Используйте B для обозначения минипакета размером всего обучающего набора. Таким образом, эмпирическое среднее и дисперсия B можно обозначить как
и .
Для уровня сети с d-мерным входом , каждое измерение его входных данных нормализуется (т.е. повторно центрируется и масштабируется) отдельно,
, где и ; и - это среднее значение а и дисперсия соответственно.
добавляется в знаменатель для числовой стабильности и произвольно малой константой. Полученная нормализованная активация имеет нулевое среднее значение и единичную дисперсию, если не учитывается. Чтобы восстановить репрезентативную мощность сети, затем следует этап преобразования:
,
где параметры и имеют изучаются при оптимизации.
Формально операция, реализующая пакетную нормализацию, представляет собой преобразование вызывает преобразование пакетной нормализации. Результат преобразования BN затем передается на другие сетевые уровни, тогда как нормализованный вывод остается внутренним по отношению к текущему слою.
Описанное преобразование BN дифференцируемой операцией, и градиент потерь l по отношению к различным параметрам может быть вычислен непосредственно с помощью правила цепочки.
В частности, зависит от выбора функции активации, а градиент по отношению к другим параметрам может быть выражен как функция от :
,
, ,. , ,
и .
На этапе обучения шагов нормализации использования от мини-пакетов для эффективного и надежного обучения. Однако на этапе вывода этой зависимости больше не используется. Вместо этого этапа измерения на этом этапе вычисляются выходные данные из входных данных детерминированным образом. Среднее значение генеральной совокупности и дисперсия , вычисляются как:
и .
Таким образом, статистика является полным представлением мини-партий.
Таким образом, преобразование BN на этапе вывода становится
,
где передается будущим слоям вместо . В этом преобразовании параметры фиксированы, процедура пакетной стабилизации по существу применяет активацию линейное преобразование.
Хотя пакетная информация стала популярным методом из-за своих сильных сторон, рабочий механизм метода еще недостаточно понят. Ученые показывают, что внутренний ковариативный показатель не уменьшается при распространенном мнении, несмотря на распространенное мнение. Некоторые ученые приписывают хорошие показатели расчетных функций, в то время как другие предполагают, что разделение направления длины и длины являются причиной его эффективности.
Корреляция между пакетной стабилизацией и внутренним ковариальным сдвигом широко распространен, но не подтвержден экспериментальными результатами. Ученые недавно с помощью экспериментов показали, что предполагаемая связь не точна. Скорее, повышенная точность слоя пакетной стабилизации, по-видимому, не зависит от внутреннего ковариатного сдвига.
Чтобы понять, есть ли какая-либо корреляция между уменьшением ковариатного сдвига и улучшением производительности, проводится эксперимент для выясненияи. В частности, обучаются и сравниваются три модели: стандартная сеть VGG без пакетной стабилизации, сеть VGG со слоями пакетной нормализации и сеть VGG со слоями пакетной нормализации и случайным шумом. В третьей модели шум имеет ненулевое среднее значение и неединичную дисперсию и создается случайным образом для каждого слоя. Затем он добавлен после нормализации среды, чтобы добиться намеренно ковариативный сдвиг в активацию.
С этими тремя моделями два наблюдения. Во-первых, третья, зашумленная модель имеет менее стабильные распределения всех уровней по сравнению с другими моделями из-за дополнительного слоя шума. Несмотря на шум, точность обучения второй модели схожа и выше, чем у первой модели. Хотя внутренние ковариатные сдвиги больше на всех уровнях, модель с пакетной нормализацией по-прежнему работает лучше, чем стандартная модель VGG. Таким образом, можно сделать вывод, что внутренний ковариационный сдвиг не может быть фактором, влияющим на производительность пакетной нормализации.
Так как урегулирование внутреннего ковариационного сдвига уменьшает внутренний ковариационный сдвиг, проведенный эксперимент, чтобы количественно измерить, насколько большим ковариативный сдвиг. Во-первых, необходимо математически определить понятие внутреннего ковариатного сдвига. В частности, для количественной оценки корректировки, параметры слоя вносят в ответ на обновления в предыдущих слоях, измеряется корреляция между градиентами потерь до и после обновления всех предыдущих слоев, как градиенты фиксируют сдвиги от первого порядка обучения. метод.
Корреляция между градиентами вычисляется для четырех моделей: стандартные сети VGG, сети VGG со слоями пакетной нормализации, 25-слойной глубокой линейной сетью (DLN), обученной полным пакетным градиентным спуском, и DLN-сетью со слоями пакетной нормализации. Интересно, что показано, что стандартные модели VGG и DLN имеют более высокий уровень корреляции градиентов по с их аналогами, что указывает на то, что дополнительные уровни пакетной нормализации не уменьшают внутренний ковариационный сдвиг.
Некоторые ученые предложили и доказали, что пакетная нормализация может внести большую липшицевость в потери и градиент во время обучения. Эти эффекты можно наблюдать, сравнивая сети VGG, обученные с помощью пакетной стабилизации и без нее, а также согласуется с другими сетями такими как линейные глубокие сети. В частности, наблюдается, что потери меняются меньше, а градиенты имеют меньшие величины и более липшицевы. Более того, пакетные нормализованные модели сравниваются с моделями с помощью различных методов нормализации. В частности, эти методы нормализации работают, сначала фиксируя момент активации первого порядка, а затем нормализуя его на среднее значение нормы . Таким образом, эти методы имеют больший сдвиг распределения, но более плавный ландшафт. Эти модели дают такую же производительность, что и нормализованные модели. Таким образом, эта двусторонняя связь может указывать на то, что гладкость оптимизационного ландшафта может быть фактором, способствующим превосходной производительности пакетной нормализации.
Помимо экспериментального анализа этой корреляции, также предлагается теоретический анализ для проверки, что пакетная калибровка может привести к более плавному ландшафту. Рассмотрим две идентичные сети, одна из которых приводит к увеличению количества пакетов, а другая - нет, сравнивается поведение этих двух сетей. Обозначим функции потерь как и соответственно. Пусть входом в обе сети будет , а на выходе - , для которого , где - вес слоя. Для второй сети также проходит через уровень пакетной нормализации. Обозначьте нормализованную активацию как , что имеет нулевое среднее значение и единичную дисперсию. Пусть преобразованная активация будет , и предположим, что и - константы. Наконец, обозначим стандартное отклонение для мини-партии как .
Во-первых, можно показать, что величина градиента пакетной нормализованной сети, ограничен, причем граница выражена как
.
Временная величина градиента представляет липшицевость потерь, это соотношение указывает, что пакетная нормализованная сеть может сравнительно достичь большей липцевости. Обратите внимание, что граница становится более жесткой, когда градиент коррелирует с активацией , что является обычным явлением. Масштабирование также имеет значение, поскольку разброс часто бывает большим.
Во-вторых, квадратичная форма гессиана потерь относительно активации в направлении градиента может быть ограничена как
.
Масштабирование указывает, что гессиан потери устойчив к дисперсии мини-партии, тогда как второй член в правой части предполагает, что он становится более гладким, когда гессиан и внутреннее произведение неотрицательны. Если потеря локально выпуклая, то гессиан будет положительно полуопределенным, а внутреннее произведение положительно, если находится в направлении минимума потерь. Таким образом, из этого неравенства можно сделать вывод, что градиент обычно становится более предсказуемым с помощью слоя пакетной нормализации.
Затем следует перевести границы, связанные с потерями по отношению к нормализованной активации, в границу потерь по весам сети:
, где и .
В дополнение к более плавному ландшафту дополнительно показано, что пакетная нормализация может привести к лучшей инициализации при следующем неравенстве:
, где и - локальные оптимальные веса для двух сетей соответственно.
Некоторые ученые утверждают, что приведенный выше анализ не может полностью охватить производительность пакетной нормализации, потому что доказательство касается только самого большого собственного значения или, что эквивалентно, одного направления ландшафта во всех точках. Предполагается, что для проведения окончательного анализа необходимо принять во внимание полный собственный спектр.
Даже несмотря на то, что батчнорм был первоначально введен для смягчения последствий проблемы исчезновения градиента или взрыва, глубокая сеть батчнорма фактически страдает от взрыва градиента во время инициализации, независимо от того, что она использует для нелинейности. Таким образом, оптимизация для случайно инициализированной глубокой сети батчнорма очень далека от гладкости. Точнее, если сеть имеет слои , тогда градиент весов первого слоя имеет норму для некоторых в зависимости только от нелинейности. Для любой фиксированной нелинейности уменьшается по мере увеличения размера пакета. Например, для ReLU уменьшается до , поскольку размер пакета стремится к бесконечности. Фактически, это означает, что глубокие батчервячные сети необучаемы. Это облегчается только пропуском соединений в стиле остаточных сетей.
Этот взрыв градиента на поверхности противоречит свойству гладкости, описанному в предыдущем разделе, но на самом деле они согласованы. В предыдущем разделе изучается эффект вставки одного батчнорма в сеть, в то время как градиентный взрыв зависит от наложения батчнорма, типичного для современных глубоких нейронных сетей.
Утверждается, что успех пакетной нормализации может быть, по крайней мере, частично связан с эффектом разъединения в направлении длины, который обеспечивает этот метод.
Интерпретируя процедуру пакетной нормализации как повторную параметризацию весового пространства, можно показать, что длина и направление весов разделены после процедуры, и, таким образом, их можно обучать отдельно. Для конкретного модуля нейронной сети с входом и вектором весов обозначьте его выход как , где - функция активации и обозначает . Предположим, что , и что спектр матрицы ограничен как , , так что является симметричным положительно определенным. Таким образом, добавление пакетной нормализации к этому модулю приводит к
, по определению.
Термин дисперсии можно упростить так, чтобы . Предположим, что имеет нулевое среднее и может быть опущено, тогда следует, что
, где - индуцированная норма , .
Следовательно, можно сделать вывод, что , где и и учитывают его длину и направление отдельно. Это свойство затем можно было бы использовать для доказательства более быстрой сходимости проблем с пакетной нормализацией.
С помощью интерпретации повторной параметризации затем можно было бы доказать, что применение пакетной нормализации к обычной задаче наименьших квадратов обеспечивает линейную скорость сходимости в градиенте спуск, который быстрее, чем обычный градиентный спуск, только с сублинейной сходимостью.
Обозначим цель минимизации обычной задачи наименьших квадратов как
, где .
Поскольку , таким образом, цель становится
, где 0 исключен, чтобы избежать 0 в знаменателе.
Поскольку цель является выпуклой по отношению к , ее оптимальное значение можно вычислить, установив частную производную цели против до 0. Цель может быть дополнительно упрощена до
.
Обратите внимание, что эта цель является формой обобщенный фактор Рэлея
, где - симметричная матрица, а - симметричная положительно определенная матрица.
Доказано, что скорость сходимости градиентного спуска обобщенного коэффициента Рэлея равна
, где - наибольшее значение собственное значение из , - второе по величине собственное значение , а - наименьшее собственное значение .
В нашем случае - матрица первого ранга, и результат сходимости можно соответственно упростить. В частности, рассмотрим шаги градиентного спуска в форме с размером шага , и начиная с , затем
.
Проблема обучения полупространств относится к обучению персептрона, который является простейшей формой нейронной сети. Задача оптимизации в этом случае:
, где и - произвольная функция потерь.
Suppose that is infinitely differentiable and has a bounded derivative. Assume that the objective function is -smooth, and that a solution exists and is bounded such that . Also assume is a multivariate normal random variable. With the Gaussian assumption, it can be shown that all critical points lie on the same line, for any choice of loss function . Specifically, the gradient of could be represented as
, where , , and is the -th derivative of .
By setting the gradient to 0, it thus follows that the bounded critical points can be expressed as , where depends on and . Combining this global property with length-direction decoupling, it could thus be proved that this optimization problem converges linearly.
First, a variation of gradient descent with batch normalization, Gradient Descent in Normalized Paramterization (GDNP), is designed for the objective function , such that the direction and length of the weights are updated separately. Denote the stopping criterion of GDNP as
.
Let the step size be
.
Для каждого шага, если , затем обновите направление как
.
Затем обновите длину в соответствии с
, где - классический алгоритм деления пополам, а - общее количество итераций, выполненных на этапе деления пополам.
Обозначьте общее количество итераций как , тогда окончательный результат GDNP будет
.
Таким образом, алгоритм GDNP немного изменяет этап пакетной нормализации для упрощения математического анализа.
Можно показать, что в GDNP частная производная по компоненту длины сходится к нулю с линейной скоростью, например что
, где и - две начальные точки алгоритма деления пополам слева и справа, соответственно.
Кроме того, для каждой итерации уровня градиента относительно сходится линейно, так что
.
Объединение этих двух неравенства, таким образом, может получена граница градиента относительно :
, что гарантирует линейную сходимость алгоритма.
Хотя доказано, что предположение о гауссовском вводе, в экспериментах также показано, что GDNP может ускорить оптимизацию без ограничения.
Рассмотрим многослойный персептрон (MLP) с одним скрытым слоем и скрытые блоки с отображением из входа в скалярный вывод, описанный как
, где и - вес входа и выхода единицы соответственно, и - функция активации и обязательством, что это tanh-функция.
, тогда вес входа и выхода могут быть оптимизированы с помощью
, где - функция потерь, и .
Считайте фиксированным и оптимизируя только , можно показать, что критические точки определенного скрытого объекта , , все выравниваются по одной линии в зависимости от входящей информации в скрытый слой, так что
, где - скаляр, .
Этот результат можно проверить, установив градиент равным нулю и решение уравнений системы.
Примените алгоритм GDNP к этой задаче оптимизации, поочередно оптимизируя различные скрытые блоки. В частности, для каждого скрытого блока запустите GDNP, чтобы найти оптимальные и . При таком же выборе критерия остановки и размера шага следует, что
.
Временные параметры каждой скрытой единицы сходятся линейно, вся задача оптимизации имеет линейную скорость сходимости.