Che cos’è la distillazione dei dataset? Una rapida panoramica
Scopri come la distillazione dei dataset accelera l’addestramento dei modelli e riduce i costi computazionali sostituendo grandi dataset con un piccolo insieme ottimizzato di campioni sintetici.

Addestrare i modelli può sembrare la parte più dispendiosa in termini di tempo del lavoro di un data scientist. Tuttavia, gran parte del loro tempo, spesso dal 60% all'80%, viene in realtà impiegata per preparare i dati: raccoglierli, pulirli e organizzarli per la modellazione. Con la crescita dei dataset, cresce anche il tempo necessario per questa preparazione, rallentando gli esperimenti e rendendo più difficile l'iterazione.
Per affrontare questo problema, i ricercatori hanno trascorso anni alla ricerca di modi per semplificare l'addestramento. Approcci come i dati sintetici, la compressione dei dataset e metodi di ottimizzazione migliori mirano tutti a ridurre i costi e gli ostacoli legati all'utilizzo di dataset su larga scala e ad accelerare i flussi di lavoro di machine learning.
Una domanda fondamentale che ne deriva è se sia possibile ridurre drasticamente un dataset mantenendo le stesse prestazioni ottenute addestrando un modello sull'intero set di dati. La distillazione dei dataset è una risposta promettente.
Crea una versione compatta di un grande dataset di addestramento, preservando al contempo i pattern essenziali che il modello deve apprendere efficacemente. Offre un percorso verso un addestramento più rapido, minori esigenze di calcolo e una sperimentazione più efficiente. Puoi considerarla come un formulario per lo studio del modello: un piccolo insieme di esempi di dati sintetici progettati per insegnare gli stessi pattern fondamentali dell'intero dataset.
In questo articolo analizzeremo il funzionamento della distillazione dei dataset e il modo in cui supporta il machine learning e il deep learning scalabili in applicazioni reali. Iniziamo!
Comprendere la distillazione dei dataset#
La distillazione dei dataset è un processo in cui un grande dataset di addestramento viene condensato in un insieme di dati molto più piccolo, che continua a insegnare a un modello quasi le stesse informazioni del dataset originale. Molti ricercatori chiamano questo processo anche condensazione dei dataset, perché l'obiettivo è catturare i pattern essenziali presenti nell'intero dataset.
Un dataset distillato è diverso dai dati sintetici generati casualmente o dalla semplice selezione di un sottoinsieme più piccolo di immagini reali. Non è un dataset falso casuale né una copia ridotta dell'originale.
Al contrario, viene ottimizzato intenzionalmente per catturare i pattern più importanti. Durante questo processo, ogni pixel e ogni caratteristica vengono regolati e ottimizzati, in modo che una rete neurale addestrata sui dati distillati impari quasi come se fosse stata addestrata sull'intero dataset.
Questa idea è comparsa per la prima volta in un articolo del 2018 pubblicato su arXiv da Tongzhou Wang, Jun-Yan Zhu, Antonio Torralba e Alexei A. Efros. I primi test utilizzavano dataset semplici come MNIST e CIFAR-10, rendendo facile dimostrare che pochi campioni distillati potevano sostituire migliaia di immagini reali.

