«Смелость учиться машинному обучению Демистификация регуляризации L1 и L2 (часть 1)»

«Смелость научиться машинному обучению разгадка регуляризации L1 и L2 (часть 1)»

Понять основную цель L1 и L2 регуляризации

Фото Holly Mandarich на Unsplash

Добро пожаловать в “Courage to learn ML”, где мы начинаем с исследования L1 и L2 регуляризации. Эта серия стремится упростить сложные понятия машинного обучения, представляя их в форме непринужденного и информативного диалога, подобного стилю, используемому в “The Courage to Be Disliked,” но с акцентом на машинное обучение.

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

Сегодняшняя дискуссия выходит за рамки простого обзора формул и свойств L1 и L2 регуляризации. Мы углубимся в основные причины использования этих методов в машинном обучении. Если вы стремитесь по-настоящему понять эти концепции, вы находитесь в правильном месте для получения просветительских идей!

В этом посте мы ответим на следующие вопросы:

  • Что такое регуляризация? Зачем нам это нужно?
  • Что такое L1 и L2 регуляризация?
  • Почему мы предпочитаем меньшие коэффициенты большими? Как связаны большие коэффициенты с увеличением сложности модели?
  • Почему в нейронной сети существуют несколько комбинаций весов и смещений?
  • Почему в L1 и L2 регуляризации не наказываются смещения?

Что такое регуляризация? Зачем нам это нужно?

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

Что такое L1, L2 регуляризация?

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

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

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

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

Рассмотрим пример, когда нейронная сеть обучается предсказывать вес кошки. Если одна модель имеет коэффициент 10, а другая значительно больший коэффициент 1000, их выходы для следующего слоя будут существенно отличаться – 300 и 30000 соответственно. Модель с более большим коэффициентом более подвержена крайним предсказаниям. В случае, когда 30 фунтов является выбросом (что довольно необычно для кошки!), вторая модель с более большим коэффициентом даст значительно менее точные результаты. Этот пример иллюстрирует важность ограничения коэффициентов для избежания преувеличенных реакций на выбросы в данных.

Могли бы вы разъяснить, почему в нейронной сети существуют несколько комбинаций весов и смещений?

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

Фото: Tamas Tuzes-Katai на Unsplash
  • Пейзаж с множеством пунктов назначения: Перемещаясь по этому пейзажу, вы заметите, что он полон различных локальных минимумов, подобно несимметричной местности с различными впадинами и долинами. Это связано с тем, что функция потерь нейронной сети с несколькими скрытыми слоями является несимметричной. Каждый локальный минимум представляет собой различную комбинацию весов и смещений, предлагая множество потенциальных решений.
  • Различные пути к одной цели: Нелинейные функции активации сети позволяют ей формировать сложные узоры, приближая истинную подлежащую функцию данных. С несколькими слоями таких функций существует множество способов представления одной и той же истины, каждый из которых характеризуется определенным набором весов и смещений. Это избыточность в проектировании сети.
  • Гибкость последовательности: Представьте, что вы изменяете последовательность своего путешествия, меняя порядок велосипедной прогулки и поездки на автобусе, но все же прибываете в одинаковом месте. Относя это к нейронной сети с двумя скрытыми слоями: если удваивать веса и смещения в первом слое, а затем уменьшать их во втором слое наполовину, конечный вывод остается неизменным. (Обратите внимание, однако, что эта гибкость в основном применима к функциям активации с некоторыми линейными характеристиками, такими как ReLU, но не к таким, как сигмоида или гиперболический тангенс). Это явление называется “симметрией масштаба” в нейронных сетях.

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

Источник: http://laid.delanover.com/difference-between-l1-and-l2-regularization-implementation-and-visualization-in-tensorflow/

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

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

Смещения, однако, выполняют другую функцию. Они действуют как смещение в линейной функции, сдвигая выход модели независимо от входных признаков.

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

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

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

Присоединяйтесь ко мне во второй части серии, я раскрою слои регуляризации L1 и L2, предлагая интуитивное понимание с помощью множителей Лагранжа (не беспокойтесь о названии, это простая концепция 😃)

Увидимся там!

Если вам понравилась статья, вы можете найти меня на LinkedIn, пожалуйста, не стесняйтесь связываться со мной или обращаться с вопросами и предложениями!