Il transfer learning o ap­pren­di­men­to per tra­sfe­ri­men­to è un approccio che permette di sfruttare un modello già svi­lup­pa­to affinché svolga un nuovo compito analogo. Questo metodo consente di ri­spar­mia­re tempo e risorse, mi­glio­ran­do le pre­sta­zio­ni dei modelli di ap­pren­di­men­to au­to­ma­ti­co. Esistono diverse strategie che possono essere uti­liz­za­te per adattare i modelli pre-ad­de­stra­ti a un nuovo compito.

Che cos’è il transfer learning?

Il metodo del transfer learning è uti­liz­za­to nel campo dell’ap­pren­di­men­to au­to­ma­ti­co e consente di ot­ti­miz­za­re un modello già ad­de­stra­to affinché esegua una nuova attività simile. Anziché af­fron­ta­re i costi per ad­de­stra­re un nuovo modello da zero per svolgere un compito specifico, si sfruttano le capacità già ottenute da un altro modello. Il modello ad­de­stra­to in pre­ce­den­za viene quindi mo­di­fi­ca­to leg­ger­men­te per adattarlo alle nuove ca­rat­te­ri­sti­che, in modo da poterlo uti­liz­za­re per un compito diverso. L’utilizzo di un modello già esistente permette di ri­spar­mia­re tempo e risorse perché per il suo ad­de­stra­men­to sono suf­fi­cien­ti quantità di dati no­te­vol­men­te inferiori. Il metodo è quindi più ef­fi­cien­te e offre maggiori fun­zio­na­li­tà.

I software IA di IONOS
Scopri la potenza del­l'in­tel­li­gen­za ar­ti­fi­cia­le
  • Siti web in tempo record
  • Soluzioni IA per il tuo business
  • Risparmio di tempo e risultati ec­cel­len­ti

Come funziona il transfer learning?

Per l’ap­pren­di­men­to per tra­sfe­ri­men­to è ne­ces­sa­rio prendere un modello che sia già stato com­ple­ta­men­te ad­de­stra­to per un compito specifico e ap­pli­car­lo a un compito nuovo ma simile. Questo metodo funziona par­ti­co­lar­men­te bene se uti­liz­za­to con dati non strut­tu­ra­ti, come le immagini o materiali video. Ad esempio, è possibile uti­liz­za­re un modello pre­ce­den­te­men­te ad­de­stra­to per ri­co­no­sce­re le immagini delle au­to­mo­bi­li in modo che in seguito riesca a iden­ti­fi­ca­re i camion. In questo caso si possono mantenere numerose ca­rat­te­ri­sti­che comuni a entrambi i gruppi, come le ruote, le portiere o la forma generale.

Scelta del modello già ad­de­stra­to

Come punto di partenza è ne­ces­sa­rio avere un modello già ad­de­stra­to. Il modello viene quindi sot­to­po­sto a un nuovo ad­de­stra­men­to con un vasto set di dati e di esempi marcati. Il modello apprende quindi gra­dual­men­te gli schemi e le relazioni tra i dati, imparando a svolgere la funzione prevista. Nel campo dell’ap­pren­di­men­to au­to­ma­ti­co si parla di livelli collegati tra loro e at­tra­ver­so i quali è possibile eseguire calcoli. Maggiore è il numero di livelli di un modello, maggiore è la com­ples­si­tà degli schemi che può uti­liz­za­re.

Con il transfer learning scegliamo quindi un modello che ha già com­ple­ta­to 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.

Ri­con­fi­gu­ra­zio­ne e ad­de­stra­men­to del modello

Nella seconda fase si configura il modello già ad­de­stra­to per la nuova funzione. Per farlo esistono es­sen­zial­men­te due metodi pratici e puoi scegliere quello che meglio si adatta alle tue esigenze.

Il primo metodo prevede la so­sti­tu­zio­ne dell’ultimo livello del modello di partenza ad­de­stra­to. Questo livello è noto anche come livello di output (in inglese “output layer”). Esso funge da unità di clas­si­fi­ca­zio­ne finale, ossia valuta se un file soddisfa o meno i parametri me­mo­riz­za­ti. Nel nostro esempio, questo livello sta­bi­li­sce se un’immagine sot­to­po­sta al modello raffigura un’auto o meno. In molte ap­pli­ca­zio­ni è possibile ri­muo­ver­lo e so­sti­tuir­lo con uno nuovo, adatto all’ap­pli­ca­zio­ne richiesta. Nel nostro esempio, il nuovo livello avrebbe lo scopo di iden­ti­fi­ca­re i camion.

In al­ter­na­ti­va, il transfer learning permette di congelare i parametri del modello di partenza e di ag­giun­ge­re nuovi livelli. Questi livelli vengono creati su misura e integrati per sod­di­sfa­re il nuovo orien­ta­men­to del modello. A seguire occorre ad­de­stra­re il modello mo­di­fi­ca­to uti­liz­zan­do un set di dati no­te­vol­men­te più piccolo e che contiene gli esempi in­te­res­sa­ti. Il modello riconosce quindi pattern e relazioni ed è in grado di fare ricorso alle co­no­scen­ze già acquisite nell’ad­de­stra­men­to originale.

