Ciao a tutti! Sono Vincenzo Lomonaco, ricercatore all'Università di Pisa.
Per la puntata di oggi discuteremo insieme di un tema tecnico a me particolarmente caro: l'apprendimento automatico continuo, un paradigma di apprendimento automatico, di machine learning, che sta lentamente diventando un paradigma fondamentale per l'intelligenza artificiale del futuro e la sua sostenibilità.
Come sapete, il machine learning è una branca dell'intelligenza artificiale che rivoluziona un po' il modo in cui i computer apprendono e agiscono senza essere esplicitamente programmati.
Quindi, a differenza della programmazione classica, nella quale gli algoritmi eseguono istruzioni specifiche per eseguire compiti definiti e queste istruzioni sono dettate da esperti del dominio e da programmatori, il machine learning si basa sull'abilità dei sistemi informatici di apprendere direttamente, a partire dei dati da esempi.
Questo approccio ha introdotto quindi una grande flessibilità nello sviluppo di soluzioni di AI che possono essere applicate a svariati compiti diversi tra loro, senza più l'ausilio di esperti di dominio che tradizionalmente guidavano il loro sviluppo.
Tuttavia, è fondamentale comprendere che il successo del machine learning dipende dalla quantità, anzi, soprattutto dalla qualità dei dati disponibili.
Senza dati di elevata qualità i modelli di machine learning possono essere inefficaci o addirittura dannosi, e l'addestramento di questi modelli, inoltre, richiede un considerevole dispendio di energia, di tempo, di calcolo, specialmente per compiti complessi, dove si rende necessario l'utilizzo di grandi quantità di dati.
Questo può comportare dei costi significativi in termini di risorse hardware, umane, energetiche e temporali.
Nell'episodio 45 abbiamo discusso infatti della crescita letteralmente esponenziale delle risorse necessarie alle soluzioni di intelligenza artificiale moderne per essere create e gestite.
L'evoluzione del machine learning ha di fatto attraversato diverse fasi, passando dal semplice utilizzo del concetto di pre-training, fino alla creazione dei modelli fondazionali che caratterizzano l'attuale panorama tecnologico del campo.
Inizialmente il pre-training rappresentava una strategia comune in cui i modelli venivano preparati su un vasto insieme di dati piuttosto generici per essere poi adattati – fine tuned – quindi specializzati su compiti più specifici.
Questo approccio consente ai modelli di acquistare innanzitutto una conoscenza di base da dati generici, per poi raffinare le loro capacità predittive direttamente su un insieme di dati più ristretto di addestramento e più specifico rispetto al compito che si vorrebbe in realtà attaccare.
Col passare del tempo sono emersi i modelli fondazionali, basati su reti neurali profonde e architetture dette Transformers, che hanno rivoluzionato il panorama del machine learning.
Questi modelli sono caratterizzati, in maniera molto semplificata, da un numero di parametri maggiore per diversi ordini di grandezza e vengono chiamati proprio fondazionali perché espandono il concetto di pre-trainingfino a rappresentare un punto di partenza generalista.
Fondazione tale per l'appunto da riuscire a risolvere potenzialmente qualsiasi compito senza la necessità di collezionare ulteriori insiemi di dati di addestramento per la fase di specializzazione o necessitando di un quantitativo davvero irrisorio rispetto a precedenti sviluppi e soluzioni tecnologiche.
Il continual learning, invece, è un paradigma di apprendimento che si discosta dal tradizionale approccio di machine learning e apprendimento automatico classico.
Mentre il machine learning convenzionale addestra, come abbiamo detto, un modello su un dataset statico, quindi un insieme di dati fisso disponibili a priori, il continual learning mira a mantenere e migliorare un modello predittivo nel tempo, adattandosi a nuovi dati e compiti, senza dimenticare quanto precedentemente appreso.
Questo approccio riflette meglio, come immaginerete, il modo in cui gli esseri umani o i sistemi di apprendimento biologici apprendono, imparano, aggiornando e ampliando costantemente le proprie conoscenze sulla base anche di quelle pregresse.
La principale differenza tra il continual learning e il machine learning tradizionale risiede nella gestione della memoria e del modello predittivo.
Nel continual learning Il modello deve essere in grado di memorizzare e utilizzare le informazioni precedentemente apprese, evitando il fenomeno noto come la dimenticanza catastrofica, catastrophic forgetting, in cui il modello dimentica praticamente tutto quello che è stato precedentemente appreso man mano che apprende nuove informazioni.
Ciò richiede strategie sofisticate per bilanciare l'apprendimento di nuovi dati e di nuova conoscenza, preservando quanto precedentemente appreso, come l'utilizzo di memorie esterne o l'implementazione di meccanismi di regolarizzazione durante l'apprendimento.
Inoltre, il continual learning si confronta con sfide scientifiche piuttosto uniche, come il concetto di conoscenza dimenticabile e la gestione dell'obsolescenza delle informazioni nel tempo.
Mantenere un equilibrio tra l'assimilazione di nuove informazioni da un lato e la conservazione delle conoscenze precedenti dall'altro, richiede un'attenzione particolare alla progettazione del modello di intelligenza artificiale e all'implementazione di strategie di apprendimento con una visione più a lungo termine.
Questo paradigma è particolarmente importante in scenari in cui i dati sono in costante evoluzione, come nel caso dell'analisi dei flussi di dati in tempo reale o nell'apprendimento su dispositivi IoT distribuiti.
In questo video vedete un esempio di un'applicazione basata sul continual learning, con la quale è possibile su uno smartphone di medie prestazioni, in tempo reale, non solo l'identificazione di oggetti domestici specifici appartenenti a dieci categorie differenti, ma anche la possibilità di imparare a riconoscere nuovi oggetti o migliorare semplicemente le nostre capacità di riconoscimento in maniera incrementale, continua e naturale nel tempo, senza accumulare tutti i dati ed effettuare un addestramento da zero, come richiederebbe un approccio di machine learning tradizionale.
Per le applicazioni dove, credo, il continual learning sarà più di successo, si possono individuare due approcci principali: il training continuo di modelli fondazionali di cui abbiamo parlato prima e il fine tuning continuo degli stessi su compiti predittivi particolarmente dinamici.
Guardiamo il primo caso: nel training continuo di modelli fondazionali, i modelli possono essere addestrati su un flusso costante di dati provenienti da diverse fonti e contesti, permettendo loro di acquisire una vasta conoscenza generale, poi riutilizzabile per compiti più disparati, ma al tempo stesso riducendo massivamente i consumi energetici che deriverebbero da un continuo addestramento da zero di questi modelli.
D'altra parte, il fine tuning continuo di modelli su compiti dinamici consiste nell'adattare i modelli già esistenti per risolvere nuovi compiti o riuscire ad adattarsi alle nuove situazioni di contesto.
Questo approccio è particolarmente utile in settori come il riconoscimento delle immagini o il trattamento del linguaggio naturale, per esempio sistemi di question answering per bot virtuali, dove esistono modelli pre-addestrati su grandi dataset e l'adattamento a nuove situazioni è fondamentale per mantenere la rilevanza di questo si ha nel tempo.
Entrambe queste applicazioni del continual learning presentano vantaggi e sfide uniche, ma entrambi sono cruciali per sviluppare sistemi di IAI in grado di adattarsi e migliorarsi nel tempo, rispondendo in modo efficiente ed efficace alle esigenze in continua evoluzione delle applicazioni del mondo reale.
In conclusione, il continual learning emulando il modo in cui funzionano i sistemi di intelligenza naturale biologici vuole suggerire un modo diverso di costruire soluzioni di intelligenza artificiale, senza la presunzione di perfezione a priori di risolvere in maniera perfetta tutti i compiti nei quali vorremmo vedere applicate le nostre tecnologie, ma sviluppando invece un protocollo efficiente per l'aggiornamento continuo delle stesse in funzione delle necessità contingenti.
Se siete interessati all'argomento, quest'anno a Pisa si terrà la International Conference on Lifelong Learning Agents, la terza edizione della conferenza più importante al mondo sul tema tra il 29 luglio e il 1º agosto.
Ciao e alla prossima puntata!