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

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM '''ChatGPT 5.6 Sol - xhigh''' и проверена участником [[Юхарев Роман Андреев...)
 
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''ChatGPT 5.6 Sol - xhigh''' и проверена участником [[Юхарев Роман Андреевич]] 8:12 15 июля 2026.}}
+
{{well|Статья написана с использованием LLM '''ChatGPT 5.6 Sol - xhigh''' и проверена участником [[Юхарев Роман Андреевич]] 8:12 15 июля 2026 (MSD).}}
{{TOCright}}
{{TOCright}}

Текущая версия

Статья написана с использованием LLM ChatGPT 5.6 Sol - xhigh и проверена участником Юхарев Роман Андреевич 8:12 15 июля 2026 (MSD).


Содержание

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

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

Постановка задачи

Пусть данные разделены на три непересекающиеся части:

  • D_{\mathrm{train}} — обучающая выборка, по которой вычисляются обновления параметров;
  • D_{\mathrm{val}} — валидационная выборка, по которой выбираются момент остановки и контрольная точка;
  • D_{\mathrm{test}}тестовая выборка, используемая только для итоговой оценки уже выбранной процедуры.

Итерационный алгоритм порождает последовательность параметров

\theta_0,\theta_1,\ldots,\theta_T.

Обозначим через L_{\mathrm{train}}(t) и L_{\mathrm{val}}(t) значения функции потерь после t-й итерации или эпохи. Если требуется минимизировать валидационную ошибку, то лучшая контрольная точка среди уже вычисленных имеет номер

t^*_T={\rm arg\,min}_{0\leq t\leq T}L_{\mathrm{val}}(t).

Для метрик качества, которые требуется максимизировать, например точности или F-меры, вместо {\rm arg\,min} используется {\rm arg\,max}.

Следует различать несколько близких понятий.

Понятие Что контролируется Назначение
Остановка оптимизатора по сходимости Обучающая функция, норма градиента, величина шага Прекратить численную оптимизацию, когда дальнейшие изменения малы
Ранняя остановка Метрика на валидационной выборке Выбрать сложность, достигнутую итерационным алгоритмом, и ограничить переобучение
Выбор лучшей контрольной точки Лучшее наблюдавшееся значение валидационной метрики Получить параметры для дальнейшего применения; выбранная точка обычно предшествует фактической остановке
Максимальный бюджет обучения Число эпох, итераций или вычислительных операций Гарантированно завершить вычисления, даже если условие ранней остановки не выполнилось

Таким образом, последняя выполненная эпоха и выбранная модель — не обязательно одно и то же. В распространённой схеме лучшая контрольная точка сохраняется, а после остановки восстанавливаются именно её параметры. В программных библиотеках восстановление может требовать отдельной настройки: например, параметр restore_best_weights в Keras по умолчанию отключён.[1]

Зачем прекращать обучение раньше

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

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

Связь с регуляризацией

Спектральный пример

Связь особенно наглядна для линейной регрессии. Рассмотрим задачу наименьших квадратов

\min_\theta \frac{1}{2}\|A\theta-y\|_2^2

и градиентный метод с начальной точкой \theta_0=0:

\theta_{t+1}=\theta_t-\eta A^T(A\theta_t-y).

Пусть сингулярное разложение матрицы признаков имеет вид

A=U\operatorname{diag}(\sigma_1,\ldots,\sigma_r)V^T,

а шаг выбран так, что 0<\eta\leq 1/\sigma_{\max}^2. Тогда

\theta_t=V\operatorname{diag}\left(\frac{1-(1-\eta\sigma_j^2)^t}{\sigma_j}\right)U^Ty.

Множитель

q_j(t)=1-(1-\eta\sigma_j^2)^t

показывает, насколько успело восстановиться направление, соответствующее сингулярному числу \sigma_j. Направления с большими \sigma_j осваиваются быстрее, а с малыми — медленнее. Остановка на конечном t подавляет слабо определённые направления, которые обычно сильнее чувствительны к шуму.

Для сравнения, решение с L2-регуляризацией

\min_\theta \frac{1}{2}\|A\theta-y\|_2^2+\frac{\lambda}{2}\|\theta\|_2^2

равно

\theta_\lambda=V\operatorname{diag}\left(\frac{\sigma_j}{\sigma_j^2+\lambda}\right)U^Ty.

Оба метода являются спектральными фильтрами: они ослабляют плохо определённые направления, но используют разные функции фильтра. Поэтому раннюю остановку и L2-регуляризацию нельзя считать тождественными в общем случае. Между временем t и величиной \lambda можно установить приближённое соответствие при дополнительных предположениях, однако одного значения \lambda обычно недостаточно, чтобы точно воспроизвести все коэффициенты конечной итерации.[1][1]

Явная или неявная регуляризация

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

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

Базовый алгоритм

Наиболее распространённая практическая схема использует два параметра:

  • минимальное улучшение \delta (min_delta) — насколько должна улучшиться метрика, чтобы изменение считалось значимым;
  • терпение p (patience) — сколько последовательных проверок без значимого улучшения разрешено выполнить.

Для минимизируемой метрики алгоритм можно записать следующим образом:

best = +∞
bad_checks = 0

для каждой эпохи t:
    выполнить обучение на D_train

    если ещё не наступило время проверки:
        продолжить

    value = metric(D_val)

    если value < best - min_delta:
        best = value
        best_step = t
        сохранить параметры модели
        bad_checks = 0
    иначе:
        bad_checks = bad_checks + 1

    если выполнено минимальное число эпох
       и bad_checks >= patience:
        прекратить обучение

восстановить параметры из best_step
один раз оценить итоговую модель на D_test

Для максимизируемой метрики знак сравнения меняется. Проверка может выполняться после каждой эпохи, через заданное число шагов или после фиксированного объёма вычислений. Точная семантика patience, min_delta и восстановления весов различается между программными реализациями, поэтому её следует проверять по документации используемой библиотеки.[1]

Параметр Смысл Типичная ошибка
Контролируемая метрика Величина, наиболее близкая к целевому качеству модели Останавливать по обучающей ошибке или по удобной, но нецелевой метрике
Направление улучшения Минимизация ошибки либо максимизация качества Перепутать знак сравнения
\delta Абсолютное или относительное минимальное улучшение Не зафиксировать, в каких единицах задан порог
p Число проверок без улучшения Считать его числом эпох, хотя метрика проверяется реже или чаще
Минимальное число эпох Период, раньше которого остановка запрещена Остановить модель на неустойчивом начальном участке
Максимальный бюджет Жёсткая верхняя граница обучения Принять её за правило выбора лучшей модели
Восстановление лучшей точки Загрузка параметров с лучшей валидационной метрикой Оставить параметры последней, уже ухудшившейся эпохи

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

Валидационный протокол

Независимость тестовой выборки

Момент остановки является результатом подбора гиперпараметра. Поэтому тестовую выборку нельзя использовать для наблюдения за обучением: в таком случае она перестаёт давать независимую итоговую оценку. При каждом просмотре валидационной кривой и изменении правила обучения исследователь получает информацию о валидационных данных. Многократный перебор архитектур, инициализаций и критериев способен привести к переобучению уже на уровне выбора модели.[1]

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

Правильное разбиение данных

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

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

Шум валидационной метрики

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

Для повышения устойчивости используют:

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

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

Увеличение валидационной выборки обычно уменьшает дисперсию оценки, но сокращает объём данных для непосредственного обучения. После выбора числа эпох иногда заново обучают модель на объединении обучающей и валидационной частей ровно заданное число шагов.[1] Такая процедура должна быть заранее определена: во время повторного обучения уже невозможно независимо отслеживать прежнюю валидационную метрику.

Взаимодействие с процессом обучения

Скорость обучения

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

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

Режим оценки

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

Другие регуляризаторы

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

Немонотонное обобщение и двойной спуск

Образ «обучающая ошибка падает, а валидационная после единственного минимума растёт» полезен, но не универсален. В избыточно параметризованных моделях возможен двойной спуск по эпохам: после первоначального ухудшения тестовая или валидационная ошибка снова снижается при более долгом обучении. Эксперименты и модельный анализ показывают, что ранняя остановка в такой ситуации может выбрать первый минимум и пропустить более качественную позднюю область.[1]

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

Пример работы критерия

Пусть валидационная функция потерь минимизируется, \delta=0{,}002, терпение равно трём проверкам, а оценка выполняется после каждой эпохи.

Эпоха Валидационная ошибка Значимое улучшение Счётчик без улучшения
1 0,625 Да 0
2 0,541 Да 0
3 0,506 Да 0
4 0,494 Да 0
5 0,491 Да 0
6 0,492 Нет 1
7 0,493 Нет 2
8 0,494 Нет 3

После восьмой эпохи обучение прекращается, но восстанавливается контрольная точка пятой эпохи со значением 0,491. Если бы проверка проводилась раз в пять эпох, то то же численное значение p=3 соответствовало бы пятнадцати эпохам; поэтому единицы терпения должны быть указаны явно.

Выбор параметров на практике

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

  1. Зафиксировать целевую метрику и направление её улучшения.
  2. Оценить характерный шум метрики по нескольким соседним контрольным точкам или повторным запускам.
  3. Выбрать \delta так, чтобы пренебречь практически несущественными колебаниями, но не скрыть полезный устойчивый тренд.
  4. Выбрать частоту проверок с учётом стоимости валидации.
  5. Задать терпение, покрывающее ожидаемую длительность плато и предусмотренную реакцию планировщика скорости обучения.
  6. Установить минимальный и максимальный бюджеты.
  7. Проверить правило на нескольких случайных инициализациях, не подглядывая в тестовую выборку.

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

Достоинства и ограничения

Достоинства

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

Ограничения

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

Типичные ошибки

  • Контроль только обучающей ошибки. Её уменьшение показывает работу оптимизатора, но не даёт независимого сигнала об обобщении.
  • Использование тестовой выборки для остановки. Тест становится частью выбора модели, и итоговая оценка оказывается оптимистически смещённой.
  • Сохранение последней модели. Фактическая остановка происходит спустя несколько неудачных проверок после лучшей точки.
  • Неправильное направление метрики. Потерю обычно минимизируют, а точность максимизируют.
  • Неопределённые единицы терпения. Три проверки и три эпохи совпадают только при проверке после каждой эпохи.
  • Слишком малое терпение. Один выброс, плато перед уменьшением шага или начальный шум могут преждевременно завершить обучение.
  • Слишком большое терпение. Регуляризующий и вычислительный эффект ослабевает, хотя лучшая контрольная точка всё ещё может быть сохранена.
  • Перенос найденной эпохи между конфигурациями. Изменение оптимизатора, регуляризации или объёма данных меняет динамику обучения.
  • Предположение об обязательной U-образной кривой. Позднее улучшение возможно, в частности при двойном спуске по эпохам.[1]

См. также

Примечания

Литература

  • Prechelt L. Early Stopping — But When? // Orr G. B., Müller K.-R. (eds.). Neural Networks: Tricks of the Trade. Lecture Notes in Computer Science, vol. 1524. Springer, 1998. P. 55–69. Полный текст.
  • Caruana R., Lawrence S., Giles C. L. Overfitting in Neural Nets: Backpropagation, Conjugate Gradient, and Early Stopping // Advances in Neural Information Processing Systems 13. 2000.
  • Yao Y., Rosasco L., Caponnetto A. On Early Stopping in Gradient Descent Learning // Constructive Approximation. 2007. Vol. 26. P. 289–315. DOI: 10.1007/s00365-006-0663-2.
  • Raskutti G., Wainwright M. J., Yu B. Early Stopping and Non-parametric Regression: An Optimal Data-dependent Stopping Rule // Journal of Machine Learning Research. 2014. Vol. 15. P. 335–366.
  • Hardt M., Recht B., Singer Y. Train Faster, Generalize Better: Stability of Stochastic Gradient Descent // Proceedings of the 33rd International Conference on Machine Learning. PMLR 48, 2016. P. 1225–1234.
  • Cawley G. C., Talbot N. L. C. On Over-fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation // Journal of Machine Learning Research. 2010. Vol. 11. P. 2079–2107.
  • Heckel R., Yilmaz F. F. Early Stopping in Deep Networks: Double Descent and How to Eliminate It // International Conference on Learning Representations. 2021.
Личные инструменты