Инкрементное обучение

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

(Различия между версиями)
Перейти к: навигация, поиск
(Формальная постановка задачи)
(Формальная постановка задачи)
Строка 184: Строка 184:
Для обучения с учителем соответствующая эмпирическая функция риска имеет вид
Для обучения с учителем соответствующая эмпирическая функция риска имеет вид
-
<tex>
 
<tex>
<tex>
R_t(\theta)=
R_t(\theta)=
Строка 197: Строка 196:
<tex>
<tex>
N_t=\sum_{s=1}^{t}n_s.
N_t=\sum_{s=1}^{t}n_s.
-
</tex></tex>
+
</tex>
-
 
+
где <tex>L</tex> — [[функция потерь]]. Пакетный алгоритм может непосредственно минимизировать <tex>R_t</tex>, многократно обращаясь ко всем данным. Инкрементный алгоритм должен приближать такое решение, используя новый инкремент и ограниченное состояние, накопленное к предыдущему этапу.
где <tex>L</tex> — [[функция потерь]]. Пакетный алгоритм может непосредственно минимизировать <tex>R_t</tex>, многократно обращаясь ко всем данным. Инкрементный алгоритм должен приближать такое решение, используя новый инкремент и ограниченное состояние, накопленное к предыдущему этапу.

Версия 23:23, 25 июля 2026

Содержание

Инкрементное обучение (англ. incremental learning) — подход к машинному обучению, при котором уже обученная модель последовательно обновляется по мере поступления новых данных без полного переобучения на всей ранее накопленной выборке. Такое обновление может выполняться после каждого наблюдения или после получения небольшой группы наблюдений.

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

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

Терминология в этой области не полностью унифицирована. В части научной литературы инкрементное и онлайн-обучение рассматриваются почти как синонимы; в других работах онлайн-обучением называют обработку объектов непосредственно в потоке, а инкрементным — любое обновление модели без переобучения с нуля, в том числе по небольшим пакетам данных. Непрерывное обучение (англ. continual learning) обычно выделяют как направление, изучающее накопление знаний при последовательном появлении новых данных, классов или задач, особенно в нейронных сетях.[1]

История

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

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

В 1960 году Бернард Уидроу и Марсиан Хофф представили адаптивную линейную систему ADALINE и правило наименьшего среднего квадрата (англ. least mean squares, LMS). В отличие от пакетного решения задачи наименьших квадратов, правило LMS последовательно изменяло веса по текущей ошибке. Сходные рекуррентные идеи развивались в адаптивной фильтрации, оценивании параметров и управлении, включая рекурсивный метод наименьших квадратов.[1][1]

Во второй половине XX века последовательные обновления стали использоваться в линейных классификаторах, вероятностных моделях, адаптивных фильтрах и нейронных сетях. Развитие стохастического градиентного спуска позволило обучать модели по отдельным объектам и мини-пакетам, что впоследствии стало особенно важным для крупномасштабного машинного обучения.[1]

В 1990-х и 2000-х годах сформировалось направление интеллектуального анализа потоков данных (англ. data stream mining). Его задачей стала обработка потенциально неограниченных последовательностей наблюдений при ограниченной памяти и небольшом числе проходов по данным.[1] К этому периоду относятся дерево Хёффдинга для высокоскоростных потоков данных и онлайн-варианты ансамблевых методов.[1][1]

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

