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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM '''DeepSeek-V4''' и проверена участником Участник:Dan-Кhaiaa Lakpazhap 18:29, 30...)
 
(4 промежуточные версии не показаны)
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''DeepSeek-V4''' и проверена участником [[Участник:Dan-Кhaiaa Lakpazhap]] 18:29, 30 июня 2026 (MSD).
 
-
Промпт приводится полностью в [[Обсуждение:Инкрементное обучение]].
 
-
}}
 
{{TOCright}}
{{TOCright}}
-
'''Инкрементное обучение''' (англ. ''incremental learning'') — парадигма [[Машинное обучение|машинного обучения]], при которой [[Обучение с учителем|модель]] последовательно адаптируется к новым данным или классам без полного переобучения на всех ранее виденных примерах. В отличие от классического пакетного (англ. ''batch learning'') подхода, где обучающая выборка доступна целиком, инкрементное обучение имитирует естественный процесс непрерывного накопления знаний, позволяя системе доучиваться «на лету». Ключевой вызов этого направления — [[катастрофическое забывание]] (англ. ''catastrophic forgetting'') — резкое падение качества на старых задачах при обработке новых данных. Инкрементное обучение тесно связано с [[Непрерывное обучение |непрерывным обучением]] (англ. ''continual learning''), [[Онлайн-обучение|онлайн-обучением]] и [[Обучение в течение всей жизни|обучением в течение всей жизни]] (англ. ''lifelong learning''), но фокусируется на поэтапном расширении компетенций модели при ограниченном доступе к историческим данным.
+
 
 +
'''Инкрементное обучение''' (англ. ''incremental learning'') — подход к [[машинное обучение|машинному обучению]], при котором модель обновляется по мере поступления новых данных без полного переобучения на всей ранее накопленной выборке. Обновление может выполняться после каждого наблюдения или после получения небольшой группы наблюдений.
 +
 
 +
'''Инкрементом''' (англ. ''increment'') называют очередную порцию информации, используемую для обновления модели. Им может быть один объект, [[мини-пакет]] наблюдений, новые признаки, классы или отдельная задача. Например, в рекомендательной системе инкрементом служат новые просмотры и покупки, появившиеся после предыдущего обновления.
 +
 
 +
Инкрементное обучение применяется, когда данные поступают непрерывно, быстро устаревают, имеют большой объём либо не могут долго храниться из-за ограничений памяти или конфиденциальности. Оно используется в [[рекомендательная система|рекомендательных системах]], обнаружении мошенничества, анализе [[временной ряд|временных рядов]], промышленном мониторинге, [[робототехника|робототехнике]], [[компьютерное зрение|компьютерном зрении]] и [[обработка естественного языка|обработке естественного языка]].<ref name="hoi2021">{{статья
 +
|автор = Hoi S. C. H., Sahoo D., Lu J., Zhao P.
 +
|заглавие = Online Learning: A Comprehensive Survey
 +
|язык = en
 +
|издание = Neurocomputing
 +
|год = 2021
 +
|том = 459
 +
|страницы = 249—289
 +
|doi = 10.1016/j.neucom.2021.04.112
 +
}}</ref>
 +
 
 +
Терминология в этой области не полностью унифицирована. В части работ инкрементное и [[онлайн-обучение]] рассматриваются как близкие понятия; в других онлайн-обучением называют обработку объектов непосредственно в потоке, а инкрементным любое обновление без переобучения с нуля, в том числе по небольшим пакетам. [[Непрерывное обучение]] (англ. ''continual learning'') обычно связывают с длительным накоплением знаний при появлении новых данных, классов или задач, особенно в нейронных сетях.<ref name="delange2022">{{статья
 +
|автор = 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
 +
|язык = en
 +
|издание = IEEE Transactions on Pattern Analysis and Machine Intelligence
 +
|год = 2022
 +
|том = 44
 +
|номер = 7
 +
|страницы = 3366—3385
 +
|doi = 10.1109/TPAMI.2021.3057446
 +
|issn = 0162-8828
 +
}}</ref>
 +
 
 +
== История ==
 +
 
 +
Последовательное обновление моделей появилось раньше современной терминологии инкрементного обучения. В 1950-х годах были предложены стохастическая аппроксимация Роббинса — Монро и [[перцептрон]] Фрэнка Розенблатта: оба подхода изменяли оценку или параметры после получения новых наблюдений.<ref>{{статья
 +
|автор = Robbins H., Monro S.
 +
|заглавие = A Stochastic Approximation Method
 +
|язык = en
 +
|издание = The Annals of Mathematical Statistics
 +
|год = 1951
 +
|том = 22
 +
|номер = 3
 +
|страницы = 400—407
 +
|doi = 10.1214/aoms/1177729586
 +
|issn = 0003-4851
 +
}}</ref><ref>{{статья
 +
|автор = Rosenblatt F.
 +
|заглавие = The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain
 +
|язык = en
 +
|издание = Psychological Review
 +
|год = 1958
 +
|том = 65
 +
|номер = 6
 +
|страницы = 386—408
 +
|doi = 10.1037/h0042519
 +
|issn = 0033-295X
 +
}}</ref>
 +
 
 +
В 1960-х годах правило наименьшего среднего квадрата (англ. ''least mean squares'', LMS) и рекурсивные методы оценивания получили распространение в адаптивной фильтрации, обработке сигналов и управлении. Позднее последовательные обновления стали использоваться в линейных классификаторах, вероятностных моделях и нейронных сетях.<ref name="haykin">{{книга
 +
|автор = Haykin S.
 +
|заглавие = Adaptive Filter Theory
 +
|язык = en
 +
|издание = 4-е изд.
 +
|место = Upper Saddle River
 +
|издательство = Prentice Hall
 +
|год = 2002
 +
|страниц = 936
 +
|isbn = 978-0-13-090126-2
 +
}}</ref>
 +
 
 +
Развитие [[стохастический градиентный спуск|стохастического градиентного спуска]] сделало возможным обучение по отдельным объектам и мини-пакетам, что стало основой крупномасштабного машинного обучения.<ref name="bottou2018">{{статья
 +
|автор = Bottou L., Curtis F. E., Nocedal J.
 +
|заглавие = Optimization Methods for Large-Scale Machine Learning
 +
|язык = en
 +
|издание = SIAM Review
 +
|год = 2018
 +
|том = 60
 +
|номер = 2
 +
|страницы = 223—311
 +
|doi = 10.1137/16M1080173
 +
|issn = 0036-1445
 +
}}</ref> В 1990-х и 2000-х годах сформировалось направление интеллектуального анализа потоков данных (англ. ''data stream mining''), ориентированное на потенциально неограниченные последовательности наблюдений и ограниченную память.<ref name="gaber2005">{{статья
 +
|автор = Gaber M. M., Zaslavsky A., Krishnaswamy S.
 +
|заглавие = Mining Data Streams: A Review
 +
|язык = en
 +
|издание = ACM SIGMOD Record
 +
|год = 2005
 +
|том = 34
 +
|номер = 2
 +
|страницы = 18—26
 +
|doi = 10.1145/1083784.1083789
 +
|issn = 0163-5808
 +
}}</ref>
 +
 
 +
С распространением глубоких нейронных сетей основное внимание сместилось к сохранению старых знаний при освоении новых классов и задач. Так сформировалось современное направление continual learning, в котором центральной проблемой стало [[катастрофическое забывание]].<ref name="wang2024">{{статья
 +
|автор = Wang L., Zhang X., Su H., Zhu J.
 +
|заглавие = A Comprehensive Survey of Continual Learning: Theory, Method and Application
 +
|язык = en
 +
|издание = IEEE Transactions on Pattern Analysis and Machine Intelligence
 +
|год = 2024
 +
|том = 46
 +
|номер = 8
 +
|страницы = 5362—5383
 +
|doi = 10.1109/TPAMI.2024.3367329
 +
|issn = 0162-8828
 +
}}</ref>
== Отличие от смежных парадигм ==
== Отличие от смежных парадигм ==
-
* ''Пакетное обучение'' (batch learning) предполагает одновременное использование всего набора данных. Модель статична и переобучается с нуля при появлении новой информации. Инкрементное обучение, напротив, обновляет существующую модель, не требуя полного доступа к прошлым данным.
 
-
* ''[[Онлайн-обучение]]'' (online learning) обрабатывает примеры последовательно, часто за один проход, но обычно решает одну стационарную задачу. Инкрементное обучение допускает нестационарность — изменение распределения данных, появление новых классов или целей.
 
-
* ''[[Обучение с переносом знаний|Дообучение]]'' (fine-tuning) адаптирует предобученную модель к новой задаче, но не гарантирует сохранения эффективности на исходной. Инкрементные алгоритмы специально разработаны для борьбы с забыванием.
 
-
* ''[[Непрерывное обучение (continual learning)|Непрерывное обучение]]'' является более широкой концепцией, включающей инкрементное обучение как частный случай, когда новые данные поступают дискретными порциями (инкрементами) и, как правило, без явного разделения по задачам.
 
-
== Формальная постановка задачи ==
+
Границы между близкими понятиями зависят от принятой терминологии, однако обычно их различают следующим образом.
-
Пусть модель <tex>f(x; \theta)</tex> с параметрами <tex>\theta</tex> обучена на наборе данных <tex>\mathcal{D}_{\text{old}} = \{(x_i, y_i)\}_{i=1}^{N_{\text{old}}}</tex>. Поступает новая партия данных <tex>\mathcal{D}_{\text{new}}</tex>, которая может содержать примеры из ранее известных классов, новых классов или даже новые задачи. Инкрементное обучение требует найти параметры <tex>\theta'</tex>, оптимизирующие целевую функцию на всех встреченных данных:
+
-
<tex> \theta^* = \arg\min_{\theta} \left[ \mathcal{L}_{\text{new}}(\theta; \mathcal{D}_{\text{new}}) + \Omega(\theta; \mathcal{D}_{\text{old}}) \right], </tex>
+
* '''Пакетное обучение''' (англ. ''batch learning'') предполагает доступ ко всей фиксированной выборке и возможность выполнять по ней несколько проходов. При появлении новых данных модель обычно повторно обучают на объединённом наборе.
 +
* '''Инкрементное обучение''' обновляет существующую модель по очередным порциям данных. Полная история может храниться, храниться частично или быть недоступной.
 +
* '''[[Онлайн-обучение]]''' (англ. ''online learning'') обычно строится как цикл «предсказание — получение ответа — немедленное обновление». Оно, как правило, является инкрементным, но инкрементное обучение не обязательно выполняется после каждого объекта.<ref name="hoi2021"/>
 +
* '''[[Непрерывное обучение]]''' (англ. ''continual learning'') изучает длительное накопление знаний при последовательном появлении данных, классов или задач и уделяет особое внимание предотвращению забывания.<ref name="delange2022"/><ref name="wang2024"/>
 +
* '''Обучение в течение всей жизни''' (англ. ''lifelong learning'') — более широкая концепция накопления, переноса и повторного использования знаний на протяжении жизненного цикла интеллектуальной системы.
 +
* '''[[Дообучение]]''' (англ. ''fine-tuning'') адаптирует предобученную модель к новым данным, но само по себе не требует сохранения качества на исходных задачах.
-
где <tex>\mathcal{L}_{\text{new}}</tex> — функция потерь на новых данных, а регуляризационный член <tex>\Omega</tex> отвечает за сохранение знаний о старых примерах, явный доступ к которым ограничен или невозможен. Основная сложность состоит в том, чтобы удержать баланс между ''пластичностью'' (способностью усваивать новое) и ''стабильностью'' (сохранением старого) — дилемма стабильности–пластичности (англ. ''stability–plasticity dilemma'').
+
Таким образом, инкрементное обучение включает не только современные методы защиты нейронных сетей от забывания, но и классические рекурсивные и потоковые алгоритмы.
-
== Ключевая проблема: катастрофическое забывание ==
+
== Основы ==
-
При последовательном обучении [[Нейронная сеть|нейронных сетей]] новые градиенты могут перезаписывать веса, критически важные для предыдущих задач, что ведёт к резкому падению точности. Это явление, впервые детально исследованное в контексте [[Коннекционизм|коннекционистских моделей]]<ref>McCloskey, M., & Cohen, N. J. (1989). Catastrophic interference in connectionist networks: The sequential learning problem. Psychology of Learning and Motivation, 24, 109—165.</ref>, стало центральным вызовом для инкрементного обучения. В современных глубоких сетях катастрофическое забывание проявляется даже при незначительном сдвиге распределения данных и требует специальных архитектурных и алгоритмических решений.
+
-
== Основные группы методов ==
+
=== Формальная постановка задачи ===
-
В обзорной литературе<ref name="delange2021">De Lange, M., Aljundi, R., Masana, M., Parisot, S., Jia, X., Leonardis, A., … Tuytelaars, T. (2021). A continual learning survey: Defying forgetting in classification tasks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 44(7), 3366—3385.</ref> выделяют три семейства подходов к инкрементному обучению.
+
-
=== Методы, основанные на воспроизведении опыта (replay) ===
+
Пусть данные поступают в виде последовательности инкрементов
-
Эти алгоритмы сохраняют небольшое подмножество старых примеров (буфер памяти) либо генерируют синтетические данные, напоминающие прошлый опыт. При дообучении на новых примерах модель одновременно тренируется и на воспроизведённых образцах, предотвращая забывание.
+
-
* '''Experience Replay''' — простейший вариант, когда случайная выборка из сохранённых старых данных добавляется в каждый мини-батч при обучении на новых данных. Объём памяти ограничен, и выбор стратегии отбора образцов (например, по наибольшей неопределённости) существенно влияет на результат.
+
<tex>
-
* '''iCaRL''' (Incremental Classifier and Representation Learning)<ref>Rebuffi, S.-A., Kolesnikov, A., Sperl, G., & Lampert, C. H. (2017). iCaRL: Incremental Classifier and Representation Learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 2001—2010).</ref> — для задач инкрементного добавления классов. Сохраняет репрезентативные примеры каждого класса и использует [[дистилляция знаний|дистилляцию знаний]] для согласования старых и новых предсказаний.
+
\mathcal{D}_1,\mathcal{D}_2,\ldots,\mathcal{D}_t,\ldots,
-
* '''Генеративное воспроизведение''' (англ. ''generative replay'') — вместо хранения реальных данных обучают генеративную модель (например, [[Вариационный автоэнкодер|VAE]] или [[Генеративно-состязательная сеть|GAN]]), способную синтезировать правдоподобные образцы прошлых задач. Это полностью снимает ограничения конфиденциальности, но требует дополнительных вычислительных затрат.
+
</tex>
-
=== Методы, основанные на регуляризации (regularization-based) ===
+
где
-
Данные подходы вводят дополнительный штраф в функцию потерь, замедляющий изменение параметров, критически важных для предыдущих задач. Оценка «важности» весов вычисляется на основе информации, доступной после завершения обучения на старых данных.
+
-
* '''Elastic Weight Consolidation (EWC)'''<ref>Kirkpatrick, J., Pascanu, R., Rabinowitz, N., Veness, J., Desjardins, G., Rusu, A. A., … Hadsell, R. (2017). Overcoming catastrophic forgetting in neural networks. Proceedings of the National Academy of Sciences, 114(13), 3521—3526.</ref> — использует [[Информация Фишера|информационную матрицу Фишера]] <tex>F</tex> для оценки значимости параметров. Функция потерь принимает вид:
+
<tex>
 +
\mathcal{D}_t=\{(x_{t,i},y_{t,i})\}_{i=1}^{n_t}
 +
</tex>
-
<tex> \mathcal{L}(\theta) = \mathcal{L}_{\text{new}}(\theta) + \frac{\lambda}{2} \sum_{i} F_i (\theta_i - \theta_{\text{old},i})^2, </tex>
+
— данные, доступные на этапе <tex>t</tex>. Один инкремент может содержать один объект или пакет наблюдений. После его обработки параметры модели обновляются:
-
где <tex>\theta_{\text{old}}</tex> — параметры после обучения на старой задаче, а <tex>F_i</tex> — диагональные элементы матрицы Фишера, отражающие, насколько сильно изменение <tex>i</tex>-го веса влияет на выход модели. Коэффициент <tex>\lambda</tex> управляет силой регуляризации.
+
<tex>
 +
\theta_t=
 +
\operatorname{Update}
 +
\left(\theta_{t-1},\mathcal{D}_t,\mathcal{M}_{t-1}\right),
 +
</tex>
-
* '''Synaptic Intelligence (SI)'''<ref>Zenke, F., Poole, B., & Ganguli, S. (2017). Continual learning through synaptic intelligence. In Proceedings of the 34th International Conference on Machine Learning (pp. 3987—3995).</ref> — оценивает важность весов вдоль траектории оптимизации, накапливая вклад каждого параметра в уменьшение функции потерь. Это позволяет обойтись без вычисления вторых производных.
+
где <tex>\mathcal{M}_{t-1}</tex> — необязательная память о прошлом: сохранённые примеры, агрегированные статистики или параметры предыдущей модели.
-
* '''Memory Aware Synapses (MAS)'''<ref>Aljundi, R., Babiloni, F., Elhoseiny, M., Rohrbach, M., & Tuytelaars, T. (2018). Memory Aware Synapses: Learning what (not) to forget. In Proceedings of the European Conference on Computer Vision (ECCV) (pp. 139—154).</ref> — оценивает важность весов по чувствительности выхода модели к малым возмущениям веса, не требуя доступа к меткам.
+
-
* '''Learning without Forgetting (LwF)'''<ref>Li, Z., & Hoiem, D. (2016). Learning without Forgetting. In Proceedings of the European Conference on Computer Vision (ECCV) (pp. 614—629).</ref> — основан на дистилляции знаний: ответы «учительской» (старой) сети на новых данных используются как мягкие целевые метки наряду с истинными метками новых примеров. Это позволяет сохранять старые знания без доступа к старым данным.
+
-
=== Методы, основанные на изоляции параметров (parameter isolation) ===
+
Если распределение данных остаётся постоянным, желателен результат, близкий к пакетному обучению на объединении всех наблюдений. Для обучения с учителем эмпирический риск можно записать как
-
В этих подходах для разных задач или этапов обучения выделяются непересекающиеся подмножества параметров, что полностью устраняет интерференцию.
+
-
* '''Progressive Neural Networks (PNN)'''<ref>Rusu, A. A., Rabinowitz, N. C., Desjardins, G., Soyer, H., Kirkpatrick, J., Kavukcuoglu, K., … Hadsell, R. (2016). Progressive neural networks. arXiv preprint arXiv:1606.04671.</ref> — для каждой новой задачи к исходной сети добавляется отдельный столбец слоёв, а связи с предыдущими столбцами фиксируются. Платой является линейный рост числа параметров.
+
<tex>
-
* '''PackNet'''<ref>Mallya, A., & Lazebnik, S. (2018). PackNet: Adding Multiple Tasks to a Single Network by Iterative Pruning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 7765—7773).</ref> — использует итеративное [[Прореживание нейронной сети|прунинг]] (англ. ''pruning'') для высвобождения весов под новые задачи в одной фиксированной по размеру сети.
+
R_t(\theta)=
-
* '''Динамическое расширение архитектуры''' — группа методов, добавляющих новые нейроны или слои по мере необходимости (например, DEN<ref>Yoon, J., Yang, E., Lee, J., & Hwang, S. J. (2018). Lifelong Learning with Dynamically Expandable Networks. In International Conference on Learning Representations (ICLR).</ref>), что позволяет наращивать ёмкость без катастрофического забывания.
+
\frac{1}{N_t}
 +
\sum_{s=1}^{t}
 +
\sum_{i=1}^{n_s}
 +
L\left(f(x_{s,i};\theta),y_{s,i}\right).
 +
</tex>
-
== Практические аспекты и метрики ==
+
Здесь
-
При инкрементном обучении важны ограничения по памяти (размер буфера воспроизведения) и вычислительные затраты. Сценарии различаются по типу поступающих инкрементов: ''инкремент классов'' (добавление новых классов при сохранении старых), ''инкремент задач'' (чётко разделённые последовательные задачи) и ''инкремент данных'' (поток примеров в рамках одной задачи). Каждый сценарий предъявляет свои требования к методу.
+
-
Для количественной оценки успешности инкрементного обучения используется набор метрик, среди которых<ref>Lopez-Paz, D., & Ranzato, M. A. (2017). Gradient Episodic Memory for Continual Learning. In Advances in Neural Information Processing Systems (pp. 6467—6476).</ref>:
+
<tex>
-
* ''Средняя точность'' (англ. ''average accuracy'') по всем виденным задачам после завершения последовательности.
+
N_t=\sum_{s=1}^{t}n_s.
-
* ''Показатель забывания'' (англ. ''forgetting measure'') — разность между максимальной точностью, достигнутой на задаче, и точностью после обучения на последующих задачах. Формально для задачи <tex>j</tex>: <tex> f_j^k = \max_{l \in \{1,\dots,k-1\}} (a_{l,j} - a_{k,j}) </tex>, где <tex>a_{k,j}</tex> — точность на задаче <tex>j</tex> после обучения на задаче <tex>k</tex>.
+
</tex>
-
* ''Перенос знаний'' (англ. ''backward transfer'') — показывает, насколько обучение новым задачам улучшило (положительный перенос) или ухудшило (отрицательный) результаты на старых.
+
-
== Применения ==
+
Пакетный алгоритм минимизирует этот риск, обращаясь ко всей выборке, а инкрементный использует новый инкремент и ограниченное состояние предыдущего этапа. В изменяющейся среде старые данные могут иметь меньший вес; тогда применяются скользящие окна, коэффициенты забывания или иные механизмы адаптации.
-
* '''[[Робототехника]]''' — робот, действующий в реальном мире, постоянно сталкивается с новыми объектами, условиями освещения и командами. Инкрементное обучение позволяет адаптироваться без переобучения с нуля, что критически важно для автономных систем<ref>Lesort, T., Lomonaco, V., Stoian, A., Maltoni, D., Filliat, D., & Díaz-Rodríguez, N. (2020). Continual learning for robotics: Definition, framework, learning strategies, opportunities and challenges. Information Fusion, 58, 52—68.</ref>.
+
 
-
* '''[[Рекомендательная система|Рекомендательные системы]]''' — интересы пользователей меняются, появляются новые товары. Инкрементные алгоритмы дообучают модель на свежих взаимодействиях, не теряя накопленной информации о долгосрочных предпочтениях.
+
=== Типы инкрементов ===
-
* '''[[Автономный автомобиль|Автономное вождение]]''' — потоковая обработка сенсорных данных в меняющихся погодных и дорожных условиях требует постоянной адаптации без забывания базовых навыков восприятия.
+
 
-
* '''Медицинская диагностика''' — при появлении новых заболеваний или методов визуализации модель должна расширять свои возможности без повторного обучения на исторических медицинских данных, которые могут быть недоступны по этическим или юридическим причинам.
+
В зависимости от изменяющейся части задачи выделяют несколько сценариев.
-
* '''[[Обработка естественного языка]]''' — языковые модели, дообучаемые на новых текстах или терминах, рискуют забыть ранее выученные языковые конструкции; методы инкрементного обучения позволяют этого избежать.
+
 
 +
* '''Инкремент данных''' (англ. ''data-incremental learning'') — поступают новые наблюдения из прежнего пространства признаков и классов.
 +
* '''Инкремент классов''' (англ. ''class-incremental learning'') — появляются ранее неизвестные классы, которые требуется различать вместе со старыми.
 +
* '''Инкремент задач''' (англ. ''task-incremental learning'') — модель последовательно осваивает несколько задач.
 +
* '''Инкремент признаков''' (англ. ''feature-incremental learning'') — добавляются новые признаки или способы представления объектов.
 +
 
 +
В реальных системах эти сценарии могут сочетаться: например, одновременно появляются новые товары, категории и пользовательские сигналы.
 +
 
 +
=== Потоковые данные ===
 +
 
 +
'''Поток данных''' (англ. ''data stream'') — упорядоченная последовательность наблюдений, поступающая во времени и потенциально не имеющая заранее известного конца. Интеллектуальный анализ потоков данных изучает методы извлечения моделей и закономерностей из таких последовательностей.<ref name="gaber2005"/><ref>{{книга
 +
|автор = Gama J.
 +
|заглавие = Knowledge Discovery from Data Streams
 +
|язык = en
 +
|место = Boca Raton
 +
|издательство = Chapman & Hall/CRC
 +
|год = 2010
 +
|страниц = 255
 +
|isbn = 978-1-4398-2611-9
 +
}}</ref>
 +
 
 +
Потоковые алгоритмы обычно работают при ограниченной памяти, выполняют один или небольшое число проходов, быстро обрабатывают каждый объект и учитывают возможное изменение распределения. Истинные ответы при этом могут поступать с задержкой.
 +
 
 +
Инкрементное обучение и потоковый анализ связаны, но не тождественны. Инкрементный алгоритм может обрабатывать конечную последовательность пакетов, а потоковая аналитика включает также кластеризацию, оценивание статистик, поиск аномалий и обнаружение изменений.
 +
 
 +
Для оценки модели часто используют схему «предсказать, затем обучиться» (англ. ''test-then-train'', или ''prequential evaluation''): объект сначала служит для проверки текущей модели и только затем — для её обновления.
 +
 
 +
== Методы инкрементного обучения ==
 +
 
 +
Инкрементность является свойством процедуры обновления, а не отдельным типом модели. Последовательно обучаться могут линейные модели, вероятностные классификаторы, деревья решений, ансамбли и нейронные сети.
 +
 
 +
=== Классические методы ===
 +
 
 +
==== Стохастический градиентный спуск ====
 +
 
 +
[[Стохастический градиентный спуск]] (англ. ''stochastic gradient descent'', SGD) вместо градиента по всей выборке использует случайно выбранный объект или мини-пакет. Благодаря этому параметры можно обновлять после поступления каждой новой порции данных:
 +
 
 +
<tex>
 +
\theta_t =
 +
\theta_{t-1}
 +
-
 +
\eta_t
 +
\nabla_{\theta}
 +
L\left(f(x_t;\theta_{t-1}),y_t\right).
 +
</tex>
 +
 
 +
SGD применяется для инкрементного обучения линейных моделей и нейронных сетей, однако сам по себе не защищает их от забывания при смене задач или распределений.<ref name="bottou2018"/>
 +
 
 +
==== Рекурсивный метод наименьших квадратов ====
 +
 
 +
Рекурсивный метод наименьших квадратов (англ. ''recursive least squares'', RLS) обновляет параметры линейной регрессии и необходимые матричные статистики после каждого нового наблюдения. Без забывания такое обновление может быть эквивалентно пакетному решению, а коэффициент забывания позволяет сильнее учитывать свежие данные.<ref name="haykin"/>
 +
 
 +
==== Онлайновый наивный байесовский классификатор ====
 +
 
 +
[[Наивный байесовский классификатор]] обновляется через накопленные количества, средние, дисперсии или частоты признаков по классам. Поэтому для нового объекта достаточно изменить соответствующие статистики, не возвращаясь ко всей выборке.
 +
 
 +
==== Дерево Хёффдинга ====
 +
 
 +
Дерево Хёффдинга (англ. ''Hoeffding Tree'') — потоковый вариант [[дерево решений|дерева решений]]. Оно накапливает статистики в вершинах и выполняет разбиение, когда наблюдений достаточно, чтобы с заданной вероятностью выбрать лучший признак. Хранить сами обработанные объекты не требуется.<ref name="domingos2000">{{статья
 +
|автор = Domingos P., Hulten G.
 +
|заглавие = Mining High-Speed Data Streams
 +
|язык = en
 +
|издание = Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining
 +
|год = 2000
 +
|страницы = 71—80
 +
|doi = 10.1145/347090.347107
 +
}}</ref>
 +
 
 +
==== Онлайн-бэггинг и онлайн-бустинг ====
 +
 
 +
Онлайн-бэггинг имитирует бутстреп-выборки, случайным образом определяя, сколько раз новый объект будет использован каждым базовым алгоритмом. Онлайн-бустинг последовательно меняет веса объектов и моделей, приближая пакетный [[бустинг]] без хранения полной выборки.<ref name="oza2001">{{статья
 +
|автор = Oza N. C., Russell S. J.
 +
|заглавие = Online Bagging and Boosting
 +
|язык = en
 +
|издание = Proceedings of the Eighth International Workshop on Artificial Intelligence and Statistics
 +
|год = 2001
 +
|том = R3
 +
|страницы = 229—236
 +
}}</ref>
 +
 
 +
=== Современные методы непрерывного обучения ===
 +
 
 +
В непрерывном обучении нейронных сетей требуется не только экономно обновлять модель, но и сохранять качество на прежних данных и задачах. Большинство методов относят к трём группам; многие алгоритмы сочетают их.<ref name="delange2022"/><ref name="wang2024"/>
 +
 
 +
==== Методы воспроизведения опыта ====
 +
 
 +
Методы воспроизведения (англ. ''replay-based methods'') обучают модель одновременно на новых данных и информации о прошлых этапах. Это может быть небольшой буфер реальных примеров, их скрытые представления или синтетические данные. Например, iCaRL хранит представителей старых классов и использует [[дистилляция знаний|дистилляцию знаний]].<ref>{{статья
 +
|автор = Rebuffi S.-A., Kolesnikov A., Sperl G., Lampert C. H.
 +
|заглавие = iCaRL: Incremental Classifier and Representation Learning
 +
|язык = en
 +
|издание = 2017 IEEE Conference on Computer Vision and Pattern Recognition
 +
|год = 2017
 +
|страницы = 5533—5542
 +
|doi = 10.1109/CVPR.2017.587
 +
}}</ref>
 +
 
 +
==== Регуляризационные методы ====
 +
 
 +
Регуляризационные методы (англ. ''regularization-based methods'') ограничивают изменение параметров или выходов, важных для прежних задач. К ним относятся Elastic Weight Consolidation, оценивающий важность весов через информацию Фишера, и Learning without Forgetting, сохраняющий прежнее поведение с помощью дистилляции.<ref>{{статья
 +
|автор = Kirkpatrick J., Pascanu R., Rabinowitz N., Veness J., Desjardins G., Rusu A. A., Milan K., Quan J., Ramalho T., Grabska-Barwinska A., Hassabis D., Clopath C., Kumaran D., Hadsell R.
 +
|заглавие = Overcoming Catastrophic Forgetting in Neural Networks
 +
|язык = en
 +
|издание = Proceedings of the National Academy of Sciences
 +
|год = 2017
 +
|том = 114
 +
|номер = 13
 +
|страницы = 3521—3526
 +
|doi = 10.1073/pnas.1611835114
 +
|issn = 0027-8424
 +
}}</ref><ref>{{статья
 +
|автор = Li Z., Hoiem D.
 +
|заглавие = Learning without Forgetting
 +
|язык = en
 +
|издание = Computer Vision — ECCV 2016
 +
|год = 2016
 +
|том = 9908
 +
|страницы = 614—629
 +
|doi = 10.1007/978-3-319-46493-0_37
 +
}}</ref>
 +
 
 +
==== Методы изоляции параметров ====
 +
 
 +
Методы изоляции параметров (англ. ''parameter isolation methods'') выделяют разным задачам отдельные веса, маски или модули. Это уменьшает интерференцию, но может требовать знания границ задач и приводить к росту модели. Прогрессивные нейронные сети, например, добавляют новый блок параметров для каждой задачи и фиксируют ранее обученные блоки.<ref>{{статья
 +
|автор = Rusu A. A., Rabinowitz N. C., Desjardins G., Soyer H., Kirkpatrick J., Kavukcuoglu K., Pascanu R., Hadsell R.
 +
|заглавие = Progressive Neural Networks
 +
|язык = en
 +
|издание = arXiv
 +
|год = 2016
 +
|номер = 1606.04671
 +
|doi = 10.48550/arXiv.1606.04671
 +
}}</ref>
 +
 
 +
== Проблемы и вызовы ==
 +
 
 +
=== Катастрофическое забывание ===
 +
 
 +
'''Катастрофическое забывание''' (англ. ''catastrophic forgetting'', первоначально ''catastrophic interference'') резкое ухудшение качества на ранее изученных данных или задачах после обучения на новой информации. В нейронных сетях одни и те же параметры участвуют в обработке разных примеров, поэтому полезные для нового инкремента обновления могут нарушать ранее сформированные функции.<ref name="mccloskey1989">{{книга
 +
|автор = McCloskey M., Cohen N. J.
 +
|часть = Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem
 +
|заглавие = Psychology of Learning and Motivation
 +
|язык = en
 +
|том = 24
 +
|место = San Diego
 +
|издательство = Academic Press
 +
|год = 1989
 +
|страницы = 109—165
 +
|doi = 10.1016/S0079-7421(08)60536-8
 +
}}</ref>
 +
 
 +
Проблема выражает дилемму стабильности—пластичности (англ. ''stability–plasticity dilemma''): слишком пластичная модель быстро осваивает новое, но забывает старое; слишком стабильная сохраняет знания, но плохо адаптируется. Поэтому метод должен одновременно поддерживать обучение, сохранение знаний и приемлемые затраты памяти и вычислений.
 +
 
 +
=== Изменение распределения данных ===
 +
 
 +
Если распределение наблюдений меняется во времени, данные называют нестационарными. Изменение зависимости, определяющей предсказываемую величину, называется дрейфом концепции (англ. ''concept drift'').<ref name="gama2014">{{статья
 +
|автор = Gama J., Žliobaitė I., Bifet A., Pechenizkiy M., Bouchachia A.
 +
|заглавие = A Survey on Concept Drift Adaptation
 +
|язык = en
 +
|издание = ACM Computing Surveys
 +
|год = 2014
 +
|том = 46
 +
|номер = 4
 +
|страницы = 44:1—44:37
 +
|doi = 10.1145/2523813
 +
|issn = 0360-0300
 +
}}</ref>
 +
 
 +
Дрейф бывает резким, постепенным, медленным инкрементным или повторяющимся. Для адаптации используют скользящие окна, уменьшение веса старых наблюдений, детекторы изменений, перестройку дерева и обновление ансамбля. Если правильные ответы поступают с задержкой, обнаружить изменение по росту ошибки можно только после получения обратной связи.
 +
 
 +
=== Ограничения ресурсов и данных ===
 +
 
 +
Инкрементные методы оценивают не только по качеству, но и по объёму памяти, времени одного обновления, пропускной способности и росту размера модели. Хранение старых примеров уменьшает забывание, но увеличивает затраты и может быть недопустимо из-за конфиденциальности; агрегированные статистики компактнее, но не всегда достаточны.
 +
 
 +
Дополнительные трудности создают дисбаланс классов, шумные метки, новые признаки, неполные наблюдения и задержка обратной связи. При потоковой проверке важно исключать утечку данных: объект сначала оценивает модель и только затем используется для обучения.
 +
 
 +
== Практические аспекты ==
 +
 
 +
=== Метрики оценки ===
 +
 
 +
Инкрементную модель оценивают во времени: учитывают текущее качество, сохранение старых знаний, перенос между задачами и стоимость обновления.<ref name="metrics2018">{{статья
 +
|автор = Díaz-Rodríguez N., Lomonaco V., Filliat D., Maltoni D.
 +
|заглавие = Don't Forget, There Is More than Forgetting: New Metrics for Continual Learning
 +
|язык = en
 +
|издание = arXiv
 +
|год = 2018
 +
|arxiv = 1810.13166
 +
|doi = 10.48550/arXiv.1810.13166
 +
}}</ref>
 +
 
 +
В потоковой схеме «предсказать, затем обучиться» средняя последовательная потеря равна
 +
 
 +
<tex>
 +
Q_T=
 +
\frac{1}{T}
 +
\sum_{t=1}^{T}
 +
L\left(f(x_t;\theta_{t-1}),y_t\right).
 +
</tex>
 +
 
 +
Для последовательности задач используют матрицу <tex>A=(a_{i,j})</tex>, где <tex>a_{i,j}</tex> — качество на задаче <tex>j</tex> после обучения до этапа <tex>i</tex>. Средняя итоговая точность определяется как
 +
 
 +
<tex>
 +
\operatorname{ACC}_T=
 +
\frac{1}{T}
 +
\sum_{j=1}^{T}a_{T,j}.
 +
</tex>
 +
 
 +
Забывание для задачи <tex>j</tex> можно измерять разностью между её лучшим предыдущим и итоговым результатом:
 +
 
 +
<tex>
 +
F_{T,j}=
 +
\max_{i\in\{j,\ldots,T-1\}}a_{i,j}
 +
-
 +
a_{T,j}.
 +
</tex>
 +
 
 +
Дополнительно оценивают прямой и обратный перенос знаний, объём памяти, время обновления, скорость потока, рост модели, задержку обнаружения дрейфа и скорость восстановления после изменения.<ref name="gem2017">{{статья
 +
|автор = Lopez-Paz D., Ranzato M.
 +
|заглавие = Gradient Episodic Memory for Continual Learning
 +
|язык = en
 +
|издание = Advances in Neural Information Processing Systems
 +
|год = 2017
 +
|том = 30
 +
|страницы = 6467—6476
 +
}}</ref>
 +
 
 +
=== Программные библиотеки ===
 +
 
 +
* '''River''' — библиотека Python для потоковой классификации, регрессии, кластеризации, обнаружения аномалий и дрейфа.<ref name="riverpaper">{{статья
 +
|автор = 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
 +
|язык = en
 +
|издание = Journal of Machine Learning Research
 +
|год = 2021
 +
|том = 22
 +
|номер = 110
 +
|страницы = 1—8
 +
|issn = 1532-4435
 +
}}</ref><ref>{{cite web
 +
|url = https://riverml.xyz/
 +
|title = River — Online Machine Learning in Python
 +
|lang = en
 +
|website = River
 +
|access-date = 2026-07-26
 +
}}</ref>
 +
* '''scikit-learn''' предоставляет метод <code>partial_fit()</code> для части линейных, байесовских и мини-пакетных алгоритмов.<ref>{{cite web
 +
|url = https://scikit-learn.org/stable/computing/scaling_strategies.html
 +
|title = Strategies to Scale Computationally: Bigger Data
 +
|lang = en
 +
|website = scikit-learn
 +
|access-date = 2026-07-26
 +
}}</ref>
 +
* '''MOA''' — среда Java для разработки и сравнения алгоритмов обучения на изменяющихся потоках.<ref name="moa2010">{{статья
 +
|автор = Bifet A., Holmes G., Kirkby R., Pfahringer B.
 +
|заглавие = MOA: Massive Online Analysis
 +
|язык = en
 +
|издание = Journal of Machine Learning Research
 +
|год = 2010
 +
|том = 11
 +
|страницы = 1601—1604
 +
|issn = 1532-4435
 +
}}</ref>
 +
* '''Vowpal Wabbit''' поддерживает быстрое онлайн-обучение, активное обучение и контекстные бандиты.<ref>{{cite web
 +
|url = https://vowpalwabbit.org/
 +
|title = Vowpal Wabbit
 +
|lang = en
 +
|website = Vowpal Wabbit
 +
|access-date = 2026-07-26
 +
}}</ref>
 +
* '''SAMOA''' предназначена для распределённого анализа потоков данных.<ref>{{статья
 +
|автор = De Francisci Morales G., Bifet A.
 +
|заглавие = SAMOA: Scalable Advanced Massive Online Analysis
 +
|язык = en
 +
|издание = Journal of Machine Learning Research
 +
|год = 2015
 +
|том = 16
 +
|страницы = 149—153
 +
|issn = 1532-4435
 +
}}</ref>
 +
 
 +
Наличие интерфейса частичного обновления не гарантирует устойчивости к дрейфу или забыванию: эти свойства зависят от конкретного алгоритма и протокола обучения.
 +
 
 +
=== Применения ===
 +
 
 +
* В [[рекомендательная система|рекомендательных системах]] модель обновляется по новым просмотрам, оценкам и покупкам.
 +
* В обнаружении мошенничества, спама и сетевых атак последовательное обучение позволяет учитывать новые схемы поведения.
 +
* В промышленном мониторинге и [[Интернет вещей|Интернете вещей]] оно используется для обнаружения аномалий и прогнозирования отказов.
 +
* В [[робототехника|робототехнике]] и автономных системах модель осваивает новые объекты, условия и навыки во время эксплуатации.<ref>{{статья
 +
|автор = 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
 +
|язык = en
 +
|издание = Information Fusion
 +
|год = 2020
 +
|том = 58
 +
|страницы = 52—68
 +
|doi = 10.1016/j.inffus.2019.12.004
 +
|issn = 1566-2535
 +
}}</ref>
 +
* В медицинских системах модели обновляются при накоплении наблюдений и изменении протоколов измерения; здесь особенно важны проверка качества и конфиденциальность.
 +
* В [[обработка естественного языка|обработке естественного языка]] модели адаптируются к новым темам, терминам и пользовательским данным. Для [[большая языковая модель|больших языковых моделей]] исследуются непрерывное предобучение и последовательное дообучение.<ref>{{статья
 +
|автор = 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
 +
|язык = en
 +
|издание = ACM Computing Surveys
 +
|год = 2025
 +
|том = 58
 +
|номер = 5
 +
|doi = 10.1145/3735633
 +
|issn = 0360-0300
 +
}}</ref>
 +
 
 +
В производственных системах инкрементное обновление сопровождают мониторингом метрик, версионированием, проверкой на отложенных данных и возможностью отката модели.
== Связь с другими дисциплинами ==
== Связь с другими дисциплинами ==
-
Инкрементное обучение перекликается с исследованиями [[Нейробиология|нейробиологии]] (механизмы памяти и забывания в мозге), [[Когнитивная наука|когнитивной наукой]] (консолидация памяти, интерференция) и [[Психология|психологией]] научения. Дилемма стабильности–пластичности имеет прямой биологический аналог в синаптической пластичности. В техническом плане оно заимствует идеи из [[Оптимизация|оптимизации]] (регуляризация, дистилляция), [[Теория информации|теории информации]] (информация Фишера) и [[Байесовская статистика|байесовской статистики]] (априорное распределение как закрепление старых знаний).
+
 
 +
Инкрементное обучение связано с последовательным оцениванием в [[математическая статистика|математической статистике]], стохастическими методами и регретом в [[математическая оптимизация|оптимизации]], адаптивной фильтрацией в обработке сигналов и адаптивным управлением. В базах данных и распределённых вычислениях близкие задачи возникают при обработке потоковых запросов и приближённых статистик.
 +
 
 +
В [[когнитивная наука|когнитивной науке]] и нейробиологии техническую проблему сохранения знаний сопоставляют с интерференцией и консолидацией памяти. Это сопоставление служит источником идей, но искусственные модели не следует считать прямыми моделями человеческой памяти.
== См. также ==
== См. также ==
-
* [[Катастрофическое забывание]]
+
 
-
* [[Непрерывное обучение]]
+
* [[Машинное обучение]]
* [[Онлайн-обучение]]
* [[Онлайн-обучение]]
 +
* [[Непрерывное обучение]]
 +
* [[Обучение с переносом знаний]]
 +
* [[Стохастический градиентный спуск]]
 +
* [[Наивный байесовский классификатор]]
 +
* [[Дерево решений]]
 +
* [[Ансамблевое обучение]]
 +
* [[Катастрофическое забывание]]
* [[Дистилляция знаний]]
* [[Дистилляция знаний]]
-
* [[Регуляризация ]]
+
* [[Потоковая обработка данных]]
-
* [[Обучение с подкреплением]]
+
* [[Обнаружение аномалий]]
-
* [[Автономный агент]]
+
* [[Адаптивный фильтр]]
 +
* [[Временной ряд]]
== Примечания ==
== Примечания ==
Строка 82: Строка 502:
== Литература ==
== Литература ==
 +
 +
* {{книга
 +
|автор = Haykin S.
 +
|заглавие = Adaptive Filter Theory
 +
|язык = en
 +
|издание = 4-е изд.
 +
|место = Upper Saddle River
 +
|издательство = Prentice Hall
 +
|год = 2002
 +
|страниц = 936
 +
|isbn = 978-0-13-090126-2
 +
}}
 +
 +
* {{книга
 +
|автор = Gama J.
 +
|заглавие = Knowledge Discovery from Data Streams
 +
|язык = en
 +
|место = Boca Raton
 +
|издательство = Chapman & Hall/CRC
 +
|год = 2010
 +
|страниц = 255
 +
|isbn = 978-1-4398-2611-9
 +
}}
 +
* {{статья
* {{статья
-
|автор = McCloskey M., Cohen N. J.
+
|автор = Hoi S. C. H., Sahoo D., Lu J., Zhao P.
-
|заглавие = Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem
+
|заглавие = Online Learning: A Comprehensive Survey
-
|издание = Psychology of Learning and Motivation
+
|язык = en
-
|год = 1989
+
|издание = Neurocomputing
-
|том = 24
+
|год = 2021
-
|страницы = 109—165
+
|том = 459
 +
|страницы = 249—289
 +
|doi = 10.1016/j.neucom.2021.04.112
}}
}}
 +
* {{статья
* {{статья
-
|автор = Kirkpatrick J., Pascanu R., Rabinowitz N., Veness J., Desjardins G., Rusu A. A., ... Hadsell R.
+
|автор = Gama J., Žliobaitė I., Bifet A., Pechenizkiy M., Bouchachia A.
-
|заглавие = Overcoming catastrophic forgetting in neural networks
+
|заглавие = A Survey on Concept Drift Adaptation
-
|издание = Proceedings of the National Academy of Sciences
+
|язык = en
-
|год = 2017
+
|издание = ACM Computing Surveys
-
|том = 114
+
|год = 2014
-
|номер = 13
+
|том = 46
-
|страницы = 3521—3526
+
|номер = 4
 +
|страницы = 44:1—44:37
 +
|doi = 10.1145/2523813
 +
|issn = 0360-0300
}}
}}
 +
* {{статья
* {{статья
-
|автор = Rebuffi S.-A., Kolesnikov A., Sperl G., Lampert C. H.
+
|автор = Bottou L., Curtis F. E., Nocedal J.
-
|заглавие = iCaRL: Incremental Classifier and Representation Learning
+
|заглавие = Optimization Methods for Large-Scale Machine Learning
-
|издание = Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
+
|язык = en
-
|год = 2017
+
|издание = SIAM Review
-
|страницы = 2001—2010
+
|год = 2018
 +
|том = 60
 +
|номер = 2
 +
|страницы = 223—311
 +
|doi = 10.1137/16M1080173
 +
|issn = 0036-1445
}}
}}
 +
* {{статья
* {{статья
-
|автор = Li Z., Hoiem D.
+
|автор = Domingos P., Hulten G.
-
|заглавие = Learning without Forgetting
+
|заглавие = Mining High-Speed Data Streams
-
|издание = Proceedings of the European Conference on Computer Vision (ECCV)
+
|язык = en
-
|год = 2016
+
|издание = Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining
-
|страницы = 614—629
+
|год = 2000
 +
|страницы = 71—80
 +
|doi = 10.1145/347090.347107
}}
}}
 +
* {{статья
* {{статья
-
|автор = Zenke F., Poole B., Ganguli S.
+
|автор = Oza N. C., Russell S. J.
-
|заглавие = Continual Learning Through Synaptic Intelligence
+
|заглавие = Online Bagging and Boosting
-
|издание = Proceedings of the 34th International Conference on Machine Learning (ICML)
+
|язык = en
-
|год = 2017
+
|издание = Proceedings of the Eighth International Workshop on Artificial Intelligence and Statistics
-
|страницы = 3987—3995
+
|год = 2001
 +
|том = R3
 +
|страницы = 229—236
}}
}}
 +
* {{статья
* {{статья
-
|автор = Aljundi R., Babiloni F., Elhoseiny M., Rohrbach M., Tuytelaars T.
+
|автор = De Lange M., Aljundi R., Masana M., Parisot S., Jia X., Leonardis A., Slabaugh G., Tuytelaars T.
-
|заглавие = Memory Aware Synapses: Learning what (not) to forget
+
|заглавие = A Continual Learning Survey: Defying Forgetting in Classification Tasks
-
|издание = Proceedings of the European Conference on Computer Vision (ECCV)
+
|язык = en
-
|год = 2018
+
|издание = IEEE Transactions on Pattern Analysis and Machine Intelligence
-
|страницы = 139—154
+
|год = 2022
 +
|том = 44
 +
|номер = 7
 +
|страницы = 3366—3385
 +
|doi = 10.1109/TPAMI.2021.3057446
 +
|issn = 0162-8828
}}
}}
 +
* {{статья
* {{статья
-
|автор = De Lange M., Aljundi R., Masana M., Parisot S., Jia X., Leonardis A., ... Tuytelaars T.
+
|автор = Wang L., Zhang X., Su H., Zhu J.
-
|заглавие = A continual learning survey: Defying forgetting in classification tasks
+
|заглавие = A Comprehensive Survey of Continual Learning: Theory, Method and Application
-
|издание = IEEE Transactions on Pattern Analysis and Machine Intelligence
+
|язык = en
-
|год = 2021
+
|издание = IEEE Transactions on Pattern Analysis and Machine Intelligence
-
|том = 44
+
|год = 2024
-
|номер = 7
+
|том = 46
-
|страницы = 3366—3385
+
|номер = 8
 +
|страницы = 5362—5383
 +
|doi = 10.1109/TPAMI.2024.3367329
 +
|issn = 0162-8828
}}
}}
 +
* {{статья
* {{статья
-
|автор = Rusu A. A., Rabinowitz N. C., Desjardins G., Soyer H., Kirkpatrick J., Kavukcuoglu K., ... Hadsell R.
+
|автор = Lopez-Paz D., Ranzato M.
-
|заглавие = Progressive Neural Networks
+
|заглавие = Gradient Episodic Memory for Continual Learning
-
|издание = arXiv preprint arXiv:1606.04671
+
|язык = en
-
|год = 2016
+
|издание = Advances in Neural Information Processing Systems
 +
|год = 2017
 +
|том = 30
 +
|страницы = 6467—6476
}}
}}
 +
* {{статья
* {{статья
-
|автор = Yoon J., Yang E., Lee J., Hwang S. J.
+
|автор = Díaz-Rodríguez N., Lomonaco V., Filliat D., Maltoni D.
-
|заглавие = Lifelong Learning with Dynamically Expandable Networks
+
|заглавие = Don't Forget, There Is More than Forgetting: New Metrics for Continual Learning
-
|издание = International Conference on Learning Representations (ICLR)
+
|язык = en
-
|год = 2018
+
|издание = arXiv
 +
|год = 2018
 +
|arxiv = 1810.13166
 +
|doi = 10.48550/arXiv.1810.13166
}}
}}
 +
 +
* {{статья
 +
|автор = 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
 +
|язык = en
 +
|издание = Information Fusion
 +
|год = 2020
 +
|том = 58
 +
|страницы = 52—68
 +
|doi = 10.1016/j.inffus.2019.12.004
 +
|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
 +
|язык = en
 +
|издание = 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
 +
|язык = en
 +
|издание = Journal of Machine Learning Research
 +
|год = 2010
 +
|том = 11
 +
|страницы = 1601—1604
 +
|issn = 1532-4435
 +
}}
 +
* {{статья
* {{статья
-
|автор = Lesort T., Lomonaco V., Stoian A., Maltoni D., Filliat D., Díaz-Rodríguez N.
+
|автор = Shi H., Xu Z., Wang H., Qin W., Wang W., Wang Y., Wang Z., Ebrahimi S., Wang H.
-
|заглавие = Continual learning for robotics: Definition, framework, learning strategies, opportunities and challenges
+
|заглавие = Continual Learning of Large Language Models: A Comprehensive Survey
-
|издание = Information Fusion
+
|язык = en
-
|год = 2020
+
|издание = ACM Computing Surveys
-
|том = 58
+
|год = 2025
-
|страницы = 52—68
+
|том = 58
 +
|номер = 5
 +
|doi = 10.1145/3735633
 +
|issn = 0360-0300
}}
}}

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

Содержание

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

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

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

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

История

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

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

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

С распространением глубоких нейронных сетей основное внимание сместилось к сохранению старых знаний при освоении новых классов и задач. Так сформировалось современное направление continual learning, в котором центральной проблемой стало катастрофическое забывание.[1]

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

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

  • Пакетное обучение (англ. batch learning) предполагает доступ ко всей фиксированной выборке и возможность выполнять по ней несколько проходов. При появлении новых данных модель обычно повторно обучают на объединённом наборе.
  • Инкрементное обучение обновляет существующую модель по очередным порциям данных. Полная история может храниться, храниться частично или быть недоступной.
  • Онлайн-обучение (англ. online learning) обычно строится как цикл «предсказание — получение ответа — немедленное обновление». Оно, как правило, является инкрементным, но инкрементное обучение не обязательно выполняется после каждого объекта.[1]
  • Непрерывное обучение (англ. continual learning) изучает длительное накопление знаний при последовательном появлении данных, классов или задач и уделяет особое внимание предотвращению забывания.[1][1]
  • Обучение в течение всей жизни (англ. lifelong 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. Один инкремент может содержать один объект или пакет наблюдений. После его обработки параметры модели обновляются:


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

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

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


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

Здесь


N_t=\sum_{s=1}^{t}n_s.

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

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

В зависимости от изменяющейся части задачи выделяют несколько сценариев.

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

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

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

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

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

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

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

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

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

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

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

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


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

SGD применяется для инкрементного обучения линейных моделей и нейронных сетей, однако сам по себе не защищает их от забывания при смене задач или распределений.[1]

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

Рекурсивный метод наименьших квадратов (англ. recursive least squares, RLS) обновляет параметры линейной регрессии и необходимые матричные статистики после каждого нового наблюдения. Без забывания такое обновление может быть эквивалентно пакетному решению, а коэффициент забывания позволяет сильнее учитывать свежие данные.[1]

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

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

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

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

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

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

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

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

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

Методы воспроизведения (англ. replay-based methods) обучают модель одновременно на новых данных и информации о прошлых этапах. Это может быть небольшой буфер реальных примеров, их скрытые представления или синтетические данные. Например, iCaRL хранит представителей старых классов и использует дистилляцию знаний.[1]

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

Регуляризационные методы (англ. regularization-based methods) ограничивают изменение параметров или выходов, важных для прежних задач. К ним относятся Elastic Weight Consolidation, оценивающий важность весов через информацию Фишера, и Learning without Forgetting, сохраняющий прежнее поведение с помощью дистилляции.[1][1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

Забывание для задачи j можно измерять разностью между её лучшим предыдущим и итоговым результатом:


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

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

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

  • River — библиотека Python для потоковой классификации, регрессии, кластеризации, обнаружения аномалий и дрейфа.[1][1]
  • scikit-learn предоставляет метод partial_fit() для части линейных, байесовских и мини-пакетных алгоритмов.[1]
  • MOA — среда Java для разработки и сравнения алгоритмов обучения на изменяющихся потоках.[1]
  • Vowpal Wabbit поддерживает быстрое онлайн-обучение, активное обучение и контекстные бандиты.[1]
  • SAMOA предназначена для распределённого анализа потоков данных.[1]

Наличие интерфейса частичного обновления не гарантирует устойчивости к дрейфу или забыванию: эти свойства зависят от конкретного алгоритма и протокола обучения.

Применения

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

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

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

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

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

См. также

Примечания

Литература

  • 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.
Личные инструменты