Получение оптимальной начальной дисперсии весовых матриц в слоях нейронной сети с функцией активации ReLU

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

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

В «Углубление в выпрямители: превосходство на уровне человека в классификации ImageNet»¹⁾ He et al. (2015) авторы представляют методологию оптимальной инициализации слоев нейронной сети с использованием функции активации ReLU. Этот метод позволяет запускать нейронную сеть в режиме с постоянной дисперсией между входными и выходными данными как в отношении прямых, так и обратных проходов, что эмпирически показало значительное улучшение стабильности и скорости обучения. В следующих разделах мы предоставим подробный и полный вывод о методе инициализации He.

Обозначение

  • Слой нейронной сети, состоящий из матрицы весов Wₖ и вектора смещения bₖ, подвергается двум последовательным преобразованиям. Первое преобразование: yₖ = xₖ Wₖ + bₖ, а второе — xₖ ₊ ₁ = f(yₖ)
  • xₖ — фактический слой, а yₖ — слой предварительной активации.
  • Слой состоит из nₖединиц, поэтомуxₖ ∈ ℝⁿ⁽⁾, Wₖ ∈ ℝⁿ⁽˙ⁿ⁽ᵏ ⁺ ¹⁾, bₖ ∈ℝⁿ⁽ᵏ ⁺ ¹
  • xₖWₖ + bₖимеет размерность ( 1 × nₖ ) × ( nₖ × nₖ ₊) + 1 × nₖ ₊= 1 × пₖ ₊
  • Функция активации f применяется поэлементно и не меняет форму вектора. В результате xₖ ₊= f(xₖ Wₖ+ bₖ)∈ ℝⁿ⁽ᵏ ⁺ ¹
  • Для нейронной сети глубины n входной слой представлен как x₀, а выходной слой — как xₙ.
  • Функция потерь сети представлена ​​как L
  • Δx = ∂L/∂xобозначает градиенты функции потерь относительно вектора x

Предположения

  • Предположение 1:
    Мы предполагаем, что для этой инициализации установлена ​​нелинейная функция активации ReLU, определенная как f(x) = ReLU(x) = max(0,x). Поскольку функция определена отдельно для двух интервалов, ее производная имеет значение 1 на строго положительной половине и 0 на строго отрицательной половине. Технически производная ReLU не определяется в 0 из-за того, что пределы обеих сторон не равны, то есть f'(0⁻) = 0 ≠ 1 = f'(0 ⁺). На практике для целей обратного распространения ReLU’(0) принимается равным 0.
  • Предположение 2:
    Предполагается, что все входные данные, веса и слои в нейронной сети независимы и одинаково распределены (iid) при инициализации, а также градиенты.
  • Предположение 3.
    Предполагается, что входные данные нормализованы с нулевым средним значением, а веса и смещения инициализированы из симметричного распределения с центром в нуле, т.е. 𝔼[x₀] = 𝔼[Wₖ] = 𝔼[bₖ] = 0. Это означает, что и xₖ, и yₖ имеют нулевое математическое ожидание при инициализации, а yₖ имеет симметричное распределение при инициализации из-за f(0) = 0.

Мотивация

Целью этого доказательства является определение распределения матрицы весов путем нахождения Var[W] с учетом двух ограничений:

  1. k, Var[yₖ] = Var[yₖ ₋], т.е. постоянная дисперсия прямого сигнала
  2. k, Var[Δxₖ] = Var[Δxₖ ₊], т.е.постоянная дисперсия обратного сигнала

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

Мотивация, а также выводы в этой статье следуют статье Ксавьера Глорота об инициализации⁽²⁾, опубликованной пятью годами ранее. В то время как в предыдущей работе используются слои после активации для постоянной дисперсии прямого сигнала, доказательство инициализации He использует слои до активации. Точно так же для обратного сигнала вывод He использует слои постактивации вместо слоев предварительной активации в инициализации Glorot. Учитывая, что эти два доказательства имеют некоторое сходство, просмотр обоих помогает понять, почему контроль дисперсии весов так важен в любой нейронной сети. (Подробнее см. «Инициализация Ксавьера Глорота в нейронных сетях — математическое доказательство»).