Отличие от смежных парадигм

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

  • Пакетное обучение (англ. batch learning) предполагает, что обучающий набор доступен целиком. При добавлении значительного объёма новых данных модель обычно обучают повторно на объединённой выборке. Пакетный режим не исключает использование мини-пакетов внутри оптимизатора: существенным является то, что набор данных в целом фиксирован и доступен для многократных проходов.
  • Инкрементное обучение обновляет существующую модель по очередным порциям данных. Инкременты могут состоять из отдельных объектов или пакетов; в некоторых задачах в них появляются новые признаки, классы либо подзадачи. Полная история может храниться, храниться частично или быть недоступной.
  • Онлайн-обучение (англ. online learning) обычно предполагает последовательный цикл: модель получает объект, делает предсказание, узнаёт правильный ответ или величину потери и немедленно обновляется. Для онлайн-алгоритмов часто исследуют не только итоговую точность, но и накопленную потерю или регрет (англ. regret). Онлайн-обучение, как правило, является инкрементным, однако инкрементное обновление не обязательно выполняется после каждого отдельного объекта.[1]
  • Непрерывное обучение (англ. continual learning) сосредоточено на длительном накоплении знаний в изменяющейся среде. В этой постановке могут последовательно появляться новые данные, классы, предметные области или задачи. Особое внимание уделяется компромиссу между пластичностью модели и сохранением уже освоенных знаний.[1][1]
  • Обучение в течение всей жизни (англ. lifelong learning) — более широкая концепция интеллектуальной системы, способной накапливать, переносить и повторно использовать знания на протяжении длительного времени. В литературе этот термин нередко используется как близкий к continual learning, но может дополнительно подразумевать перенос между задачами, самостоятельный выбор целей и долговременное управление знаниями.
  • Дообучение (англ. fine-tuning) изменяет параметры предобученной модели на новых данных. Оно является инкрементным только в широком смысле: стандартное дообучение не требует сохранения качества на исходных задачах и не содержит специальных механизмов защиты ранее усвоенной информации.

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

Основы

Формальная постановка задачи

Пусть данные поступают последовательно в виде инкрементов


\mathcal{D}_1,\mathcal{D}_2,\ldots,\mathcal{D}_t,\ldots,

где


\mathcal{D}_t=\{(x_{t,i},y_{t,i})\}_{i=1}^{n_t}

— данные, доступные на этапе t. Один инкремент может содержать единственный объект (n_t=1) или небольшой пакет наблюдений. Модель f(x;\theta_t) после каждого этапа получает новые параметры


\theta_t=
\operatorname{Update}
\left(\theta_{t-1},\mathcal{D}_t,\mathcal{M}_{t-1}\right),

где \mathcal{M}_{t-1} — необязательная память модели: сохранённые примеры, агрегированные статистики, параметры предыдущей модели или иное краткое представление прошлого опыта.

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


\mathcal{D}_{1:t}=\bigcup_{s=1}^{t}\mathcal{D}_s.

Для обучения с учителем соответствующая эмпирическая функция риска имеет вид


R_t(\theta)=
\frac{1}{N_t}
\sum_{s=1}^{t}
\sum_{i=1}^{n_s}
L\bigl(f(x_{s,i};\theta),y_{s,i}\bigr),

где


N_t=\sum_{s=1}^{t}n_s.
где Lфункция потерь. Пакетный алгоритм может непосредственно минимизировать R_t, многократно обращаясь ко всем данным. Инкрементный алгоритм должен приближать такое решение, используя новый инкремент и ограниченное состояние, накопленное к предыдущему этапу.

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

В классической постановке онлайн-обучения на шаге t выбираются параметры \theta_t, после чего наблюдается функция потерь \ell_t(\theta). Качество алгоритма может оцениваться через регрет


\operatorname{Regret}_T=
\sum_{t=1}^{T}\ell_t(\theta_t)
-
\min_{\theta\in\Theta}
\sum_{t=1}^{T}\ell_t(\theta).

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

