images/2021/BLOG_POSIZIONAMENTO_2021/20211119-TEA-ART15-Transfer-learning.png

Transfer Learning – cos’è e possibili applicazioni

Il Transfer Learning è una delle funzionalità più interessanti e avanzate del Machine Learning. Consiste, per dirla molto semplicemente, in un “riciclo” delle competenzeacquisite da un modello di rete neurale

Un sistema già addestrato a risolvere problemi impara a risolverne altri - simili a quelli per cui è stato programmato - senza bisogno di ripartire da zero. Il Transfer Learning, quindi, permette di riutilizzare i modelli di rete neurale, a patto, ovviamente, che i nuovi compiti richiesti al sistema siano simili a quelli per cui è stato progettato. 

Si tratta di uno degli sviluppi più innovativi e performanti dell’automazione industriale, che parte dalla linea produttiva e arriva ad abbracciare ogni settore della vita quotidiana. 

Come abbiamo già visto in un altro articolo sul Deep Learning, questi sistemi intelligenti e automatizzati possono rendere le aziende sempre più competitive e performanti, implementando la produttività e la qualità delle linee. 

 

Quali sono i vantaggi del Transfer Learning?

Come abbiamo già detto, il Transfer Learning è un riaddestramento della rete neurale, che impara a risolvere nuovi problemi partendo da un modello pre-sviluppato.

Il vantaggio intrinseco di questa tecnologia è evidente. Quanto costa, in termini economici, di tempo e di risorse sviluppare da zero una rete neurale? Quanto costa invece reindirizzare una rete neurale già addestrata su nuovi obiettivi? Decisamente molto meno.

Il riutilizzo di modelli già impostati, quindi, consente di limitare l’investimento pur avendo gli stessi risultati in termini di efficienza e qualità. 

 

Come funziona?

Per capire le potenzialità del Transfer Learning, prendiamo ad esempio la classificazione delle immagini su larga scala. Il modello di rete neurale già addestrato potrebbe etichettare molti più dati rispetto al problema iniziale e viene quindi reimpostato per estrarre solo le informazioni necessarie.

Ma può anche capitare che il sistema abbia imparato a riconoscere delle immagini – diciamo cani e gatti - mentre la nuova richiesta sia quella di individuare ed etichettare – ad esempio – serpenti e pesci. 

In ogni caso, non serve ripartire dall’inizio della rete profondabasta intervenire sugli strati intermedi relativi alla classificazione. 

Il Transfer Learning richiede un apprendimento supervisionato. Come abbiamo già visto parlando del Deep Learning, è necessario che il supervisore etichetti i segnali di output desiderati. L’input rimane lo stesso del modello pre-addestrato, ma cambia l’obiettivo da raggiungere. 

Si tratta di reindirizzare un modello pre-addestrato su cui è già stato installato un set di dati di grandi dimensioni. Per farlo ci sono due possibilità, sempre partendo dagli stessi dati di input:

  • Estrarre ulteriori caratteristiche 
  • Limitare l’addestramento e l’elaborazione a un numero inferiore di parametri

Per dirla in modo molto semplificato, nel primo caso si usa il modello pre-addestrato come scala, a cui si aggiungono dei gradini ulteriori per raggiungere risultati di livello ancora superiore. Nel secondo, invece, si fa una selezione dei parametri richiesti e ci si focalizza sull’accuratezza dei risultati piuttosto che sulla loro mole. 

Quello che si fa con il Transfer Learning non è altro che riutilizzare la rete già esistente, addestrando solo quei livelli specifici necessari per soddisfare le nuove richieste. 

 

Applicazioni: quali sono i campi più coinvolti?

Come abbiamo già detto parlando di AI e automazione industriale, è difficile selezionare i settori più coinvolti, dal momento che si tratta di innovazioni tecnologiche assolutamente trasversali, in grado di aumentare il livello di produttività e qualità di ogni comparto.

Abbiamo già parlato di riconoscimento delle immagini, effettivamente uno dei campi per cui il Transfer Learning è maggiormente impiegato. Insegnare a un sistema a etichettare le immagini richiede un dispendio notevole di tempo e capacità computazionale, nonché un investimento economico non trascurabile. Poter reindirizzare un modello già addestrato è sicuramente più conveniente sotto tutti i punti di vista. 

Il Transfer Learning è molto utilizzato anche nelle attività di elaborazione del linguaggio naturale. Una volta che il sistema ha le capabilities per comprendere il linguaggio, implementare ad esempio la parte relativa alla traduzione è uno step ulteriore che richiede sicuramente meno risorse che progettare da zero un sistema in grado di tradurre. 

Per quanto riguarda la medicina, il Transfer Learning è la soluzione migliore per perfezionare la diagnostica attraverso l’imaging medico. In questo modo si possono rilevare infezioni, cellule maligne o alterazioni cardiache. La macchina può imparare a leggere ogni tipologia di referto medico, dai vetrini di laboratorio ai tracciati, fino ai raggi X.

Un’altra applicazione del Transfer Learning riguarda il riconoscimento vocale, ovvero la capacità del sistema di elaborare il discorso umano in forma scritta. Nel caso di molte lingue, si è preferito utilizzare il riconoscimento vocale in lingua inglese come base di partenza piuttosto che sviluppare un sistema nuovo e originale.

 

Ricapitolando, possiamo definire il Transfer Learning come “un avanzato metodo di Machine Learning nel quale un modello pre-sviluppato per svolgere una precisa attività viene riutilizzato quale punto di partenza per lo sviluppo di un modello destinato all’esecuzione di una seconda differente attività” (fonte AI4Business).

Questo sistema di apprendimento per trasferimento permette di risparmiare tempo, risorse ed energia computazionale per lo sviluppo di modelli di Deep Learning sempre più accurati. Il principio è lo stesso dell’automazione industriale. Con la massima razionalizzazione del sistema si ottengono modelli produttivi sempre più performanti e sempre ripetibili, senza margine di spreco né di errore.