Математическое доказательство: инициализация Kaiming He

I. Пас вперед

Мы ищем Wₖ такое, что дисперсия каждого последующего слоя предварительной активации y равна, т.е. Var[yₖ] = Вар[yₖ ₋].

Мы знаем, чтоyₖ = xₖ Wₖ+ bₖ.

Для простоты мы смотрим на i-й элемент слоя предварительной активации yₖ и применяем оператор дисперсии к обеим частям предыдущего уравнения.

  • На первом этапе мы полностью удаляем bₖ, как следует из предположения 1, он инициализируется нулевым значением. Кроме того, мы используем независимость W и x, чтобы преобразовать дисперсию суммы в сумму дисперсий, следуя Var[X+Y] = Var[ X] + Var[Y] с XY.
  • На втором этапе, поскольку W и x являются i.i.d., каждый член в сумме равен, следовательно, сумма представляет собой просто nₖкратное повторение Var[xW].
  • На третьем шаге мы следуем формуле для XY, из которой следует, что Var[XY] = E[X²]E[Y²] - E[X ]²E[Y]². Это позволяет нам разделить вклады W и x в дисперсию слоя предварительной активации.

  • На четвертом шаге мы используем допущение 3 о нулевом ожидании весов и слоев при инициализации. Это оставляет нас с одним термином, включающим квадрат ожидания.
  • На пятом этапе мы преобразуем квадрат ожидания в дисперсию, поскольку Var[X] = E[( X - E[X])²] = E[X²], если X имеет нулевое среднее значение. Теперь мы можем выразить дисперсию слоя до активации как отдельный продукт дисперсии слоя и веса.

Наконец, чтобы связать Var[yₖ] с Var[yₖ ₋],мы выражаем квадрат ожидания E[xₖ²] в терминах из Var[yₖ ₋]в следующих шагах, используя Закон бессознательного статистика.

Теорема утверждает, что мы можем сформулировать любое математическое ожидание функции случайной величины как интеграл от ее функции и плотности вероятности p. Поскольку мы знаем, что xₖ = max(0, yₖ ₋), мы можем переписать квадрат математического ожидания xₖ как интеграл от из y.

  • На шестом шаге мы упрощаем интеграл, учитывая, что y равно нулю на ℝ⁻.
  • На седьмом шаге мы используем статистическое свойство y как симметричной случайной величины, которая, следовательно, имеет симметричную функцию плотности p, и отмечаем, что весь член интеграла представляет собой даже функция. Четные функции симметричны относительно 0 на ℝ, что означает, что интегрирование от 0 до a такое же, как от -a до 0. Мы используем этот трюк, чтобы переформулировать обратно интеграл как интеграл по ℝ.

  • На девятом и десятом шагах мы перепишем этот интеграл как интеграл от функции случайной величины. Применяя LOTUS — на этот раз справа налево — мы можем изменить этот интеграл на математическое ожидание функции по случайной величине y. Как квадрат ожидания переменной с нулевым средним значением, это, по сути, дисперсия.

Наконец, мы можем собрать все вместе, используя результаты пятого и десятого шагов — дисперсия слоя предварительной активации напрямую связана с его предыдущей дисперсией до активации, а также с дисперсией весов слоя. Поскольку мы требуем, чтобы Var[yₖ] = Var[yₖ ₋], это позволяет нам подтвердить, что дисперсия весов слоя Var[Wₖ]должно быть 2/nₖ.

Таким образом, вот еще раз весь вывод прямого распространения, рассмотренный в этом разделе:

II. Обратный проход

Мы ищем Wₖтакие, что Var[Δxₖ] = Var[Δxₖ ₊].

Здесь, xₖ ₊= f (yₖ) и yₖ = xₖ Wₖ + bₖ.

