Инкрементное обучение
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM '''DeepSeek-V4''' и проверена участником Участник:Dan-Кhaiaa Lakpazhap 18:29, 30...) |
|||
| (4 промежуточные версии не показаны) | |||
| Строка 1: | Строка 1: | ||
| - | |||
| - | |||
| - | |||
{{TOCright}} | {{TOCright}} | ||
| - | '''Инкрементное обучение''' (англ. ''incremental 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'') обычно строится как цикл «предсказание — получение ответа — немедленное обновление». Оно, как правило, является инкрементным, но инкрементное обучение не обязательно выполняется после каждого объекта.<ref name="hoi2021"/> | ||
| + | * '''[[Непрерывное обучение]]''' (англ. ''continual learning'') изучает длительное накопление знаний при последовательном появлении данных, классов или задач и уделяет особое внимание предотвращению забывания.<ref name="delange2022"/><ref name="wang2024"/> | ||
| + | * '''Обучение в течение всей жизни''' (англ. ''lifelong learning'') — более широкая концепция накопления, переноса и повторного использования знаний на протяжении жизненного цикла интеллектуальной системы. | ||
| + | * '''[[Дообучение]]''' (англ. ''fine-tuning'') адаптирует предобученную модель к новым данным, но само по себе не требует сохранения качества на исходных задачах. | ||
| - | + | Таким образом, инкрементное обучение включает не только современные методы защиты нейронных сетей от забывания, но и классические рекурсивные и потоковые алгоритмы. | |
| - | == | + | == Основы == |
| - | + | ||
| - | == | + | === Формальная постановка задачи === |
| - | + | ||
| - | + | Пусть данные поступают в виде последовательности инкрементов | |
| - | + | ||
| - | + | <tex> | |
| - | + | \mathcal{D}_1,\mathcal{D}_2,\ldots,\mathcal{D}_t,\ldots, | |
| - | + | </tex> | |
| - | + | где | |
| - | + | ||
| - | + | <tex> | |
| + | \mathcal{D}_t=\{(x_{t,i},y_{t,i})\}_{i=1}^{n_t} | ||
| + | </tex> | ||
| - | <tex> | + | — данные, доступные на этапе <tex>t</tex>. Один инкремент может содержать один объект или пакет наблюдений. После его обработки параметры модели обновляются: |
| - | + | <tex> | |
| + | \theta_t= | ||
| + | \operatorname{Update} | ||
| + | \left(\theta_{t-1},\mathcal{D}_t,\mathcal{M}_{t-1}\right), | ||
| + | </tex> | ||
| - | + | где <tex>\mathcal{M}_{t-1}</tex> — необязательная память о прошлом: сохранённые примеры, агрегированные статистики или параметры предыдущей модели. | |
| - | + | ||
| - | + | ||
| - | + | Если распределение данных остаётся постоянным, желателен результат, близкий к пакетному обучению на объединении всех наблюдений. Для обучения с учителем эмпирический риск можно записать как | |
| - | + | ||
| - | + | <tex> | |
| - | + | 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). | ||
| + | </tex> | ||
| - | + | Здесь | |
| - | + | ||
| - | + | <tex> | |
| - | + | N_t=\sum_{s=1}^{t}n_s. | |
| - | + | </tex> | |
| - | + | ||
| - | == | + | Пакетный алгоритм минимизирует этот риск, обращаясь ко всей выборке, а инкрементный использует новый инкремент и ограниченное состояние предыдущего этапа. В изменяющейся среде старые данные могут иметь меньший вес; тогда применяются скользящие окна, коэффициенты забывания или иные механизмы адаптации. |
| - | * '''[[ | + | |
| - | + | === Типы инкрементов === | |
| - | * ''' | + | |
| - | * ''' | + | В зависимости от изменяющейся части задачи выделяют несколько сценариев. |
| - | * '''[[ | + | |
| + | * '''Инкремент данных''' (англ. ''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 | ||
| + | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = | + | |автор = 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 | ||
}} | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = | + | |автор = 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 | ||
}} | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = | + | |автор = 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 | ||
}} | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = | + | |автор = Domingos P., Hulten G. |
| - | |заглавие = | + | |заглавие = Mining High-Speed Data Streams |
| - | |издание = Proceedings of the | + | |язык = en |
| - | |год = | + | |издание = Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining |
| - | |страницы = | + | |год = 2000 |
| + | |страницы = 71—80 | ||
| + | |doi = 10.1145/347090.347107 | ||
}} | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = | + | |автор = Oza N. C., Russell S. J. |
| - | |заглавие = | + | |заглавие = Online Bagging and Boosting |
| - | |издание = Proceedings of the | + | |язык = en |
| - | |год = | + | |издание = Proceedings of the Eighth International Workshop on Artificial Intelligence and Statistics |
| - | |страницы = | + | |год = 2001 |
| + | |том = R3 | ||
| + | |страницы = 229—236 | ||
}} | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = Aljundi R., | + | |автор = 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 | ||
}} | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = | + | |автор = Wang L., Zhang X., Su H., Zhu J. |
| - | |заглавие = A | + | |заглавие = A Comprehensive Survey of Continual Learning: Theory, Method and Application |
| - | |издание = IEEE Transactions on Pattern Analysis and Machine Intelligence | + | |язык = en |
| - | |год = | + | |издание = IEEE Transactions on Pattern Analysis and Machine Intelligence |
| - | |том = | + | |год = 2024 |
| - | |номер = | + | |том = 46 |
| - | |страницы = | + | |номер = 8 |
| + | |страницы = 5362—5383 | ||
| + | |doi = 10.1109/TPAMI.2024.3367329 | ||
| + | |issn = 0162-8828 | ||
}} | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = | + | |автор = Lopez-Paz D., Ranzato M. |
| - | |заглавие = | + | |заглавие = Gradient Episodic Memory for Continual Learning |
| - | |издание = | + | |язык = en |
| - | |год = | + | |издание = 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 |
| - | |издание = | + | |язык = 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 | ||
| + | }} | ||
| + | |||
* {{статья | * {{статья | ||
| - | |автор = | + | |автор = Shi H., Xu Z., Wang H., Qin W., Wang W., Wang Y., Wang Z., Ebrahimi S., Wang H. |
| - | |заглавие = Continual | + | |заглавие = Continual Learning of Large Language Models: A Comprehensive Survey |
| - | |издание = | + | |язык = en |
| - | |год = | + | |издание = ACM Computing Surveys |
| - | |том = 58 | + | |год = 2025 |
| - | | | + | |том = 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) адаптирует предобученную модель к новым данным, но само по себе не требует сохранения качества на исходных задачах.
Таким образом, инкрементное обучение включает не только современные методы защиты нейронных сетей от забывания, но и классические рекурсивные и потоковые алгоритмы.
Основы
Формальная постановка задачи
Пусть данные поступают в виде последовательности инкрементов
где
— данные, доступные на этапе . Один инкремент может содержать один объект или пакет наблюдений. После его обработки параметры модели обновляются:
где — необязательная память о прошлом: сохранённые примеры, агрегированные статистики или параметры предыдущей модели.
Если распределение данных остаётся постоянным, желателен результат, близкий к пакетному обучению на объединении всех наблюдений. Для обучения с учителем эмпирический риск можно записать как
Здесь
Пакетный алгоритм минимизирует этот риск, обращаясь ко всей выборке, а инкрементный использует новый инкремент и ограниченное состояние предыдущего этапа. В изменяющейся среде старые данные могут иметь меньший вес; тогда применяются скользящие окна, коэффициенты забывания или иные механизмы адаптации.
Типы инкрементов
В зависимости от изменяющейся части задачи выделяют несколько сценариев.
- Инкремент данных (англ. 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) вместо градиента по всей выборке использует случайно выбранный объект или мини-пакет. Благодаря этому параметры можно обновлять после поступления каждой новой порции данных:
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]
В потоковой схеме «предсказать, затем обучиться» средняя последовательная потеря равна
Для последовательности задач используют матрицу , где
— качество на задаче
после обучения до этапа
. Средняя итоговая точность определяется как
Забывание для задачи можно измерять разностью между её лучшим предыдущим и итоговым результатом:
Дополнительно оценивают прямой и обратный перенос знаний, объём памяти, время обновления, скорость потока, рост модели, задержку обнаружения дрейфа и скорость восстановления после изменения.[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.