Verifica dei progressi

L’ultima fase è in­di­spen­sa­bi­le: per ad­de­stra­re l’IA a svolgere la nuova funzione è fon­da­men­ta­le eseguire un mo­ni­to­rag­gio accurato con l’eventuale messa a punto del materiale uti­liz­za­to per l’ad­de­stra­men­to e la creazione di eventuali nuovi livelli. La modifica dei parametri durante l’ad­de­stra­men­to aumenta anche la pre­ci­sio­ne e il modello impara quindi a sod­di­sfa­re i nuovi requisiti.

Quali sono le strategie di­spo­ni­bi­li?

Esistono diverse strategie per uti­liz­za­re l’ap­pren­di­men­to per tra­sfe­ri­men­to. La scelta della strategia giusta dipende prin­ci­pal­men­te dall’uso previsto. Alcuni approcci sono i seguenti:

  • Estra­zio­ne di fun­zio­na­li­tà: in questo approccio si utilizza il modello pre­ce­den­te­men­te ad­de­stra­to come elemento fisso per sfrut­tar­ne le fun­zio­na­li­tà di base, ad esempio per le texture. I nuovi livelli vengono quindi uti­liz­za­ti per ri­co­no­sce­re par­ti­co­la­ri ca­rat­te­ri­sti­che. Questa ap­pli­ca­zio­ne è utile nei casi in cui i modelli di origine e di de­sti­na­zio­ne hanno molti elementi in comune.
  • Tra­sfe­ri­men­to induttivo: in questo caso, i domini di origine e di de­sti­na­zio­ne sono identici, ma i compiti di origine e di de­sti­na­zio­ne dif­fe­ri­sco­no. Pertanto è possibile ad­de­stra­re più ra­pi­da­men­te le nuove fun­zio­na­li­tà.
  • Tra­sfe­ri­men­to tra­sdut­ti­vo: questa strategia prevede di tra­sfe­ri­re di­ret­ta­men­te le capacità acquisite dall’attività di origine a istanze spe­ci­fi­che della nuova funzione, ad esempio per ottenere una migliore clas­si­fi­ca­zio­ne. Si tratta di un approccio pro­met­ten­te nei casi in cui le attività di origine e di de­sti­na­zio­ne hanno re­la­ti­va­men­te pochi punti in comune.
  • Tra­sfe­ri­men­to non su­per­vi­sio­na­to: anche in questo caso il dominio di origine e quello di de­sti­na­zio­ne sono simili e i ri­spet­ti­vi compiti sono diversi. In aggiunta, però, i dati non sono eti­chet­ta­ti. Il modello apprende quindi le dif­fe­ren­ze e le so­mi­glian­ze dei dati non eti­chet­ta­ti e può ge­ne­ra­liz­za­re tali in­for­ma­zio­ni.
  • Multitask: in questo approccio, un modello esegue con­tem­po­ra­nea­men­te diversi compiti, che non sono identici, ma correlati tra loro. In questo modo è possibile con­di­vi­de­re l’utilizzo delle nozioni acquisite.
  • Pre­vi­sio­ne: in questa forma di transfer learning il modello deve colmare au­to­no­ma­men­te alcuni aspetti mancanti nei dati stessi. È uti­liz­za­to, ad esempio, per prevedere le parole all’interno di una frase. I risultati devono essere mi­glio­ra­ti at­tra­ver­so una messa a punto.
  • Zero-shot e few-shot: anche in questo caso si tratta di forme di ap­pren­di­men­to per tra­sfe­ri­men­to nel campo dell’IA ge­ne­ra­ti­va, in cui le co­no­scen­ze vengono tra­sfe­ri­te da un’origine a una de­sti­na­zio­ne quando le due parti hanno solo poche cor­ri­spon­den­ze (few-shot) o ad­di­rit­tu­ra non hanno nessuna cor­ri­spon­den­za tra loro (zero-shot). Questo metodo è uti­liz­za­to quando si dispone solo di pochi dati per l’ad­de­stra­men­to.
  • Di­sen­tan­gle­ment (di­stri­ca­men­to): questo approccio comporta la se­pa­ra­zio­ne dei dati in diversi fattori. Ad esempio, il modello è in grado di osservare e ma­ni­po­la­re lo stile e il contenuto se­pa­ra­ta­men­te l’uno dall’altro.

Quali sono i campi d’ap­pli­ca­zio­ne dell’ap­pren­di­men­to per tra­sfe­ri­men­to?

Sono numerose le possibili ap­pli­ca­zio­ni del transfer learning. Il metodo permette di ottenere notevoli risparmi in termini di costi, tempo e risorse, offrendo quindi numerosi vantaggi. At­tual­men­te fra i campi d’impiego prin­ci­pa­li si contano i seguenti:

  • Ri­co­no­sci­men­to delle immagini
  • Ri­co­no­sci­men­to vocale
  • Lo­ca­liz­za­zio­ne di oggetti
  • Diagnosi mediche

In futuro, tuttavia, l’ap­pren­di­men­to per tra­sfe­ri­men­to verrà uti­liz­za­to pro­ba­bil­men­te in molti altri ambiti.

Vai al menu prin­ci­pa­le