Перед применением оператора дисперсии сначала вычислим частные производные потерь Lпо x и y: Δxₖ и Δyₖ.

  • Во-первых, мы используем цепное правило и тот факт, что производной линейного произведения является его линейный коэффициент — в данном случае Wₖ.
  • Во-вторых, мы используем допущение 2, утверждающее, что градиенты и веса не зависят друг от друга. Используя независимость, дисперсия продукта становится произведением дисперсий, которое равно нулю, поскольку предполагается, что веса инициализированы нулевыми средними. Следовательно, ожидание градиента L w.r.t. x равно нулю.
  • В-третьих, мы используем цепное правило, чтобы связать Δyₖ и Δxₖ ₊₁ как частную производную от x w.r.t. y — это производная ReLU, взятая из y.

  • В-четвертых, вспоминая производную ReLU, мы вычисляем математическое ожидание Δyₖ, используя предыдущее уравнение. Поскольку f'(x) делится на две части с равной вероятностью ½, мы можем записать его как сумму двух членов: математическое ожидание по ℝ⁺ и ℝ⁻ , соответственно. Из предыдущих вычислений мы знаем, что математическое ожидание Δxₖ равно нулю, и, таким образом, мы можем подтвердить, что оба градиента имеют среднее значение 0.

  • В-пятых, мы используем то же правило, что и раньше, чтобы записать квадрат ожидания в качестве дисперсии, здесь с Δyₖ .
  • В-шестых, мы используем допущение 2 о том, что градиенты независимы при инициализации, чтобы разделить дисперсию двух градиентов Δxₖ ₊₁ и f’(yₖ). Дальнейшее упрощение проистекает из предположения 3, и мы, наконец, можем вычислить квадрат ожидания ReLU, учитывая его равномерное разделение между положительными и отрицательными интервалами.

Наконец, используя собранные результаты из приведенных выше разделов и повторно применяя предположение iid, мы заключаем, что результат прохода обратного распространения аналогичен проходу прямого распространения, т.е. при условии Var[Δxₖ] = Var[Δxₖ ₊],дисперсия весов любого слоя Var[Wₖ] равна до 2/nₖ .

Подводя итог, вот напоминание о важных пошаговых вычислениях, включенных в этот раздел обратного прохода:

III. Распределение веса

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

Интересно отметить, что этот результат отличается от инициализации Glorot⁽²⁾, где авторам по существу приходится усреднять два различных результата, полученных при прямом и обратном проходах. Кроме того, мы наблюдаем, что дисперсия в методе He удваивается, что интуитивно связано с тем, что нулевое отрицательное сечение ReLU уменьшает дисперсию в два раза.

Впоследствии, зная дисперсию распределения, мы теперь можем инициализировать веса либо с нормальным распределением N(0, 𝜎²), либо с равномерным распределением U(-a, a). Эмпирически нет доказательств того, что одно распределение лучше другого, и кажется, что улучшение производительности сводится исключительно к свойствам симметрии и масштаба выбранного распределения. Кроме того, нам нужно помнить о предположении 3, ограничивающем выбор распределения симметричностью и центром в 0.

  • Для нормального распределения N(0, 𝜎²)

Если X ~ N(0, 𝜎²),то Var[X] = 𝜎², таким образом, дисперсия и стандартное отклонение весовой матрицы могут быть записаны как:

Таким образом, мы можем заключить, что Wₖ подчиняется нормальному распределению с коэффициентами:

Напоминаем, что nₖ — это количество входов слоя k.

  • Для равномерного распределения U(-a, a)

Если X ~ U(-a, a), то, используя приведенную ниже формулу дисперсии для случайной величины, следующей за равномерным распределением, мы можем найти границу a:

Наконец, мы можем заключить, что Wₖ следует равномерному распределению с коэффициентами:

Заключение

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

Методология этого доказательства также распространяется на более широкое семейство линейных выпрямителей, таких как PReLU (обсуждается в (1) He et al.) или Leaky ReLU (позволяющий мизерному градиенту течь в отрицательном направлении). интервал). Аналогичные формулы оптимальной дисперсии могут быть получены для этих вариантов функции активации ReLU.

Цитаты
(1)Углубление в выпрямители: превосходство на уровне человека в классификации ImageNet, He et al. ( 2015)
(2)Понимание сложности обучения нейронных сетей с глубокой прямой связью, Glorot et al. (2010)

Источник: все приведенные выше уравнения и изображения являются моими собственными.