Transfer learning: come utilizzare modelli pre-addestrati per nuove attività

Il transfer learning o apprendimento per trasferimento è un approccio che permette di sfruttare un modello già sviluppato affinché svolga un nuovo compito analogo. Questo metodo consente di risparmiare tempo e risorse, migliorando le prestazioni dei modelli di apprendimento automatico. Esistono diverse strategie che possono essere utilizzate per adattare i modelli pre-addestrati a un nuovo compito.

Che cos’è il transfer learning?

Il metodo del transfer learning è utilizzato nel campo dell’apprendimento automatico e consente di ottimizzare un modello già addestrato affinché esegua una nuova attività simile. Anziché affrontare i costi per addestrare un nuovo modello da zero per svolgere un compito specifico, si sfruttano le capacità già ottenute da un altro modello. Il modello addestrato in precedenza viene quindi modificato leggermente per adattarlo alle nuove caratteristiche, in modo da poterlo utilizzare per un compito diverso. L’utilizzo di un modello già esistente permette di risparmiare tempo e risorse perché per il suo addestramento sono sufficienti quantità di dati notevolmente inferiori. Il metodo è quindi più efficiente e offre maggiori funzionalità.

I software IA di IONOS
Scopri la potenza dell'intelligenza artificiale
  • Siti web in tempo record
  • Soluzioni IA per il tuo business
  • Risparmio di tempo e risultati eccellenti

Come funziona il transfer learning?

Per l’apprendimento per trasferimento è necessario prendere un modello che sia già stato completamente addestrato per un compito specifico e applicarlo a un compito nuovo ma simile. Questo metodo funziona particolarmente bene se utilizzato con dati non strutturati, come le immagini o materiali video. Ad esempio, è possibile utilizzare un modello precedentemente addestrato per riconoscere le immagini delle automobili in modo che in seguito riesca a identificare i camion. In questo caso si possono mantenere numerose caratteristiche comuni a entrambi i gruppi, come le ruote, le portiere o la forma generale.

Scelta del modello già addestrato

Come punto di partenza è necessario avere un modello già addestrato. Il modello viene quindi sottoposto a un nuovo addestramento con un vasto set di dati e di esempi marcati. Il modello apprende quindi gradualmente gli schemi e le relazioni tra i dati, imparando a svolgere la funzione prevista. Nel campo dell’apprendimento automatico si parla di livelli collegati tra loro e attraverso i quali è possibile eseguire calcoli. Maggiore è il numero di livelli di un modello, maggiore è la complessità degli schemi che può utilizzare.

Con il transfer learning scegliamo quindi un modello che ha già completato con successo queste fasi. A tal fine è utile esaminare da vicino il compito originale* di un modello già esistente. Più il compito originale è simile a quello nuovo, più risulterà facile compiere il passaggio alla nuova funzione.

Riconfigurazione e addestramento del modello

Nella seconda fase si configura il modello già addestrato per la nuova funzione. Per farlo esistono essenzialmente due metodi pratici e puoi scegliere quello che meglio si adatta alle tue esigenze.

Il primo metodo prevede la sostituzione dell’ultimo livello del modello di partenza addestrato. Questo livello è noto anche come livello di output (in inglese “output layer”). Esso funge da unità di classificazione finale, ossia valuta se un file soddisfa o meno i parametri memorizzati. Nel nostro esempio, questo livello stabilisce se un’immagine sottoposta al modello raffigura un’auto o meno. In molte applicazioni è possibile rimuoverlo e sostituirlo con uno nuovo, adatto all’applicazione richiesta. Nel nostro esempio, il nuovo livello avrebbe lo scopo di identificare i camion.

In alternativa, il transfer learning permette di congelare i parametri del modello di partenza e di aggiungere nuovi livelli. Questi livelli vengono creati su misura e integrati per soddisfare il nuovo orientamento del modello. A seguire occorre addestrare il modello modificato utilizzando un set di dati notevolmente più piccolo e che contiene gli esempi interessati. Il modello riconosce quindi pattern e relazioni ed è in grado di fare ricorso alle conoscenze già acquisite nell’addestramento originale.

Verifica dei progressi

L’ultima fase è indispensabile: per addestrare l’IA a svolgere la nuova funzione è fondamentale eseguire un monitoraggio accurato con l’eventuale messa a punto del materiale utilizzato per l’addestramento e la creazione di eventuali nuovi livelli. La modifica dei parametri durante l’addestramento aumenta anche la precisione e il modello impara quindi a soddisfare i nuovi requisiti.

Quali sono le strategie disponibili?

Esistono diverse strategie per utilizzare l’apprendimento per trasferimento. La scelta della strategia giusta dipende principalmente dall’uso previsto. Alcuni approcci sono i seguenti:

  • Estrazione di funzionalità: in questo approccio si utilizza il modello precedentemente addestrato come elemento fisso per sfruttarne le funzionalità di base, ad esempio per le texture. I nuovi livelli vengono quindi utilizzati per riconoscere particolari caratteristiche. Questa applicazione è utile nei casi in cui i modelli di origine e di destinazione hanno molti elementi in comune.
  • Trasferimento induttivo: in questo caso, i domini di origine e di destinazione sono identici, ma i compiti di origine e di destinazione differiscono. Pertanto è possibile addestrare più rapidamente le nuove funzionalità.
  • Trasferimento trasduttivo: questa strategia prevede di trasferire direttamente le capacità acquisite dall’attività di origine a istanze specifiche della nuova funzione, ad esempio per ottenere una migliore classificazione. Si tratta di un approccio promettente nei casi in cui le attività di origine e di destinazione hanno relativamente pochi punti in comune.
  • Trasferimento non supervisionato: anche in questo caso il dominio di origine e quello di destinazione sono simili e i rispettivi compiti sono diversi. In aggiunta, però, i dati non sono etichettati. Il modello apprende quindi le differenze e le somiglianze dei dati non etichettati e può generalizzare tali informazioni.
  • Multitask: in questo approccio, un modello esegue contemporaneamente diversi compiti, che non sono identici, ma correlati tra loro. In questo modo è possibile condividere l’utilizzo delle nozioni acquisite.
  • Previsione: in questa forma di transfer learning il modello deve colmare autonomamente alcuni aspetti mancanti nei dati stessi. È utilizzato, ad esempio, per prevedere le parole all’interno di una frase. I risultati devono essere migliorati attraverso una messa a punto.
  • Zero-shot e few-shot: anche in questo caso si tratta di forme di apprendimento per trasferimento nel campo dell’IA generativa, in cui le conoscenze vengono trasferite da un’origine a una destinazione quando le due parti hanno solo poche corrispondenze (few-shot) o addirittura non hanno nessuna corrispondenza tra loro (zero-shot). Questo metodo è utilizzato quando si dispone solo di pochi dati per l’addestramento.
  • Disentanglement (districamento): questo approccio comporta la separazione dei dati in diversi fattori. Ad esempio, il modello è in grado di osservare e manipolare lo stile e il contenuto separatamente l’uno dall’altro.

Quali sono i campi d’applicazione dell’apprendimento per trasferimento?

Sono numerose le possibili applicazioni del transfer learning. Il metodo permette di ottenere notevoli risparmi in termini di costi, tempo e risorse, offrendo quindi numerosi vantaggi. Attualmente fra i campi d’impiego principali si contano i seguenti:

  • Riconoscimento delle immagini
  • Riconoscimento vocale
  • Localizzazione di oggetti
  • Diagnosi mediche

In futuro, tuttavia, l’apprendimento per trasferimento verrà utilizzato probabilmente in molti altri ambiti.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top