Fig. 1. Utilizzo della distillazione dei dataset per i dati delle immagini (Fonte)
Da allora, gli studi successivi hanno sviluppato ulteriormente la distillazione dei dataset, includendo metodi pubblicati a ICML e ICLR che rendono la condensazione più efficiente e scalabile.
L'importanza della distillazione dei dataset#
La distillazione dei dataset migliora l'efficienza dell'addestramento e accelera i cicli di sviluppo. Riducendo la quantità di dati da cui un modello deve apprendere, diminuisce i requisiti computazionali.
È particolarmente utile per l'apprendimento continuo, in cui i modelli vengono aggiornati nel tempo, per la ricerca di architetture neurali, in cui vengono testati molti progetti di modelli, e per l'addestramento edge, in cui i modelli vengono eseguiti su dispositivi piccoli con memoria e alimentazione limitate. Nel complesso, questi vantaggi rendono la distillazione dei dataset un'ottima opzione per l'inizializzazione rapida, il fine-tuning veloce e la creazione di primi prototipi in numerosi flussi di lavoro di machine learning.
Panoramica del funzionamento della distillazione dei dataset#
La distillazione dei dataset crea campioni di addestramento sintetici, ovvero generati artificialmente. Questi campioni aiutano un modello ad apprendere in modo molto simile all'addestramento su dati reali. Il processo tiene traccia di tre fattori fondamentali durante l'addestramento normale.
Il primo è la funzione di perdita, ovvero il punteggio di errore del modello che indica quanto siano errate le sue previsioni. Il secondo sono i parametri del modello, cioè i pesi interni della rete che vengono aggiornati durante l'apprendimento.
Il terzo è la traiettoria di addestramento, che descrive come cambiano gradualmente nel tempo l'errore e i pesi. I campioni sintetici vengono quindi ottimizzati in modo che, quando un modello viene addestrato su di essi, l'errore diminuisca e i pesi si aggiornino nello stesso modo in cui lo farebbero con l'intero dataset.
Analisi dettagliata della distillazione dei dataset#
Vediamo più da vicino come funziona il processo di distillazione dei dataset:
- Passaggio 1 - Inizializzazione dei pixel sintetici: il processo inizia con immagini sintetiche che fungono da input apprendibili. Inizialmente, queste immagini hanno poca struttura e sembrano tele bianche. Con il tempo, vengono ottimizzate fino a diventare esempi informativi.
- Passaggio 2 - Ottimizzazione con allineamento dei gradienti e backpropagation: mentre il modello viene addestrato su queste immagini sintetiche, produce gradienti che indicano come ogni pixel dovrebbe cambiare per adattarsi meglio al comportamento di addestramento dei dati reali. La backpropagation è il metodo con cui la rete impara dagli errori. Propaga l'errore all'indietro attraverso il modello per determinare quali pixel e pesi lo hanno causato, quindi li aggiorna leggermente. Utilizzando questi gradienti, la backpropagation modifica passo dopo passo le immagini sintetiche, rendendole più informative per l'addestramento.
- Passaggio 3 - Allineamento del comportamento tra i passaggi di addestramento: il metodo allinea anche le traiettorie di addestramento, ovvero i cambiamenti graduali che il modello attraversa durante l'apprendimento. In questo modo, il dataset distillato guida il modello lungo un percorso di apprendimento simile a quello che seguirebbe con l'intero dataset.
- Passaggio 4 - Validazione e generalizzazione: infine, il dataset distillato viene valutato su dati reali di validazione per verificare le prestazioni del modello addestrato su nuovi esempi. Questo controllo assicura che i dati sintetici insegnino pattern ampi e funzionali, invece di indurre il modello a memorizzare campioni specifici.

Fig. 2. Uno sguardo alla distillazione dei dataset (Fonte)
Principali metodologie di distillazione dei dataset#
Tutti i metodi di distillazione dei dataset si basano sulla stessa idea fondamentale, anche se utilizzano algoritmi diversi per realizzarla. La maggior parte degli approcci rientra in tre categorie: allineamento delle prestazioni, allineamento della distribuzione e allineamento dei parametri.
Ora analizziamo ciascuna categoria per capire come funziona.
Allineamento delle prestazioni#
L'allineamento delle prestazioni nella distillazione dei dataset si concentra sulla creazione di un set di addestramento minimo e ottimizzato, che consenta a un modello di raggiungere quasi la stessa accuratezza che otterrebbe se fosse addestrato sull'intero dataset originale. Invece di selezionare un sottoinsieme casuale, i campioni distillati vengono ottimizzati in modo che un modello addestrato su di essi produca previsioni simili, un comportamento della perdita simile durante l'addestramento o un'accuratezza finale simile a quella di un modello addestrato sul dataset originale.
Il meta-apprendimento è un metodo comune utilizzato per migliorare questo processo. Il dataset distillato viene aggiornato attraverso episodi di addestramento ripetuti, così da diventare efficace in molte situazioni possibili.
Durante questi episodi, il metodo simula il modo in cui un modello studente apprende dai campioni distillati correnti, verifica le prestazioni dello studente sui dati reali e poi modifica i campioni distillati affinché diventino insegnanti migliori. Nel tempo, il set distillato impara a supportare un apprendimento rapido e una solida generalizzazione, anche quando il modello studente parte da pesi iniziali diversi o utilizza un'architettura diversa. Questo rende il dataset distillato più affidabile e non vincolato a una singola esecuzione dell'addestramento.

