Distillazione Della Conoscenza

Da Wiki AI.

Nome inglese: Knowledge Distillation

Sigla: KD

La distillazione della conoscenza è il processo di trasferimento della conoscenza da un modello di grandi dimensioni ad uno più piccolo.

Originariamente introdotto nel 2006 nel contesto dei modelli di ensemble, è stato successivamente reso popolare in un famoso paper del 2015 che ha generalizzato il metodo di reti neurali profonde.

Knowledge Distillation per il Fine-Tuning

Nel contesto dell'apprendimento automatico, specialmente nell'addestramento supervisionato come il fine-tuning, la distillazione della conoscenza è un metodo per trasferire l'informazione da un modello "insegnante" grande e complesso a un modello "studente" più piccolo e meno complesso. L'idea principale è quella di arricchire le etichette di verità fondamentale con una distribuzione di "soft probabilities" fornite dall'insegnante, che offrono informazioni complementari da cui lo studente può imparare. Ad esempio, se un classificatore basato su BERT assegna alte probabilità a più intenti, questo potrebbe indicare che questi intenti sono vicini l'uno all'altro nello spazio delle caratteristiche. Addestrando lo studente a imitare queste probabilità, l'obiettivo è di distillare parte di questa "dark knowledge" che l'insegnante ha appreso, ossia conoscenze non disponibili solo dalle etichette.

Matematicamente, questo processo funziona come segue: si fornisce una sequenza di input x all'insegnante per generare un vettore di logits x = [z1x, ..., zNx]. Questi logits possono essere convertiti in probabilità applicando una funzione softmax.



Tuttavia, spesso l'insegnante assegna una probabilità alta ad una classe, rendendo le probabilità delle altre classi vicine a zero, e quindi non fornendo molte informazioni aggiuntive rispetto alle etichette di verità fondamentale. Per questo, si "addolciscono" le probabilità scalando i logits con un iperparametro di temperatura T prima di applicare la softmax.



Valori più alti di T producono una distribuzione di probabilità più morbida sulle classi e rivelano più informazioni sul confine decisionale che l'insegnante ha appreso per ogni esempio di addestramento.

Figura1. Confronto tra un'etichetta rigida codificata in one-hot (sinistra), probabilità softmax (centro) e probabilità di classe addolcite (destra)

Come funziona la Knowledge Distillation

Avviene tipicamente in due fasi principali:

  1. Addestramento dell'Insegnante: Il primo passo è addestrare un modello di grandi dimensioni (l'insegnante) su un complesso set di dati. L'obiettivo è sviluppare un modello che raggiunga elevate prestazioni, imparando relazioni complesse e sottili presenti nei dati. Questo modello di solito richiede significative risorse computazionali sia in termini di memoria che di potenza di calcolo.
  2. Addestramento dello Studente: Una volta che il modello insegnante è stato addestrato, il prossimo passo è utilizzarlo per addestrare un modello più piccolo (lo studente). Invece di addestrare lo studente direttamente sul set di dati originale, lo studente viene addestrato per emulare l'output o il comportamento dell'insegnante. Ciò può avvenire in diversi modi, ma due approcci comuni includono:
    • Addestramento sulle Soft Labels: Lo studente viene addestrato sui punteggi di probabilità (soft labels) generati dall'insegnante piuttosto che sulle etichette originali (hard labels) del set di dati. Questi punteggi di probabilità contengono informazioni più ricche sulle relazioni tra le diverse classi.
    • Addestramento sulla Funzione di Perdita Aggiuntiva: Si può anche aggiungere una funzione di perdita che penalizza lo studente per deviazioni significative nell'output rispetto a quello dell'insegnante, aiutando così lo studente a imitare più fedelmente l'insegnante.

Etichette per l'addestramento dello Studente

Soft Labels

  • Cosa Sono: Le soft labels sono le probabilità di ciascuna classe di output fornite dal modello insegnante. A differenza delle hard labels, che indicano soltanto la classe target con un valore di 1 (o 100%) e 0 per tutte le altre classi, le soft labels forniscono una distribuzione di probabilità che riflette quanto l'insegnante sia "sicuro" della sua previsione. Queste probabilità catturano le relazioni sottili tra le classi che l'insegnante ha appreso durante il suo addestramento.
  • Utilizzo: Addestrare lo studente sulle soft labels permette di trasferire questa "conoscenza sottile" all'alunno. Ad esempio, in un task di classificazione delle immagini, se l'insegnante assegna una probabilità del 90% a "gatto", 5% a "tigre", e 5% alle altre classi per un'immagine di un gatto, lo studente impara non solo a riconoscere i gatti ma anche a capire la somiglianza tra gatti e tigri, qualcosa che le hard labels non potrebbero insegnare.

Hard Labels

  • Cosa Sono: Le hard labels sono le etichette tradizionali utilizzate nell'addestramento supervisionato. Per ogni esempio nel set di addestramento, l'hard label indica la classe corretta con un valore di 1, mentre tutte le altre classi hanno un valore di 0. Queste etichette sono molto precise ma non forniscono informazioni aggiuntive sulla struttura del problema o sulle relazioni tra classi.
  • Utilizzo: Sebbene l'uso esclusivo delle soft labels possa trasferire conoscenze complesse allo studente, l'incorporazione delle hard labels nell'addestramento può aiutare a mantenere o migliorare la precisione dello studente sulle decisioni chiare e dirette, assicurando che impari anche a fare distinzioni nette tra classi.


Nella pratica, spesso si utilizza una combinazione delle due. Questa può essere realizzata attraverso un approccio ibrido in cui la funzione di perdita è composta da due termini: uno basato sulle soft labels fornite dall'insegnante e l'altro sulle hard labels del dataset di addestramento. La ponderazione di questi due termini nella funzione di perdita può essere regolata per bilanciare il trasferimento di conoscenza sottile con l'apprendimento diretto dalle etichette originali.

Questo approccio ibrido consente allo studente di beneficiare della conoscenza approfondita dell'insegnante, migliorando la sua capacità di generalizzazione, pur rimanendo ancorato alla realtà concreta e precisa delle hard labels.

Links

Distilling the Knowledge in a Neural Network (2015) GoogleColab Knowledge Distillation