Типы инкрементов

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

  • Инкремент данных (англ. data-incremental learning) — поступают новые наблюдения из прежнего множества признаков и классов. Примером служит обновление модели кредитного риска по новым заявкам.
  • Инкремент классов (англ. class-incremental learning) — появляются ранее неизвестные классы, а модель после обновления должна различать как новые, так и старые классы. Этот сценарий особенно распространён в исследованиях непрерывного обучения изображений.
  • Инкремент задач (англ. task-incremental learning) — модель последовательно осваивает несколько задач. Во время применения может быть известен идентификатор задачи; если он неизвестен, постановка становится сложнее, поскольку модель должна также определить, какие знания использовать.
  • Инкремент признаков (англ. feature-incremental learning) — изменяется пространство признаков: добавляются новые датчики, поля записи или способы представления объекта.
  • Инкремент структуры модели — по мере накопления данных изменяется сама модель, например добавляются вершины дерева решений, компоненты смеси, базовые алгоритмы ансамбля или новые модули нейронной сети.

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

Потоковые данные

Поток данных (англ. data stream) — упорядоченная последовательность наблюдений, которая поступает во времени и потенциально не имеет заранее известного конца. Интеллектуальный анализ потоков данных (англ. data stream mining) изучает методы извлечения моделей и закономерностей из таких последовательностей.[1][1]

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

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

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

Для оценки потоковых моделей часто используют последовательную проверку «предсказать, затем обучиться» (англ. test-then-train или prequential evaluation). На каждом объекте сначала измеряют качество текущей модели и только после этого используют объект для обновления. Такая схема воспроизводит реальную работу системы, которая не должна обучаться на ответе до выполнения предсказания.

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

Методы инкрементного обучения

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

Классические методы

Стохастический градиентный спуск

Стохастический градиентный спуск (англ. stochastic gradient descent, SGD) обновляет параметры по градиенту потери на одном объекте или мини-пакете:


\theta_t=
\theta_{t-1}
-
\eta_t
\nabla_\theta
L\bigl(f(x_t;\theta_{t-1}),y_t\bigr),

где \eta_t — размер шага. Метод не требует вычислять градиент по всей выборке и поэтому естественно применяется к поступающим данным. Качество и устойчивость обновлений зависят от выбора шага, масштабирования признаков, порядка объектов и свойств функции потерь.[1]

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

Рекурсивный метод наименьших квадратов

Рекурсивный метод наименьших квадратов (англ. recursive least squares, RLS) предназначен для последовательного оценивания параметров линейной модели


y_t=x_t^{\mathsf T}\theta+\varepsilon_t.

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


k_t=
\frac{P_{t-1}x_t}
{1+x_t^{\mathsf T}P_{t-1}x_t},


\theta_t=
\theta_{t-1}
+
k_t\bigl(y_t-x_t^{\mathsf T}\theta_{t-1}\bigr),


P_t=
P_{t-1}
-
k_tx_t^{\mathsf T}P_{t-1}.

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

Онлайновый наивный байесовский классификатор

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

Например, число объектов класса y и среднее значение признака j можно обновлять по формулам


n_{y,t}=n_{y,t-1}+\mathbb{I}(y_t=y),


\mu_{j,y,t}=
\mu_{j,y,t-1}
+
\frac{\mathbb{I}(y_t=y)}{n_{y,t}}
\left(x_{t,j}-\mu_{j,y,t-1}\right),

где \mathbb{I} — индикатор события. Для дискретных признаков аналогично обновляются частоты значений, а для гауссовской модели — средние и дисперсии. Если данные не забываются и используются одинаковые априорные предположения, результат такого обновления совпадает с вычислением тех же статистик по всей накопленной выборке.[1]

Дерево Хёффдинга

Обычное дерево решений выбирает разбиения, анализируя обучающую выборку. Для потока данных хранение всех объектов невозможно, поэтому дерево Хёффдинга (англ. Hoeffding Tree, также Very Fast Decision Tree) накапливает в вершинах статистики, достаточные для сравнения кандидатов на разбиение.[1]

Решение о разбиении принимается с использованием границы Хёффдинга


\varepsilon=
\sqrt{
\frac{R^2\ln(1/\delta)}
{2n}
},

