Vai al contenuto principale

Nested Learning: una soluzione al catastrophic forgetting

Il catastrophic forgetting rende difficile l'apprendimento continuo. Scopri come Nested Learning usa scale temporali multiple per mantenere la conoscenza pregressa mentre apprende nuovi task.
Aggiornato 27 lug 2026  · 11 min leggi

Esplora con l'AI

Apri in ChatGPTApri in ClaudeApri in Perplexity

Se hai addestrato una rete neurale, probabilmente hai chiamato optimizer.step() migliaia di volte. Sai che usa i gradienti calcolati per aggiornare i pesi del modello e ridurre la loss di training, e di solito la storia finisce lì.

Ma il nested learning ti chiede di guardare all'optimizer in modo diverso. Interpreta optimizer adattivi come Adam come processi di apprendimento con uno stato proprio in evoluzione. Nested Learning è stata introdotta da Google Research nell'articolo di NeurIPS 2025 "Nested Learning: The Illusion of Deep Learning Architectures."

In questo articolo esploreremo cos'è il nested learning, come funziona, perché è importante e come l'architettura Hope lo mette in pratica. Se hai già addestrato un modello con Adam o SGD, hai già le basi per seguirne il funzionamento.

TL;DR

  • Nested Learning è un paradigma di machine learning di Google Research che tratta un modello come un insieme di problemi di ottimizzazione annidati che apprendono a velocità diverse, invece che un'unica architettura addestrata da un optimizer separato.
  • Mira al catastrophic forgetting: il problema per cui il fine-tuning su nuovi dati sovrascrive ciò che il modello già sapeva, principale ostacolo all'apprendimento continuo.
  • Il cambio di prospettiva centrale è trattare architettura e optimizer come la stessa tipologia di componente: livelli di apprendimento che si aggiornano a ritmi diversi, così che le nuove informazioni possano entrare tramite componenti veloci senza cancellare la conoscenza lenta e stabile.
  • Hope è l'architettura di prova del concetto: una variante auto-modificante di Titans abbinata a un Continuum Memory System (CMS), in cui i moduli di memoria si aggiornano su uno spettro di velocità invece di una divisione fissa breve termine/lungo termine.
  • Nei test dell'articolo, Hope ha superato baseline come Titans, Samba e un transformer standard nel language modeling e nel ragionamento di buon senso, ed è risultata solida nel retrieval su contesti lunghi e nell'apprendimento continuo.
  • È ricerca nelle fasi iniziali. Non esiste un'implementazione ufficiale né un pip install, solo riproduzioni della community su GitHub, quindi trattala come una direzione da seguire, non qualcosa di pronto per la produzione.

Che cos'è il Nested Learning?

Nested Learning è un paradigma di machine learning che tratta un singolo modello non come un'unica architettura addestrata da un optimizer separato, ma come un insieme di problemi di ottimizzazione annidati che apprendono ciascuno alla propria velocità. Ridefinisce l'architettura del modello e il suo algoritmo di training come la stessa tipologia di componente: livelli di apprendimento che operano e si adattano in contemporanea.

Organizza un sistema di machine learning in più livelli di apprendimento che operano su scale temporali diverse. 

  • Il livello dei parametri apprende lentamente nell'arco di migliaia di step di training. 
  • Il livello della memoria decide quali informazioni mantenere tra gli input recenti. 
  • Il livello dell'optimizer impara come aggiornare i livelli sottostanti. 

I livelli superiori possono influenzare il comportamento di quelli inferiori, il che rende la struttura gerarchica e non solo modulare.

Principi chiave del nested learning

