Переобучение нейронной сети¶
Переобучение (overfitting) — явление в машинном обучении, при котором модель слишком точно подстраивается под обучающие данные, включая их шум и случайные особенности, и в результате теряет способность обобщать закономерности на новые, ранее не встречавшиеся данные. Для искусственных нейронных сетей переобучение является одной из центральных проблем, особенно при работе с небольшими выборками, избыточно сложными архитектурами или при длительном обучении.
¶Признаки переобучения
Ключевой диагностический признак — расхождение между метриками на обучающей и валидационной выборках. Типичная картина выглядит так:
- ошибка на обучающей выборке продолжает снижаться;
- ошибка на валидационной (проверочной) выборке после некоторого минимума начинает расти;
- точность на обучении приближается к 100 %, тогда как точность на новых данных остаётся заметно ниже.
Дополнительными косвенными признаками служат: резкое расхождение предсказаний модели на похожих примерах, нестабильность выхода при малых возмущениях входа, а также чрезмерная «уверенность» модели (высокие значения softmax-вероятностей) на заведомо некорректных данных.
¶Причины
¶Недостаточный объём обучающих данных
Наиболее частая причина. Если обучающая выборка мала или не покрывает всего разнообразия реальных ситуаций, модель запоминает конкретные примеры вместо того, чтобы выделить устойчивые закономерности.
¶Избыточная сложность модели
Слишком большая нейронная сеть (много слоёв и нейронов) обладает огромным числом обучаемых параметров и способна представить практически любую функцию, включая зашумлённую выборку. Теория Вапника — Червоненкиса связывает склонность модели к переобучению с величиной её VC-размерности: чем больше класс функций, который способна реализовать модель, тем больше данных требуется для корректного обучения.
¶Длительное обучение
Даже при адекватной архитектуре слишком большое число эпох обучения приводит к тому, что сеть начинает «запоминать» обучающие примеры. Кривая обучения при этом имеет характерную U-образную форму на валидации.
¶Нерепрезентативность и шум в данных
Выборка, содержащая ошибки разметки, выбросы или не отражающая реальное распределение, провоцирует модель подстраиваться под артефакты.
¶Сильная регуляризация входных признаков или дисбаланс классов
При дисбалансе классов модель может выучить тривиальные стратегии (например, всегда предсказывать большинственный класс), что внешне выглядит как высокая точность, но не является обобщением.
¶Методы борьбы с переобучением
| Метод | Суть |
|---|---|
| Ранняя остановка (early stopping) | Обучение прекращается в момент минимума ошибки на валидационной выборке |
| Регуляризация L1/L2 | Штраф за большие значения весов ограничивает сложность модели |
| Dropout | Случайное отключение части нейронов на каждой итерации предотвращает избыточную зависимость от отдельных признаков |
| Аугментация данных | Искусственное расширение выборки (повороты, отражения, шум) для изображений; синонимы и перестановки — для текстов |
| Увеличение обучающей выборки | Сбор дополнительных размеченных данных |
| Упрощение архитектуры | Сокращение числа слоёв и нейронов |
| Batch normalization | Стабилизация распределения активаций, косвенно улучшает обобщение |
| Ранняя остановка + регуляризация | Комбинирование методов даёт наибольший эффект |
¶Переобучение и недообучение
Переобучение противоположно недообучению (underfitting) — ситуации, при которой модель слишком проста и не улавливает закономерности даже в обучающих данных. Оптимальное обучение достигается в зоне баланса между этими крайностями, которую иногда называют «точкой наилучшего обобщения». На практике поиск этого баланса осуществляется с помощью кросс-валидации, перебора гиперпараметров и мониторинга кривых обучения.
¶Переобучение в глубоком обучении
В глубоких нейронных сетях (Deep Learning) переобучение проявляется иначе, чем в классических моделях. Исследования показали, что сети с числом параметров, многократно превышающим объём обучающих данных, всё равно способны обобщать — явление, названное «double descent» (двойное падение). Тем не менее классические приёмы борьбы с переобучением остаются актуальны, особенно при обучении на малых наборах данных или при тонкой настройке (fine-tuning) предобученных моделей.
¶Практическое значение
Переобучение напрямую влияет на применимость обученной модели в реальных задачах: в медицинской диагностике, финансовых системах, распознавании изображений и других областях. Оценка качества модели исключительно по метрикам на обучающей выборке систематически завышает её реальные возможности, поэтому разделение данных на обучающую, валидационную и тестовую части является обязательным требованием машинного обучения.
¶Источники
- Гудфелло И., Бенджио К., Курвилль Д. Глубокое обучение. — М.: ДМК Пресс, 2018.
- Вапник В. Н. Статистическая теория обучения. — М.: Наука, 1979.
- Бишоп К. Паттерн Recognition и Machine Learning. — Springer, 2006.
- Belkin M. et al. Reconciling modern machine-learning practice and the classical bias–variance trade-off // PNAS, 2019.