Fig. 3. Il processo di meta-apprendimento (Fonte)
Tecniche di allineamento della distribuzione#
L'allineamento della distribuzione genera invece dati sintetici che corrispondono ai pattern statistici del dataset reale. Invece di concentrarsi solo sull'accuratezza finale di un modello, questo approccio si concentra sulle caratteristiche interne che una rete neurale genera durante l'apprendimento.
Vediamo ora le due tecniche alla base dell'allineamento della distribuzione.
Allineamento della distribuzione a singolo livello#
L'allineamento della distribuzione a singolo livello si concentra su un unico livello di una rete neurale e confronta le caratteristiche che produce per i dati reali e sintetici. Queste caratteristiche, chiamate anche attivazioni, catturano ciò che il modello ha appreso in quel punto della rete.
Facendo in modo che i dati sintetici producano attivazioni simili, il metodo incoraggia il dataset distillato a riflettere gli stessi pattern importanti del dataset originale. In pratica, i campioni sintetici vengono aggiornati ripetutamente finché le attivazioni del livello scelto non corrispondono strettamente a quelle delle immagini reali.
Questo approccio è relativamente semplice perché allinea un solo livello di rappresentazione alla volta. Può funzionare particolarmente bene su dataset più piccoli o su attività in cui non è necessario allineare gerarchie di caratteristiche profonde e multistadio. Allineando chiaramente un unico spazio delle caratteristiche, l'allineamento a singolo livello fornisce un segnale stabile e significativo per l'apprendimento con il dataset distillato.
Allineamento della distribuzione a più livelli#
L'allineamento della distribuzione a più livelli sviluppa l'idea di confrontare dati reali e sintetici eseguendo il confronto su diversi livelli di una rete neurale, anziché su uno solo. Livelli diversi catturano tipi diversi di informazioni, dai bordi e dalle texture semplici dei primi livelli alle forme e ai pattern più complessi dei livelli profondi.
Allineando le caratteristiche tra questi livelli, il dataset distillato viene spinto a riflettere ciò che il modello apprende a più livelli. Poiché allinea le caratteristiche nell'intera rete, questo approccio aiuta i dati sintetici a preservare segnali più ricchi, sui quali il modello fa affidamento per distinguere le classi.
È particolarmente utile nella visione artificiale, ovvero nelle attività in cui i modelli imparano a comprendere immagini e video, perché i pattern utili sono distribuiti su molti livelli. Quando le distribuzioni delle caratteristiche corrispondono bene a diverse profondità, il dataset distillato funge da sostituto più efficace e affidabile dei dati di addestramento originali.
Metodi di allineamento dei parametri#
Un'altra categoria fondamentale nella distillazione dei dataset è l'allineamento dei parametri. Invece di allineare l'accuratezza o le distribuzioni delle caratteristiche, allinea il modo in cui i pesi del modello cambiano durante l'addestramento. Facendo in modo che l'addestramento sul dataset distillato produca aggiornamenti dei parametri simili a quelli dell'addestramento sui dati reali, il modello segue un percorso di apprendimento quasi identico.
Ora analizzeremo i due principali metodi di allineamento dei parametri.
Allineamento a singolo passaggio#
L'allineamento a singolo passaggio confronta ciò che accade ai pesi di un modello dopo un solo passaggio di addestramento sui dati reali. Il dataset distillato viene quindi regolato in modo che un modello addestrato su di esso per un passaggio produca un aggiornamento dei pesi molto simile. Poiché si concentra su un solo aggiornamento, il metodo è semplice e rapido da eseguire.
Lo svantaggio è che un solo passaggio non riflette l'intero processo di apprendimento, soprattutto per le attività più difficili, in cui il modello ha bisogno di molti aggiornamenti per costruire caratteristiche più ricche. Per questo motivo, l'allineamento a singolo passaggio tende a funzionare meglio su problemi più semplici o dataset più piccoli, in cui i pattern utili possono essere appresi rapidamente.
Allineamento dei parametri a più passaggi#
Al contrario, l'allineamento dei parametri a più passaggi analizza come cambiano i pesi di un modello nel corso di diversi passaggi di addestramento, non soltanto uno. Questa sequenza di aggiornamenti costituisce la traiettoria di addestramento del modello.
Il dataset distillato viene creato in modo che, quando un modello viene addestrato sui campioni sintetici, la sua traiettoria segua da vicino quella che percorrerebbe sui dati reali. Allineando un tratto più lungo dell'apprendimento, il set distillato cattura una parte maggiore della struttura del processo di addestramento originale.
Poiché riflette lo svolgimento dell'apprendimento nel tempo, l'allineamento a più passaggi di solito funziona meglio per dataset più grandi o complessi, in cui i modelli hanno bisogno di molti aggiornamenti per apprendere pattern utili. Richiede più calcolo, poiché deve tenere traccia di più passaggi, ma spesso produce dataset distillati che generalizzano meglio e offrono prestazioni superiori rispetto all'allineamento a singolo passaggio.
Come funzionano la generazione e l'ottimizzazione dei dataset sintetici#
Ora che comprendiamo meglio i principali approcci alla distillazione, possiamo esaminare come vengono creati i dati sintetici. Nella distillazione dei dataset, i campioni sintetici vengono ottimizzati per catturare il segnale di apprendimento più importante, così un insieme piccolo può sostituire un dataset molto più grande.
Ora vedremo come questi dati distillati vengono generati e valutati.
Creazione e valutazione delle immagini distillate#
Durante la distillazione dei dataset, i pixel sintetici vengono aggiornati attraverso molti passaggi di addestramento. La rete neurale apprende dalle immagini sintetiche correnti e invia un feedback basato sui gradienti, che mostra come ogni pixel dovrebbe cambiare per adattarsi meglio ai pattern del dataset reale.
Questo è possibile perché il processo è differenziabile (ovvero ogni passaggio è continuo e presenta gradienti ben definiti, perciò piccole modifiche ai pixel producono cambiamenti prevedibili nella perdita), consentendo al modello di regolare gradualmente i dati sintetici durante la discesa del gradiente.
Con il proseguire dell'ottimizzazione, le immagini sintetiche iniziano a formare una struttura significativa, comprese forme e texture che il modello riconosce. Queste immagini sintetiche perfezionate vengono spesso utilizzate per attività di classificazione delle immagini, perché catturano gli indizi visivi fondamentali che un classificatore deve apprendere.
I dataset distillati vengono valutati addestrando modelli su di essi e confrontando i risultati con quelli di modelli addestrati su dati reali. I ricercatori misurano l'accuratezza di validazione e verificano se il set sintetico preserva le caratteristiche discriminative (i pattern o segnali su cui il modello fa affidamento per distinguere una classe dall'altra) necessarie a separare le classi. Testano inoltre la stabilità e la generalizzazione in esecuzioni o configurazioni di modello diverse, per assicurarsi che i dati distillati non causino overfitting.
Applicazioni della distillazione dei dati nel mondo reale#
Analizziamo ora più da vicino alcuni esempi che mostrano come i dataset distillati accelerino l'addestramento e riducano i costi di calcolo mantenendo prestazioni elevate, anche quando i dati sono limitati o altamente specializzati.
Utilizzo della distillazione dei dataset nelle applicazioni di visione artificiale#
Nel campo della visione artificiale, l'obiettivo è addestrare i modelli a comprendere dati visivi come immagini e video. Questi modelli apprendono pattern quali bordi, texture, forme e oggetti, quindi li utilizzano per attività come classificazione delle immagini, rilevamento degli oggetti o segmentazione. Poiché i problemi di visione presentano spesso grandi variazioni di illuminazione, sfondi e punti di vista, i sistemi di visione artificiale richiedono generalmente dataset grandi per generalizzare bene, rendendo l'addestramento costoso e lento.