где n — число объектов, прошедших через вершину, R — диапазон значений критерия качества, а \delta — допустимая вероятность ошибочного выбора. Если преимущество лучшего разбиения над вторым превышает \varepsilon, накопленной информации считается достаточно для изменения структуры дерева. Алгоритм не хранит сами объекты и способен постепенно расширять дерево по мере поступления потока.

Онлайн-бэггинг и онлайн-бустинг

Бэггинг в пакетном режиме обучает базовые модели на бутстреп-выборках. В онлайн-бэггинге число повторений текущего объекта для каждого базового алгоритма выбирается из распределения Пуассона с параметром 1:


K_{t,m}\sim\operatorname{Poisson}(1),

после чего m-я модель обновляется на объекте K_{t,m} раз. Такое правило приближает распределение числа появлений объекта в обычной бутстреп-выборке при большом размере набора данных.[1]

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

Современные методы непрерывного обучения

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

Методы воспроизведения опыта

Методы воспроизведения (англ. replay-based methods) повторно предъявляют модели информацию о предыдущих этапах одновременно с новыми данными. В простейшем случае сохраняется ограниченный буфер реальных примеров, и функция потерь имеет вид


\mathcal{L}=
\mathcal{L}_{\mathrm{new}}
+
\alpha\mathcal{L}_{\mathrm{replay}},

где второе слагаемое вычисляется на объектах из памяти.

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

Регуляризационные методы

Регуляризационные методы (англ. regularization-based methods) ограничивают изменения параметров или выходов модели, важных для прежних задач. Общая форма параметрического штрафа имеет вид


\mathcal{L}(\theta)=
\mathcal{L}_{\mathrm{new}}(\theta)
+
\lambda
\sum_i
\Omega_i
\left(\theta_i-\theta_i^{\mathrm{old}}\right)^2,

где \Omega_i оценивает важность параметра \theta_i для ранее освоенных данных.

Метод Elastic Weight Consolidation оценивает важность параметров с помощью диагонального приближения информации Фишера и сильнее ограничивает изменение наиболее значимых весов.[1] Другие методы оценивают важность параметров по траектории оптимизации или сохраняют старое поведение модели через дистилляцию выходов. Например, Learning without Forgetting использует ответы предыдущей версии сети на новых данных как дополнительные мягкие цели.[1]

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

Методы изоляции параметров

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

В прогрессивных нейронных сетях (англ. progressive neural networks) для новой задачи добавляется новый столбец слоёв, связанный с зафиксированными предыдущими столбцами. Это предотвращает перезапись старых параметров и позволяет использовать ранее изученные признаки, но приводит к росту размера модели.[1]

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

Проблемы и вызовы

Катастрофическое забывание

Катастрофическое забывание (англ. catastrophic forgetting, первоначально также catastrophic interference) — резкое ухудшение качества модели на ранее изученных данных или задачах после обучения на новой информации. Явление особенно характерно для нейронных сетей с распределённым представлением знаний: одни и те же параметры участвуют в обработке разных примеров, поэтому обновления, полезные для нового инкремента, могут нарушать функции, сформированные на предыдущих этапах.[1]

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

Проблема связана с дилеммой стабильности—пластичности (англ. stability–plasticity dilemma). Слишком пластичная модель быстро приспосабливается к новым данным, но легко забывает старые; чрезмерно стабильная сохраняет прежние знания, однако плохо осваивает новую информацию. Поэтому цель инкрементного обучения состоит не в полном запрещении изменения параметров, а в достижении приемлемого баланса между сохранением и обновлением знаний.

Катастрофическое забывание оценивают по изменению качества на предыдущих задачах после обучения на последующих. Если a_{i,j} обозначает качество на задаче j после обучения до этапа i, то забывание для задачи j к моменту T можно определить как


F_{T,j}
=
\max_{i\in\{j,\ldots,T-1\}} a_{i,j}
-
a_{T,j}.

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

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

Изменение распределения данных

Во многих приложениях предполагаемое в классическом машинном обучении постоянство распределения данных не выполняется. Пусть на этапе t наблюдения порождаются распределением P_t(X,Y). Если для двух моментов времени