Il nested learning segue questi quattro principi chiave:

  • Architettura e ottimizzazione fanno parte dello stesso sistema di apprendimento. Nel Nested Learning, l'optimizer diventa parte del processo di apprendimento e può adattarsi nel tempo.
  • Componenti diversi apprendono a velocità diverse. I parametri principali di un modello possono aggiornarsi lentamente su migliaia di esempi, mentre un meccanismo di contesto a breve termine si aggiorna a ogni nuovo input e un sistema di memoria si aggiorna a una velocità intermedia.
  • La profondità nasce da processi di apprendimento annidati. Il deep learning tradizionale crea profondità aggiungendo layer. Il Nested Learning crea profondità impilando livelli multipli di apprendimento e adattamento, in cui parametri, sistemi di memoria, optimizer e meccanismi di aggiornamento possono apprendere su scale temporali diverse.
  • L'apprendimento può continuare dopo il deployment. Componenti come sistemi di memoria e meccanismi di apprendimento possono continuare ad adattarsi anche in inferenza.

Nested learning vs deep learning tradizionale

Per anni ci siamo affidati alla deep learning architecture, in cui i dati scorrono attraverso una rete neurale, si misura quanto sono sbagliate le previsioni del modello (la loss), e si esegue un optimizer che regola i parametri del modello per ridurre quell'errore. 

Ripeti finché il modello non è abbastanza buono. Poi congeli i parametri e distribuisci il modello. Da quel momento in poi, non apprende dai nuovi input, non si adatta ai cambiamenti nei dati e non migliora con l'uso.

Nested Learning cambia questo. Oltre ai parametri del modello, anche moduli di memoria, optimizer e altre componenti continuano ad apprendere nel tempo.

Fattore

Deep learning tradizionale

Nested learning

Profondità 

La profondità deriva dall'impilare layer della rete neurale.

La profondità deriva dall'annidare processi di apprendimento dentro altri processi di apprendimento.

Apprendimento

L'apprendimento avviene principalmente durante il training.

L'apprendimento avviene durante il training e continua dopo il deployment.

Optimizer

Uno strumento fisso che aggiorna i pesi del modello.

Una componente adattiva che può apprendere e aggiornare le proprie regole.

Memoria

Codificata nei parametri del modello e nel contesto a breve termine.

Esiste su più livelli e scale temporali.

Inferenza

I pesi del modello sono fissi.

Alcune componenti possono continuare ad adattarsi durante l'inferenza.

Perché il Nested Learning è importante

Un modello apprende nuove informazioni aggiornando i propri parametri, ma quegli stessi aggiornamenti possono sovrascrivere conoscenze acquisite in precedenza. Questo fenomeno è noto come catastrophic forgetting.

I ricercatori hanno introdotto tecniche come il congelamento dei layer, metodi di regolarizzazione come Elastic Weight Consolidation (EWC) e replay buffer per preservare le conoscenze precedenti mentre si apprendono nuovi task. Ma questi approcci sono pensati per proteggere il modello dal dimenticare, non per cambiare fondamentalmente come avviene l'apprendimento.

Nested Learning sostiene che questo approccio a singola scala temporale è uno dei motivi per cui l'apprendimento continuo resta così difficile. Invece di affidarsi a un unico set di parametri per assorbire ogni nuova informazione, distribuisce l'adattamento su più livelli di apprendimento. 

Livelli diversi si adattano a velocità diverse, rendendo possibile incorporare nuove informazioni senza riscrivere continuamente conoscenze più vecchie. Questa idea è in parte ispirata al funzionamento della cognizione umana. Dopotutto, non tutto l'apprendimento avviene allo stesso ritmo:

  • I riflessi possono adattarsi quasi istantaneamente. 
  • Le memorie a breve termine si formano nell'arco di minuti o ore. 
  • Credenze, abitudini ed esperienza possono richiedere mesi o anni per svilupparsi.

Come funziona il Nested Learning

Nested Learning organizza un sistema di machine learning in livelli, ciascuno un processo di apprendimento distinto con un proprio ruolo e una propria velocità di aggiornamento. Per capire come funzionano, è utile passare in rassegna ogni livello e vedere come si connettono.

Nested learning: apprendimento su più livelli

Il livello dei parametri

I parametri sono i pesi all'interno della rete neurale che memorizzano ciò che il modello ha appreso dai dati di training. Durante l'addestramento, l'optimizer aggiorna questi pesi dopo ogni batch usando i gradienti calcolati. 

