Введение:

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

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

Выявление причин ошибок:

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

Недостаточное оснащение:

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

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

Следовательно, Недостаточное соответствие › Высокое смещение и низкая дисперсия.

Способы уменьшения недостаточного оснащения:
1. Увеличьте сложность модели
2. Увеличьте количество функций или выполните проектирование функций
3. Увеличьте продолжительность обучения

Переоснащение:

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

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

Следовательно, Переоснащение ›Низкое смещение и высокая дисперсия.

Способы уменьшения переобучения:
1. Увеличьте объем обучающих данных или выполните дополнение данных.
2. Уменьшите сложность модели.
3. Раннее прекращение во время фазы обучения в зависимости от потери.
4 . Регуляризация

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

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

Следующая таблица суммирует интуитивные догадки, стоящие за этим.

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

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

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

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

Как регуляризация снижает переоснащение:

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

Рассмотрим обучение нейронной сети с функцией стоимости J, обозначенной как:

где w и b - веса и смещение соответственно.

y ’= прогнозируемый ярлык

y = фактическая метка

m = количество обучающих выборок

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

где, λ = коэффициент регуляризации

Обновление веса w для каждого слоя:

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

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

где a - активация с последнего слоя.

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

Пример функции tanh (z) показан ниже.

Распространенные методы регуляризации:

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

1. Регуляризация L1 и L2:

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

Два мощных метода регрессии: Ridge (выполняет L2-регуляризацию) и Lasso (выполняет L1-регуляризацию), чтобы уменьшить функцию стоимости.

a) Риджевая регрессия для регуляризации L2: она штрафует переменные, если оказывается, что они слишком далеки от нуля. Таким образом, снижение сложности модели при сохранении всех переменных в модели.

Красные точки на изображении выше соответствуют обучающей выборке. Модель, представленная красной кривой, соответствует этим точкам, но ясно, что данные тестирования (зеленые точки) не будут работать очень хорошо.

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

Это смещение известно как штраф за регрессию гребня = (λ * наклон²).

Наклон² содержит все входные точки пересечения, возведенные в квадрат и добавленные, за исключением точки пересечения y (выход).

б) Регрессия Лассо (Оператор наименьшего абсолютного сжатия и выбора) для регуляризации L1: Ранее при гребневой регрессии смещение увеличивалось, чтобы уменьшить дисперсия с использованием квадратов наклона.

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

Следовательно, штраф за регрессию лассо = (λ * | наклон |)

Уравнения для реализации в глубоком обучении:

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

Функция затрат = Стоимость (от y до y ’) + условие регуляризации

λ = коэффициент регуляризации

m = количество обучающих выборок и

›Для L1 регуляризации единственное отличие состоит в том, что член регуляризации содержит λ / m вместо (λ / 2) * m. Следовательно, функция стоимости для L1 равна:

2. Регуляризация отсева:

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

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

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

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