Apprendimento incrementale
In intelligenza artificiale, l'apprendimento incrementale è una modalità di apprendimento automatico in cui i dati di input vengono utilizzati per estendere in continuo la conoscenza del modello esistente, ovvero per addestrarlo ulteriormente. Essa rappresenta una modalità dinamica di apprendimento supervisionato e non che può essere applicata allorché i dati di addestramento si rendano disponibili gradualmente nel tempo o la loro dimensione superi i limiti di memoria del sistema. Gli algoritmi che possono facilitare l'apprendimento incrementale sono noti come algoritmi incrementali.[1][2][3]
Molti algoritmi di apprendimento automatico tradizionali supportano intrinsecamente l'apprendimento incrementale. Altri algoritmi possono essere adattati per facilitare l'apprendimento incrementale. Esempi di algoritmi incrementali comprendono quelli per l'apprendimento di alberi o regole di decisione, reti neurali artificiali (ad es. reti RBF) o l'SVM incrementale.
L'obiettivo dell'apprendimento incrementale è far sì che il modello di apprendimento si adatti a nuovi dati senza dimenticare le conoscenze pregresse. Alcuni algoritmi di apprendimento incrementale hanno parametri o assunzioni integrate che controllano la pertinenza dei vecchi dati, mentre altri, detti algoritmi stabili di apprendimento automatico incrementale, apprendono rappresentazioni dei dati di addestramento che non vengono dimenticate con il tempo, nemmeno parzialmente.
Gli algoritmi incrementali vengono spesso applicati a flussi di dati o big data, per risolvere, rispettivamente, problematiche di disponibilità di dati e di scarsità di risorse. La predizione dell'andamento di azioni e la profilazione degli utenti sono alcuni casi tipici in cui flussi di nuovi dati si rendono continuamente disponibili. L'applicazione dell'apprendimento incrementale ai big data mira a tempi di classificazione o previsione più rapidi.
Relazione con l'apprendimento online
modificaLe modalità di apprendimento online e incrementale sono molto simili. Le differenze risiedono soprattutto nel contesto applicativo e nelle sfumature del modo in cui vengono elaborati i dati e aggiornato il modello:
- apprendimento online:
- il modello riceve i dati uno per volta (o in piccoli batch) e si aggiorna immediatamente dopo ogni esempio;
- è pensato per contesti in cui i dati arrivano in flusso continuo e in tempo reale, e ove si richieda che il modello sia sempre aggiornato e adattabile senza attendere di disporre di grandi quantità di dati;
- enfatizza la reattività e la capacità di adattarsi rapidamente a nuovi dati o cambiamenti del contesto.
- apprendimento incrementale:
- si aggiorna progressivamente il modello man mano che si rendono disponibili nuovi dati, ma può elaborare i dati anche in modo batch o per piccoli gruppi (mini-batch);
- spesso implica un aggiornamento meno frequente rispetto alla modalità online, ma con la caratteristica che la conoscenza pregressa non viene persa e il modello migliora continuamente nel tempo;
- può essere concepito come una forma di apprendimento che integra progressivamente nuove informazioni senza dover riaddestrare completamente il modello.
In sintesi, l'apprendimento online è una sotto-categoria dell'apprendimento incrementale, più specificamente focalizzata sull'aggiornamento immediato e sequenziale dei modelli, mentre l'apprendimento incrementale include anche aggiornamenti batch o meno frequenti ma sempre progressivi.
Voci correlate
modificaNote
modifica- ^ Zhiyuan Chen e Bing Liu, Lifelong machine learning, collana Synthesis lectures on artificial intelligence and machine learning, Second edition, Morgan & Claypool, 2018, ISBN 978-1-68173-302-9.
- ^ (EN) Gido M. van de Ven, Tinne Tuytelaars e Andreas S. Tolias, Three types of incremental learning, in Nature Machine Intelligence, vol. 4, n. 12, 2022-12, pp. 1185–1197, DOI:10.1038/s42256-022-00568-3.
- ^ Midhat Tilawat, Cos'è l'Apprendimento Incrementale?, su All About AI, 28 gennaio 2024. URL consultato il 29 agosto 2025.
Collegamenti esterni
modifica- Charles L. Parker, Brief Introduction to Streaming data and Incremental Algorithms, su BigML Blog, 12 Marzo 2013.
- gaenari: C++ incremental decision tree algorithm, su github.com. URL consultato il 29 agosto 2025.