Техники регуляризации Нейронные сети 101

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

Как избежать переобучения при обучении нейронной сети

https://www.flaticon.com/free-icons/neural-network. title=“neural network icons.” Neural network icons created by Vectors Tank — Flaticon.

Содержание

  1. Введение
  2. Что такое переобучение?
  3. Регуляризация Lasso (L1) и Ridge (L2)
  4. Ранняя остановка
  5. Dropout
  6. Другие методы
  7. Выводы

Введение

На данный момент в серии статей “Нейронные сети 101” мы обсудили два способа улучшения производительности нейронных сетей: настройку гиперпараметров и оптимизаторы быстрого градиентного спуска. Вы можете проверить эти статьи ниже:

Настройка гиперпараметров: Нейронные сети 101

Как улучшить “обучение” и “тренировку” нейронных сетей путем настройки гиперпараметров

towardsdatascience.com

Оптимизационные алгоритмы: Нейронные сети 101

Как улучшить обучение за пределами алгоритма “ванильного” градиентного спуска

towardsdatascience.com

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

В этой статье мы рассмотрим широкий спектр методов регуляризации нейронных сетей и как это сделать в PyTorch!

Что такое переобучение?

Давайте вкратце рассмотрим, что мы подразумеваем под переобучением в машинном обучении и статистике.

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

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

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