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

Что такое регуляризация? Какова его цель?

Регуляризация — это метод ограничения эффектов переобучения.

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

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

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

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

Некоторые из различных типов регуляризации включают следующее:

  • Регулировка L1

Более конкретно называется ЛАССО. LASSO расшифровывается как Оператор наименьшего абсолютного сокращения и выбора. Здесь есть два ключевых слова — «абсолютный» и «выбор».

Лассо-регрессия выполняет регуляризацию L1, т. е. добавляет фактор суммы абсолютного значения коэффициентов в цель оптимизации. Таким образом, регрессия лассо оптимизирует следующее:

Цель = RSS + α * (сумма абсолютных значений коэффициентов)

Здесь RSS относится к «остаточной сумме квадратов», которая представляет собой не что иное, как сумму квадратов ошибок между прогнозируемыми и фактическими значениями в наборе обучающих данных, а α (альфа) работает аналогично гребню и обеспечивает компромисс между балансировка RSS и величины коэффициентов и α могут принимать различные значения:

α = 0: те же коэффициенты, что и для простой линейной регрессии.

α = ∞: все коэффициенты равны нулю (та же логика, что и раньше)

0 ‹ α ‹ ∞:коэффициенты между 0 и простой линейной регрессией

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

  • Регуляризация L2

Гребневая регрессия выполняет «регуляризацию L2», т. е. добавляет фактор суммы квадратов коэффициентов в цель оптимизации. Таким образом, гребневая регрессия оптимизирует следующее:

Цель = RSS + α * (сумма квадратов коэффициентов)

Здесь α — это параметр, который уравновешивает количество внимания, уделяемое минимизации RSS, по сравнению с минимизацией суммы квадратов коэффициентов и может принимать различные значения:

α = 0:

  • Цель становится такой же, как простая линейная регрессия.
  • Мы получим те же коэффициенты, что и простая линейная регрессия.

α = ∞:

  • Коэффициенты будут равны нулю. Почему? Из-за бесконечного веса квадрата коэффициентов все, что меньше нуля, сделает цель бесконечной.

0 < α < ∞:

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

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

  • Выпадение

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

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

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

Для каждого слоя можно установить разное отсев, в зависимости от того, что нам нужно в каждом слое. Во входных слоях обычно используется очень высокое отсев (0,7), чтобы большинство нейронов оставались активными, а в скрытых слоях отсев (0,5).

  • Увеличение данных

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

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

  • Ранняя остановка

Ранняя остановка регуляризации ограничивает подгонку для обучающего набора на основе проверочного набора.

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

Емкость сети ограничена предотвращением чрезмерного роста веса.

Почему это работает?

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

По мере роста весов скрытые нейроны начинают вести себя нелинейно (и пропускная способность сети увеличивается).

Заключение

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

Источники







https://ulaval-damas.github.io/glo4030/assets/slides/04-regularisation.pdf