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

Вступление:

Нейронные сети были впервые представлены в 1943 году Уорреном Маккалоком и Уолтером Питтсом, но не были достаточно популярны, так как требовали больших объемов данных и вычислительной мощности, что было невозможно в то время. Но когда вышеперечисленные ограничения стали возможными вместе с другими усовершенствованиями в обучении, такими как инициализация параметров и улучшенные функции активации, они снова начали доминировать в различных соревнованиях и нашли применение в различных вспомогательных технологиях для человека.
Сегодня нейронные сети составляют основу многих известные приложения, такие как Self-Driving Car, Google Translate, Системы распознавания лиц и т. д., и применяются почти во всех технологиях, используемых развивающимся человечеством.

Нейронные сети очень хорошо аппроксимируют функции, будь они линейными или нелинейными, а также превосходны при извлечении функций из входных данных. Эта способность позволяет им творить чудеса в большом диапазоне задач, будь то область компьютерного зрения или языковое моделирование. Но, как все мы слышали знаменитую поговорку:
«Великая держава влечет за собой большую ответственность».
Это высказывание также применимо к всемогущим нейронным сетям. Их способность быть отличными аппроксиматорами функций иногда заставляет их превосходить набор данных, аппроксимируя функцию, которая будет очень хорошо работать с данными, на которых она была обучена, но с треском проваливается при тестировании на данных, которых она раньше не видела. Говоря более технически, нейронные сети изучают веса, которые более специализированы на заданных данных, и не могут изучить функции, которые можно обобщить.
Чтобы решить проблему переобучения, применяется класс методов, известных как регуляризация, чтобы уменьшить сложность модели и веса ограничений, заставляющие нейронную сеть изучать обобщаемые функции.

Регуляризация:

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

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

  1. L2 регуляризация
  2. L1 Регуляризация
  3. Увеличение данных
  4. Выбывать
  5. Ранняя остановка

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

L2 регуляризация:

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

Давайте рассмотрим функцию стоимости кросс-энтропии, которая определяется, как показано ниже.

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

На рис. 2 λ - это параметр регуляризации, который прямо пропорционален степени применяемой регуляризации. Если λ = 0, то регуляризация не применяется, а когда λ равно 1, к сети применяется максимальная регуляризация.
λ - это гиперпараметр, что означает, что он не изучается во время обучения, а настраивается пользователем вручную или с использованием некоторых методов настройки гиперпараметров, таких как случайный поиск.

Теперь давайте объединим это и сформируем окончательное уравнение регуляризации L2, примененное к функции потерь кросс-энтропии, представленной на рисунке 3.

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

Примечание. Мы не учитываем смещение сети при регуляризации сети по следующим причинам:
1. Смещение обычно требует меньше данных по сравнению с веса, чтобы точно соответствовать. Каждый вес определяет, как взаимодействуют две переменные (w и x), и, следовательно, для правильной подгонки весов требуется наблюдение за обеими переменными в различных условиях, тогда как каждое смещение управляет только одной переменной (b). Следовательно, мы не вносим большой разброс, оставляя смещение нерегулируемым.
2. Регуляризация смещения может привести к значительному недообучению.

Почему L2 Regularization работает ??

Практическая причина:

Давайте попробуем понять, как работает L2-регуляризация на основе градиента функции стоимости.
Если мы возьмем частную производную или градиент уравнения, представленного на рисунке 4, то есть ∂C / ∂w и ∂C / ∂b для всех весов и смещений в сети.
Взяв частные производные, мы получаем:

Мы можем вычислить члены ∂C0 / ∂w и ∂C0 / ∂b, упомянутые в приведенных выше уравнениях, используя алгоритм обратного распространения.
Частный вывод параметра смещения не изменится, поскольку к нему не применяется член регуляризации, в то время как параметр веса будет содержать дополнительный член регуляризации ((λ / n) * w).

Таким образом, правила обучения смещению и весам становятся:

Вышеприведенное уравнение веса аналогично обычному правилу обучения градиентному спуску, за исключением того, что теперь мы сначала изменяем масштаб весов w на ( 1- (η * λ) / n). Этот термин является причиной того, почему L2-регуляризацию часто называют уменьшением веса, поскольку он уменьшает веса. Следовательно, вы можете понять, почему работает регуляризация, она уменьшает веса сети. Малость весов означает, что поведение сети не сильно изменится, если мы изменим несколько случайных входных данных здесь и там, что, в свою очередь, затрудняет для регуляризованной сети изучение локального шума в данных. Это заставляет сеть изучать только те функции, которые часто встречаются в обучающем наборе.

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

Регуляризация L2 и снижение веса - это одно и то же?

Отсутствие регуляризации L2 и уменьшение веса - это не одно и то же, но их можно сделать эквивалентными для SGD путем повторной параметризации коэффициента уменьшения веса в зависимости от скорости обучения. Смущенный? Позвольте мне объяснить вам подробно.

Уравнение убывания веса приведено ниже, где λ - коэффициент убывания.

L2-регуляризация может быть доказана эквивалентной убыванию веса в случае SGD в следующем доказательстве:

  1. Давайте сначала рассмотрим уравнение регуляризации L2, приведенное на рисунке 9 ниже. Наша цель - перепараметризовать его таким образом, чтобы он стал эквивалентным уравнению убывания веса, приведенному на рис. 8.

2. Для начала мы находим частную производную (градиент) функции регуляризованной стоимости L2 по параметру w, как показано на рисунке 10.

3. После получения результата частной производной функции стоимости (рисунок 10) мы подставляем результат в правило обучения градиентного спуска, как показано на рисунке 11. После подстановки мы открываем скобки и переставляем члены, чтобы сделать его эквивалентным уравнению убывания веса (Рисунок 8) с определенными допущениями.

4. Как вы можете заметить, единственная разница между окончательным преобразованным уравнением регуляризации L2 (Рисунок 11) и уравнением убывания веса (Рисунок 8) - это α (скорость обучения) умноженное на λ (член регуляризации). Чтобы составить двойное уравнение, мы повторно параметризуем уравнение регуляризации L2, заменив λ
на λ ′ / α, как показано на рисунке 12.

5. После замены λ ′ на λ уравнение регуляризации L2 повторно параметризуется и теперь становится эквивалентным уравнению убывания веса (рисунок 8), как показано на рисунке 13.

Из приведенного выше доказательства вы, должно быть, поняли, почему регуляризация L2 считается эквивалентной уменьшению веса в случае SGD, но это не относится к другим алгоритмам оптимизации, таким как Adam, AdaGrad и т. Д., Которые основаны на адаптивных градиентах. В частности, в сочетании с адаптивными градиентами L2-регуляризация приводит к тому, что веса с большим историческим параметром и / или амплитуда градиента регулируются меньше, чем при использовании уменьшения веса. Это приводит к тому, что adam плохо работает при использовании регуляризации L2 по сравнению с SGD. С другой стороны, Weight Decay одинаково работает как на SGD, так и на Adam.

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

Заключение

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

Надеюсь, вам понравилась эта статья и вы узнали что-то новое. Если у вас есть какие-либо вопросы или вы хотите обсудить их дальше, не стесняйтесь связаться со мной через Twitter или Linkedin.

Дополнительная информация g:

  1. Несвязанная регуляризация спада веса

Использованная литература:

  1. Нейронные сети и глубокое обучение.
  2. Глубокое обучение Иэна Гудфеллоу, Йошуа Бенжио и Аарона Курвилля.

3. Разница между регуляризацией L2 нейронной сети и снижением веса