P_t(X,Y)\ne P_{t+\Delta}(X,Y),

то данные являются нестационарными. Изменение статистической связи, определяющей предсказываемую величину, называют изменением концепции, или дрейфом концепции (англ. concept drift).[1]

В литературе различают несколько связанных случаев:

  • изменение распределения входных признаков P(X) при неизменной зависимости P(Y\mid X);
  • изменение частот классов P(Y);
  • изменение условной зависимости P(Y\mid X), при котором прежнее правило предсказания перестаёт соответствовать данным.

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

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

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

Ограничения ресурсов и данных

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

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

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

Практические аспекты

Метрики оценки

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

В потоковом обучении часто используется последовательная оценка «предсказать, затем обучиться» (англ. test-then-train, или prequential evaluation). Для каждого объекта сначала вычисляется предсказание текущей модели, затем измеряется потеря и только после этого выполняется обновление. Средняя последовательная потеря к моменту T равна


Q_T
=
\frac{1}{T}
\sum_{t=1}^{T}
L\bigl(f(x_t;\theta_{t-1}),y_t\bigr).

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

Для последовательности из T задач удобно использовать матрицу результатов A=(a_{i,j}), где a_{i,j} — качество на тестовой выборке задачи j после завершения обучения на задаче i. На её основе определяются следующие показатели.

  • Средняя итоговая точность (англ. average accuracy):


\operatorname{ACC}_T
=
\frac{1}{T}
\sum_{j=1}^{T} a_{T,j}.

Она показывает среднее качество на всех изученных задачах после завершения последовательности.

  • Среднее забывание (англ. average forgetting):


\operatorname{F}_T
=
\frac{1}{T-1}
\sum_{j=1}^{T-1}
\left(
\max_{i\in\{j,\ldots,T-1\}} a_{i,j}
-
a_{T,j}
\right).

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

  • Обратный перенос (англ. backward transfer, BWT):


\operatorname{BWT}_T
=
\frac{1}{T-1}
\sum_{j=1}^{T-1}
\left(a_{T,j}-a_{j,j}\right).

Отрицательный BWT указывает на ухудшение старых задач, а положительный — на то, что последующее обучение улучшило прежние результаты.

  • Прямой перенос (англ. forward transfer, FWT) оценивает, помогает ли опыт предыдущих задач решать новую задачу ещё до её непосредственного обучения. Если b_j — качество независимой начальной модели на задаче j, то один из вариантов определения имеет вид


\operatorname{FWT}_T
=
\frac{1}{T-1}
\sum_{j=2}^{T}
\left(a_{j-1,j}-b_j\right).

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

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

Программные библиотеки

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

  • River — библиотека на языке Python для онлайн-машинного обучения. Она включает инкрементные алгоритмы классификации, регрессии, кластеризации, обнаружения аномалий, обработки признаков, оценки потоковых моделей и обнаружения дрейфа.[1][1]
  • scikit-learn поддерживает частичное обучение методом partial_fit() для ряда моделей, включая стохастические линейные алгоритмы, наивный байесовский классификатор, MiniBatch K-Means и некоторые методы снижения размерности. Этот интерфейс применяется для онлайн-обучения и обучения вне оперативной памяти (англ. out-of-core learning).[1]
  • MOA (Massive Online Analysis) — среда на языке Java для разработки, сравнения и оценки алгоритмов на изменяющихся потоках данных. В ней реализованы генераторы потоков, деревья Хёффдинга, ансамбли, методы кластеризации и протоколы потоковой оценки.[1][1]
  • Vowpal Wabbit — система для быстрого онлайн- и интерактивного обучения, поддерживающая линейные модели, активное обучение, контекстные бандиты и обучение на данных, не помещающихся в память.[1]
  • SAMOA (Scalable Advanced Massive Online Analysis) была разработана как распределённая платформа для классификации, регрессии и кластеризации потоков на системах потоковой обработки.[1]

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

