Un radiologo che impara a leggere una TAC non ricomincia dall’infanzia. Non deve re-imparare a distinguere una linea da una curva, un contorno da un’ombra: quelle competenze le ha già, costruite in decenni di visione del mondo. Deve solo imparare l’ultimo strato — cosa significa, in quell’immagine specifica, una macchia più chiara del previsto. Il transfer learning applica esattamente questa logica alle reti neurali: prendere un modello che ha già imparato a vedere (o a leggere) e insegnargli solo il compito finale.
Perché partire da zero costa caro, e quando congelare invece di rifinire, sono spiegati nel libro.
È una delle idee più pratiche di tutto il deep learning, e probabilmente quella con il miglior rapporto tra semplicità e impatto. Senza transfer learning, addestrare un buon classificatore di immagini richiederebbe milioni di esempi etichettati e giorni di GPU. Con il transfer learning, spesso bastano qualche migliaio di esempi e un’ora di calcolo.
Cosa impara davvero una rete profonda
Per capire perché il trucco funziona, bisogna guardare dentro una rete convoluzionale addestrata su un grande dataset come ImageNet. I primi strati imparano cose sorprendentemente generiche: rilevatori di bordi, di angoli, di piccole texture. Gli strati intermedi combinano questi elementi in pattern più complessi — occhi, ruote, trame di pelliccia. Solo gli ultimi strati diventano davvero specifici del compito: «questo insieme di pattern corrisponde alla classe golden retriever».
Questa gerarchia non è imposta da nessuno: emerge spontaneamente dall’addestramento. Ed è la ragione profonda per cui il transfer learning funziona. I bordi e le texture che servono per riconoscere un cane servono identici per riconoscere una crepa in un ponte, una cellula al microscopio o un difetto su una linea di produzione. La conoscenza dei primi strati è, in larga misura, universale per il dominio visivo.
Backbone congelato, testa nuova
La ricetta base ha due ingredienti. Il primo è il backbone: il corpo della rete pre-addestrata, con tutti i suoi strati convoluzionali e i pesi già ottimizzati su milioni di immagini. Il secondo è la testa: gli ultimi strati, quelli specifici del compito originale, che vengono buttati via e sostituiti con strati nuovi, inizializzati a caso, dimensionati sulle classi del nostro problema.
Nella variante più semplice — la feature extraction — il backbone viene congelato: i suoi pesi non si toccano, si addestra solo la testa. È come assumere un fotografo esperto e chiedergli soltanto di imparare i soggetti che interessano a noi: la tecnica ce l’ha già. Congelare il backbone ha due vantaggi concreti: servono pochissimi dati (si stanno ottimizzando poche migliaia di parametri, non decine di milioni) e l’addestramento è veloce, perché il gradiente non deve propagarsi attraverso tutta la rete.
Il flusso del transfer learning: l’immagine attraversa il backbone pre-addestrato (congelato, in teal), che estrae feature via via più astratte; solo la testa nuova (terracotta) viene addestrata sui dati del nuovo compito.
Fine-tuning: quando scongelare
La seconda variante è il fine-tuning: dopo aver addestrato la testa, si scongelano anche alcuni strati del backbone — di solito gli ultimi — e si continua l’addestramento con un learning rate molto basso. L’idea è correggere delicatamente le feature di alto livello, che sono le più specifiche del dominio originale, senza distruggere quelle generiche dei primi strati.
Il learning rate basso non è un dettaglio: è la differenza tra ritoccare e demolire. I pesi del backbone codificano conoscenza costosa; un gradiente troppo aggressivo, guidato da pochi dati nuovi, la cancellerebbe in poche epoche. È il fenomeno noto come catastrophic forgetting: la rete impara il compito nuovo dimenticando tutto quello che sapeva. Per questo una pratica comune è usare learning rate differenziati — quasi zero per i primi strati, più alto man mano che ci si avvicina alla testa.
Quando conviene l’una o l’altra strategia? Una bussola ragionevole usa due assi: quanto sono simili i domini e quanti dati abbiamo. Dati pochi e dominio simile: solo feature extraction. Dati abbondanti e dominio diverso: fine-tuning profondo, magari di tutta la rete. I casi intermedi si risolvono empiricamente, scongelando strati un blocco alla volta e osservando la validazione.
Il transfer learning è il riconoscimento che l’apprendimento ha una struttura: le fondamenta sono condivise, solo il tetto è specifico.
Non solo immagini: l’era dei foundation model
Se il transfer learning fosse rimasto un trucco per la computer vision, sarebbe già stato importante. Ma è diventato il paradigma dominante di tutta l’AI moderna. I large language model sono transfer learning portato alle estreme conseguenze: un pre-addestramento colossale su testo generico, seguito da adattamenti leggeri — fine-tuning, instruction tuning, o tecniche come LoRA che aggiornano solo una piccola frazione dei parametri.
LoRA, in particolare, è una raffinazione elegante della stessa idea: invece di scongelare i pesi originali, si affiancano loro piccole matrici a basso rango che imparano la «correzione» necessaria per il nuovo compito. Il backbone resta intatto, l’adattamento pesa pochi megabyte. Concettualmente, è ancora backbone congelato più testa nuova — solo che la «testa» è distribuita dentro la rete anziché appesa alla fine.
Anche il vocabolario è cambiato: oggi si parla di foundation model proprio perché il modello pre-addestrato è la fondazione su cui si costruiscono decine di applicazioni diverse. Nessuno addestra più un modello linguistico da zero per fare classificazione di email: si parte da una fondazione e si adatta.
I limiti: quando il trasferimento tradisce
Onestà intellettuale impone di dire dove il metodo scricchiola. Primo: il divario di dominio. Un backbone addestrato su fotografie naturali trasferisce bene su altre fotografie, meno bene su immagini radicalmente diverse — spettrogrammi audio, immagini satellitari radar, vetrini istologici. Funziona comunque meglio che partire da zero, quasi sempre, ma il vantaggio si riduce e a volte serve un pre-addestramento intermedio sul dominio giusto.
Secondo: si ereditano anche i difetti. Se il dataset di pre-addestramento contiene squilibri o distorsioni, il modello adattato li porta con sé, spesso in modo invisibile perché nessuno ha ispezionato i dati originali. Il backbone è una scatola di cui non abbiamo scritto il contenuto.
Terzo: il vincolo architetturale. Adottare un backbone significa adottare la sua architettura, la sua risoluzione di input, i suoi costi di inferenza. Per un sistema embedded con vincoli stretti, un modello piccolo addestrato ad hoc può battere un gigante riadattato.
Perché ti riguarda
Se lavori con il machine learning — o stai valutando se introdurlo in azienda — il transfer learning cambia i termini economici della domanda. La barriera non è più «abbiamo un milione di esempi etichettati?», ma «ne abbiamo qualche centinaio di buona qualità?». È la differenza tra un progetto da un anno e uno da due settimane.
E se stai imparando il deep learning, c’è una lezione di metodo: prima di addestrare qualsiasi cosa da zero, chiediti sempre chi ha già risolto un problema simile al tuo. Nella stragrande maggioranza dei casi la risposta esiste, è pubblica, e aspetta solo una testa nuova.

I commenti sono riservati agli iscritti.
Accedi per commentare