Ogni aggiornamento è piccolo, quindi cambiamenti significativi avvengono gradualmente in molti step di training. Di conseguenza, il livello dei parametri apprende conoscenza stabile e di lungo periodo ma è lento ad adattarsi a nuove informazioni.

Il livello della memoria

Il livello della memoria cattura informazioni dagli input recenti che il livello dei parametri è troppo lento ad apprendere. 

Invece di memorizzare tutto ciò che vede, trattiene le informazioni più utili e scarta il resto. Questo permette al modello di adattarsi a un nuovo contesto senza aggiornare immediatamente la conoscenza di lungo periodo.

Il livello dell'optimizer

L'optimizer decide come aggiornare i parametri del modello durante il training. Usa i gradienti calcolati dalle previsioni del modello per determinare l'ampiezza e la direzione di ciascun aggiornamento.

Optimizer adattivi come Adam fanno più che usare il gradiente corrente. Tengono anche traccia dei gradienti recenti e usano quella storia quando calcolano il prossimo aggiornamento dei parametri.

Se Adam già lo fa, cosa aggiunge il Nested Learning?

La differenza sta in ciò che può essere appreso. Nel deep learning standard, le regole che governano come Adam aggiorna il proprio stato sono fissate prima che inizi il training e non cambiano mai. Adam adatta i parametri, ma nulla adatta Adam. 

Nested Learning introduce un processo di meta-learning sopra l'optimizer che può valutare come sta performando e modificare le sue regole nel tempo. L'optimizer smette di essere un'infrastruttura fissa e diventa qualcosa che può migliorare a sua volta.

Come interagiscono i livelli

Questi livelli diversi non lavorano in modo indipendente. Le informazioni fluiscono tra loro e ciascun livello influenza come gli altri apprendono nel tempo. 

  • Il livello dei parametri costruisce gradualmente conoscenza di lungo periodo attraverso il training. 
  • Il livello della memoria fornisce contesto recente che aiuta il sistema a rispondere più rapidamente a nuove informazioni. 
  • L'optimizer determina come vengono aggiornati i parametri

Insieme, i livelli consentono al modello di bilanciare l'adattamento a breve termine con l'apprendimento a lungo termine.

L'architettura Hope

Hope è l'architettura di prova del concetto descritta nell'articolo: una variante auto-modificante dell'architettura Titans che Google ha costruito per testare se il nested learning funzioni davvero in pratica. Abbina una memoria che può riscrivere le proprie regole di aggiornamento a un Continuum Memory System, così da continuare ad apprendere a più velocità invece di congelarsi dopo il training.

Titans auto-modificante

Titans contiene moduli di memoria per memorizzare informazioni che il modello considera sorprendenti o importanti. Invece di fare affidamento solo sui propri parametri, il modello porta avanti informazioni utili tramite questi moduli di memoria.

Hope fa un passo oltre. Man mano che arrivano nuovi dati, i moduli di memoria continuano ad aggiornarsi. Il sistema inoltre aggiusta le regole che userà per gli aggiornamenti futuri. Ecco perché l'architettura è detta auto-modificante.

Continuum Memory System

La maggior parte delle architetture di memoria divide la memoria in due categorie: breve termine e lungo termine. Le informazioni vivono in un archivio veloce e temporaneo oppure vengono consolidate in una memoria stabile di lungo periodo. Hope sostituisce questa divisione binaria con un continuum, uno spettro di moduli di memoria che si aggiornano a velocità diverse.

Alcune componenti di memoria si aggiornano rapidamente e catturano informazioni recenti. Altre cambiano più lentamente e preservano la conoscenza stabile accumulata in periodi più lunghi. Ciò significa che nuove informazioni possono entrare tramite i layer a aggiornamento rapido senza disturbare subito la memoria più lenta e stabile.

Continuum Memory SystemCome performa Hope

L'articolo ha valutato Hope su language modeling, ragionamento su contesti lunghi, apprendimento continuo e incorporazione della conoscenza, usando diverse baseline a seconda dei task. Il language modeling e il ragionamento di buon senso sono stati confrontati con Titans, Samba e un transformer standard, mentre i task di retrieval su contesti lunghi hanno confrontato Hope e Titans con TTT e Mamba2.