Применения

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

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

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

Связь с другими дисциплинами

Инкрементное обучение сформировалось на пересечении нескольких научных направлений.

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

См. также

Примечания

Литература

  • Haykin S. Adaptive Filter Theory. — 4-е изд.. — Upper Saddle River: Prentice Hall, 2002. — 936 с. — ISBN 978-0-13-090126-2
  • Gama J. Knowledge Discovery from Data Streams. — Boca Raton: Chapman & Hall/CRC, 2010. — 255 с. — ISBN 978-1-4398-2611-9
  • Hoi S. C. H., Sahoo D., Lu J., Zhao P. Online Learning: A Comprehensive Survey // Neurocomputing. — 2021. — Т. 459. — С. 249—289.
  • Gama J., Žliobaitė I., Bifet A., Pechenizkiy M., Bouchachia A. A Survey on Concept Drift Adaptation // ACM Computing Surveys. — 2014. — Т. 46. — № 4. — С. 44:1—44:37. — ISSN 0360-0300.
  • Bottou L., Curtis F. E., Nocedal J. Optimization Methods for Large-Scale Machine Learning // SIAM Review. — 2018. — Т. 60. — № 2. — С. 223—311. — ISSN 0036-1445.
  • Domingos P., Hulten G. Mining High-Speed Data Streams // Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. — 2000. — С. 71—80.
  • Oza N. C., Russell S. J. Online Bagging and Boosting // Proceedings of the Eighth International Workshop on Artificial Intelligence and Statistics. — 2001. — Т. R3. — С. 229—236.
  • De Lange M., Aljundi R., Masana M., Parisot S., Jia X., Leonardis A., Slabaugh G., Tuytelaars T. A Continual Learning Survey: Defying Forgetting in Classification Tasks // IEEE Transactions on Pattern Analysis and Machine Intelligence. — 2022. — Т. 44. — № 7. — С. 3366—3385. — ISSN 0162-8828.
  • Wang L., Zhang X., Su H., Zhu J. A Comprehensive Survey of Continual Learning: Theory, Method and Application // IEEE Transactions on Pattern Analysis and Machine Intelligence. — 2024. — Т. 46. — № 8. — С. 5362—5383. — ISSN 0162-8828.
  • Lopez-Paz D., Ranzato M. Gradient Episodic Memory for Continual Learning // Advances in Neural Information Processing Systems. — 2017. — Т. 30. — С. 6467—6476.
  • Díaz-Rodríguez N., Lomonaco V., Filliat D., Maltoni D. Don't Forget, There Is More than Forgetting: New Metrics for Continual Learning // arXiv. — 2018.
  • Lesort T., Lomonaco V., Stoian A., Maltoni D., Filliat D., Díaz-Rodríguez N. Continual Learning for Robotics: Definition, Framework, Learning Strategies, Opportunities and Challenges // Information Fusion. — 2020. — Т. 58. — С. 52—68. — ISSN 1566-2535.
  • Montiel J., Halford M., Mastelini S. M., Bolmier G., Sourty R., Vaysse R., Zouitine A., Gomes H. M., Read J., Abdessalem T., Bifet A. River: Machine Learning for Streaming Data in Python // Journal of Machine Learning Research. — 2021. — Т. 22. — № 110. — С. 1—8. — ISSN 1532-4435.
  • Bifet A., Holmes G., Kirkby R., Pfahringer B. MOA: Massive Online Analysis // Journal of Machine Learning Research. — 2010. — Т. 11. — С. 1601—1604. — ISSN 1532-4435.
  • Shi H., Xu Z., Wang H., Qin W., Wang W., Wang Y., Wang Z., Ebrahimi S., Wang H. Continual Learning of Large Language Models: A Comprehensive Survey // ACM Computing Surveys. — 2025. — Т. 58. — № 5. — ISSN 0360-0300.
Личные инструменты