Fig. 4. Un esempio di distillazione dei dataset (Fonte)
Per attività di classificazione delle immagini come scansioni mediche, monitoraggio della fauna selvatica o rilevamento di difetti industriali, i modelli devono spesso affrontare un difficile compromesso tra accuratezza e costi di addestramento. Queste attività prevedono generalmente dataset enormi.
La distillazione dei dataset può comprimere il set di addestramento originale in un numero ridotto di immagini sintetiche che contengono ancora gli indizi visivi più importanti per il classificatore. Su benchmark di grandi dimensioni come ImageNet, è stato dimostrato che i set distillati che utilizzano solo circa il 4,2% delle immagini originali mantengono una solida accuratezza di classificazione. Ciò significa che un proxy sintetico minimo può sostituire milioni di campioni reali con un calcolo molto inferiore.
Ricerca di architetture neurali#
La ricerca di architetture neurali, o NAS, è una tecnica che esplora automaticamente numerosi possibili progetti di reti neurali per trovare quello più adatto a un'attività. Poiché NAS deve addestrare e valutare un gran numero di modelli candidati, eseguirla su dataset completi può essere lento e richiedere un'intensa attività computazionale.
La distillazione dei dataset aiuta creando un set di addestramento sintetico minimo che conserva il principale segnale di apprendimento dei dati originali, così ogni architettura candidata può essere testata molto più rapidamente. Questo consente a NAS di confrontare efficacemente i progetti mantenendo relativamente affidabili le classifiche tra architetture valide e non valide, riducendo i costi della ricerca senza compromettere significativamente la qualità finale del modello.
Apprendimento continuo e distribuzione edge#
I sistemi di apprendimento continuo, ovvero i modelli che continuano ad aggiornarsi quando arrivano nuovi dati invece di essere addestrati una sola volta, richiedono aggiornamenti rapidi ed efficienti in termini di memoria. Gli dispositivi edge, come fotocamere, telefoni e sensori, sono soggetti a limiti simili perché dispongono di risorse di calcolo e archiviazione ridotte.
La distillazione dei dataset è utile in entrambi i casi perché comprime un grande set di addestramento in uno sintetico minimo, consentendo ai modelli di adattarsi o riaddestrarsi utilizzando un piccolo set di riproduzione anziché l'intero dataset. Ad esempio, uno studio sul meta-apprendimento basato su kernel ha mostrato che appena 10 campioni distillati possono raggiungere un'accuratezza superiore al 64% su CIFAR-10, un benchmark standard per la classificazione delle immagini. Poiché il set di riproduzione è così compatto, gli aggiornamenti diventano molto più rapidi e pratici, soprattutto quando i modelli devono essere aggiornati frequentemente.
La distillazione dei dataset può anche operare insieme alla distillazione della conoscenza per i modelli linguistici di grandi dimensioni. Un dataset distillato di piccole dimensioni può conservare i segnali più importanti dell'attività provenienti dal modello insegnante, consentendo di addestrare o aggiornare il modello studente compresso in modo più efficiente, senza perdere gran parte delle prestazioni. Poiché questi dataset sono minimi, sono particolarmente utili per l'utilizzo edge o direttamente sul dispositivo, dove lo spazio di archiviazione e il calcolo sono limitati, ma vuoi comunque che il modello mantenga un'elevata accuratezza dopo gli aggiornamenti.
Pro e contro della distillazione dei dati#
Ecco alcuni vantaggi dell'utilizzo della distillazione dei dataset:
- Ottima per gli esperimenti rapidi. Puoi testare nuove architetture, funzioni di perdita o iperparametri senza riaddestrare ogni volta un dataset enorme.
- Potenziale vantaggio per la privacy. Condividere campioni sintetici distillati può essere più sicuro che condividere dati reali degli utenti, poiché gli esempi grezzi non vengono esposti direttamente.
- Spesso migliore della semplice selezione di un sottoinsieme. Invece di limitarsi a selezionare gli esempi, la distillazione li ottimizza attivamente affinché siano il più possibile informativi.
Sebbene la distillazione dei dataset offra diversi vantaggi, ecco alcuni limiti da tenere presenti:
- Overfitting: i dati distillati spesso funzionano meglio con l'architettura utilizzata durante la distillazione e potrebbero trasferirsi male a modelli molto diversi.
- Sensibilità agli iperparametri. I risultati possono dipendere molto da fattori come il learning rate, l'inizializzazione o il numero di passaggi di distillazione.
- Maggiore difficoltà nel gestire la complessità del mondo reale. I metodi che funzionano bene sui benchmark possono perdere accuratezza su dataset grandi, disordinati o ad alta risoluzione.
Punti chiave#
La distillazione dei dataset consente a un piccolo insieme di campioni sintetici di insegnare a un modello quasi con la stessa efficacia di un dataset completo. Questo rende il machine learning più rapido, efficiente e facile da scalare. Con la crescita dei modelli e dei requisiti di dati, i dataset distillati offrono un modo pratico per ridurre i costi di calcolo senza sacrificare l'accuratezza.
Unisciti alla nostra community e dai un'occhiata al nostro repository GitHub per scoprire di più sull'AI. Se vuoi creare il tuo progetto di AI per la visione, dai un'occhiata alle nostre opzioni di licenza. Scopri di più su applicazioni come l'AI nel settore sanitario e l'AI per la visione nel retail visitando le nostre pagine sulle soluzioni.