Sui benchmark di language modeling e ragionamento di buon senso, Hope ha ottenuto una minore perplexity e una maggiore accuracy rispetto a tutte e tre le baseline.

Grafico a barre che mostra il modello Hope superare Titans, Samba e Transformer sia nelle metriche di performance del language modeling sia del ragionamento di buon senso.

I risultati più indicativi sono arrivati da task che richiedono al modello di recuperare un'informazione specifica sepolta in un contesto lungo. L'articolo ha testato più varianti di difficoltà crescente: pass-key retrieval, number retrieval e la variante più difficile, word-level retrieval. Hope ha superato le baseline in tutte le varianti, con il design CMS che contribuisce specificamente ai guadagni sui contesti lunghi.

L'architettura si comporta bene anche sui benchmark di apprendimento continuo. Quando viene addestrata su sequenze di task che tipicamente causano catastrophic forgetting, Hope conserva più conoscenza appresa in precedenza rispetto ai modelli di confronto riportati nell'articolo.

Nested Learning vs altri approcci di apprendimento continuo

Nested Learning non è il primo tentativo di affrontare il catastrophic forgetting. Da anni i ricercatori propongono tecniche di apprendimento continuo per consentire ai modelli di mantenere le conoscenze già acquisite mentre imparano nuovi task. Vediamo le differenze chiave tra i vari approcci proposti.

Approccio

Elastic Weight Consolidation (EWC)

Progressive Neural Networks

Experience Replay

Nested Learning

Meccanismo principale

Aggiunge un termine di regolarizzazione per rallentare gli aggiornamenti ai pesi importanti per i task precedenti.

Aggiunge una nuova rete dedicata per ogni nuovo task, con connessioni laterali alle reti apprese in precedenza, così che la conoscenza possa trasferirsi in avanti.

Memorizza e riproduce campioni dai task precedenti insieme ai nuovi task durante il training.

Organizza l'apprendimento in più livelli interagenti che operano su scale temporali diverse

Come previene il forgetting

Preserva i pesi dei task precedenti; la conoscenza passata è mantenuta mentre si imparano nuovi task.

Le reti precedenti sono congelate e salvate. I nuovi task ottengono una propria rete, quindi non c'è interferenza.

Mescolando esempi passati nel training corrente.

I livelli si aggiornano a frequenze diverse, così le nuove informazioni entrano tramite componenti veloci senza rimpiazzare immediatamente la conoscenza stabile in quelle più lente.

Overhead computazionale

Basso-moderato

Alto

Moderato-alto, cresce con la dimensione del replay buffer. 

Ancora in valutazione

Scalabilità

Moderata; proteggere più parametri nel tempo può ridurre la capacità del modello di apprendere nuovi task.

Limitata perché la dimensione del modello cresce con ogni nuovo task

Efficace ma richiede di mantenere replay buffer

Progettata per scalare, ma è ancora ricerca nelle fasi iniziali.

Maturità

Ben consolidata

Ben consolidata

Ampiamente usata

Ricerca nelle fasi iniziali

Metodi come EWC, Progressive Neural Networks ed Experience Replay sono reti neurali che rallentano il forgetting durante il training. L'architettura sottostante rimane in gran parte la stessa. 

Nested Learning ripensa l'architettura stessa, in modo che l'apprendimento avvenga su più livelli e scale temporali: la memoria che cambia rapidamente gestisce l'esperienza recente, mentre i parametri che cambiano più lentamente catturano la conoscenza di lungo periodo.

Nested Learning nella pratica

Riproduzioni non ufficiali della community hanno iniziato ad apparire su GitHub, offrendo ai ricercatori un modo per sperimentare con l'architettura e provare a riprodurre i risultati pubblicati.

Detto ciò, Nested learning non ha integrazioni ufficiali con i principali framework di deep learning e non puoi semplicemente fare pip install nested learning e aggiungerlo a un progetto PyTorch o JAX esistente. Costruire e valutare questi modelli richiede ancora di lavorare direttamente con codice di ricerca.

Ma la direzione punta all'adozione nella community. Quindi tieni d'occhio l'integrazione di moduli Hope o Continuum Memory System (CMS) nei framework mainstream e la loro adozione in sistemi di produzione.

Considerazioni finali

Nested Learning mette in discussione una delle assunzioni alla base del deep learning moderno. Invece di rendere i modelli più capaci impilando più layer, esplora se l'intelligenza possa emergere da processi di apprendimento multipli che operano su scale temporali diverse.

Questo cambiamento modifica anche il modo in cui pensiamo all'ottimizzazione. Il deep learning tradizionale tratta l'architettura del modello e l'algoritmo di apprendimento come componenti separati. Nested Learning li avvicina con l'obiettivo di rendere l'apprendimento stesso gerarchico.

Siamo ancora agli inizi. Nested Learning rimane un'area di ricerca attiva e molte delle sue idee avranno bisogno di una validazione più ampia prima di diventare parte del machine learning mainstream. Se vuoi consolidare le basi dei concetti dietro il nested learning, inclusi reti neurali, ottimizzazione e meccanismi di memoria, ti consiglio di dare un'occhiata al nostro percorso completo Deep Learning in Python.

FAQ su Nested Learning

Che cos'è l'apprendimento continuo negli LLM?

L'apprendimento continuo negli LLM è la capacità di un modello di continuare a imparare da nuovi dati senza dimenticare le conoscenze precedenti. La maggior parte degli LLM non lo fa bene out of the box. Quando li fai fine-tuning su nuove informazioni, tendono a sovrascrivere la conoscenza vecchia. La ricerca sull'apprendimento continuo punta specificamente a risolvere questo problema.

Il nested learning richiede più modelli di machine learning?

Non necessariamente. Il nested learning riguarda più l'organizzazione dei compiti di apprendimento in più livelli che l'uso di più modelli. Alcune implementazioni usano un singolo modello con fasi di training annidate o rappresentazioni gerarchiche, mentre altre combinano diversi modelli specializzati.

Il nested learning è computazionalmente costoso?

Può esserlo, ma non sempre in modo significativo. Il costo aggiuntivo deriva dal mantenere e aggiornare il processo di apprendimento di livello superiore insieme al training regolare del modello. Architetture moderne di nested learning come Hope sono progettate con l'efficienza in mente, rendendole pratiche per molti ambienti di ricerca. Tuttavia, il deployment del nested learning in produzione è ancora un'area aperta.

Quando dovresti evitare di usare il nested learning?

Se la distribuzione dei tuoi dati non cambierà e ti serve solo una forte performance su un benchmark fisso, il nested learning aggiunge complessità senza grande ritorno. Vale anche la pena evitarlo quando l'interpretabilità conta molto. Più il processo di apprendimento si adatta da sé, più diventa difficile spiegare cosa stia effettivamente facendo il modello e perché.

Come scegliere tra nested learning e transfer learning?

Stanno risolvendo problemi diversi. Il transfer learning prende ciò che un modello ha imparato in un dominio e lo applica a un altro. È un adattamento una tantum. Il nested learning riguarda invece la costruzione di un sistema che continua ad adattarsi nel tempo man mano che arrivano nuove informazioni. Se hai un task target fisso, il transfer learning è più semplice e di solito sufficiente. Se l'ambiente è dinamico e il modello deve restare aggiornato, il nested learning è più appropriato.


Srujana Maddula's photo
Author
Srujana Maddula
LinkedIn

Srujana è una tech writer freelance con una laurea quadriennale in Informatica. Scrivere di vari argomenti, tra cui data science, cloud computing, sviluppo, programmazione, sicurezza e molti altri, le viene naturale. Ama la letteratura classica ed esplorare nuove destinazioni.

Argomenti

I migliori corsi di Deep Learning

Programma

Apprendimento profondo in Python

18 h
Continua il tuo viaggio nell'apprendimento automatico e nell'apprendimento profondo. Usa la libreria PyTorch per creare reti neurali per modellare diversi tipi di dati.
Vedi dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro