Lo sviluppo legato all’intelligenza artificiale coinvolge un’ampia varietà di metodi e tecniche, che possono valorizzare l’abilità di riutilizzare in maniera corretta ed efficiente il lavoro precedentemente svolto. Tale prospettiva viene in particolar modo enfatizzata dalla disciplina del transfer learning, che consente di personalizzare un modello di deep learning modellato in precedenza per adattarlo in funzione di nuovi scopi.

Immagine promozionale cta infografica intelligenza artificiale

Il transfer learning, o apprendimento di trasferimento, ha visto i suoi fondamenti teorici apparire nelle pubblicazioni scientifiche sin dagli anni Settanta, anche se la sua diffusione su larga scala è avvenuta in tempi ben più prossimi ai nostri giorni, quando le risorse computazionali hanno finalmente consentito al deep learning di compiere il salto verso la maturità tecnologica e la progressiva diffusione nelle applicazioni consumer ed enterprise.

La ricerca e lo sviluppo legate al transfer learning interessano vari ambiti dell’intelligenza artificiale, tra cui le applicazioni nelle scienze cognitive, soprattutto grazie alla combinazione con le tecniche di apprendimento supervisionato.

Vediamo nello specifico in cosa consiste il transfer learning e quali sono le situazioni in cui i modelli definiti mediante questo approccio possono comportare notevoli benefici rispetto a progetti di deep learning sviluppati da zero.

Cos’è e cosa si intende per transfer learning

Il transfer learning (apprendimento per trasferimento) è una sotto branca del machine learning e del deep learning che prevede la procedura di addestramento di una rete neurale profonda in cui in precedenza sono stati inseriti ed elaborati dei set di dati. Sia dal punto di vista concettuale che da quello strettamente pratico, l’obiettivo del transfer learning risiede nello sfruttare un modello già addestrato per personalizzarlo e adattarlo a nuovi scopi.

Grazie all’approccio dell’apprendimento per trasferimento, diventa possibile ottimizzare in maniera sensibile le risorse già disponibili, rispetto al dover creare ed istruire un nuovo modello di deep learning ogni talvolta in cui si presenti un’esigenza da soddisfare. Tale osservazione assume un riscontro pratico se si considerano due aspetti fondamentali.

In primo luogo, è possibile il riutilizzo anche parziale di un modello di rete neurale istruito in precedenza. Tale aspetto rende possibile selezionare soltanto gli aspetti che risultano pienamente compatibili con la personalizzazione operata mediante il transfer learning. In secondo luogo, nell’ambito del deep learning è frequente operare con set di dati generalisti, che rende quasi naturale la vocazione ad una successiva personalizzazione per soddisfare obiettivi specifici.

L’esempio ricorrente è costituito dall’impiego delle reti neurali per la classificazione delle immagini. Una volta che una rete neurale è stata istruita da un enorme quantità di contenuti visivi, il modello è pronto per essere personalizzato per creare tutte quelle applicazioni che necessitano di tale classificazione. Ridefinire ogni volta il modello non avrebbe di fatto alcun senso, in quanto comporterebbe un lungo ed oneroso percorso di addestramento per arrivare ad ottenere un risultato di fatto già disponibile.

Ovviando in questo modo alla dispersione delle risorse, il transfer learning ha consentito di allargare la base operativa delle applicazioni di deep learning, agendo da vero e proprio democratizzatore della tecnologia, rendendo maggiormente accessibili tali applicazioni per un numero sempre maggiore di ambiti di business.

È evidente come la possibilità di riutilizzare una rete neurale pre-addestrata costituisca un vantaggio enorme per chi deve creare una nuova applicazione senza dover ripartire da zero. Al tempo stesso, i benefici coinvolgono chi può rendere disponibili commercialmente i propri modelli di deep learning generalisti a tutti coloro che desiderano personalizzarli. Il transfer learning, oltre agli aspetti funzionali, costituisce quindi un abilitatore economico nel mercato delle tecnologie e delle applicazioni basate sull’intelligenza artificiale.

Come funziona

Il transfer learning è sua volta composto da varie tecniche, tra cui spiccano in particolare due metodi di ri-addestramento dei modelli di reti neurali addestrati in precedenza: l’estrazione di funzionalità e il fine tuning.

L’estrazione di funzionalità consiste nel reimpiego di una rete neurale per definire una serie di output sulla base di un input definito in precedenza, da cui vengono appunto estratte le funzionalità necessarie per raggiungere un nuovo obiettivo. Tale esigenza viene solitamente risolta attraverso l’impiego di un nuovo classificatore, più specifico rispetto a quello impiegato dal modello predefinito, la cui rete convoluzionale contiene tutti i contenuti e le funzionalità che occorrono per procedere alla personalizzazione.

Il fine tuning, come il nome stesso suggerisce in maniera esplicita, non entra nel merito del riaddestramento di un’intera rete neurale, concentrando le proprie attenzioni soltanto su alcuni dei suoi livelli. Tale metodo risulta pertanto più limitato nella portata nella sua azione di modifica, ma decisamente meno oneroso in termini di tempi e costi necessari per personalizzare il modello, soprattutto quando si tratta di agire su aspetti di modesta entità, facilmente risolvibili sui layer superficiali della rete neurale pre-addestrata su cui si interviene.

Un processo di transfer learning può essere definito in vari modi, ma solitamente si caratterizza in un workflow dalla complessità variabile, che potremmo sintetizzare nelle seguenti fasi:

  • – Analisi e comprensione dei dati presenti nel modello pre-addestrato, per verificare la congruità con i nuovi obiettivi da soddisfare
  • – Personalizzazione della pipeline di input dei dati necessari per completare il modello
  • – Creazione del “nuovo” modello di rete neurale, con la definizione dei pesi e dei parametri del modello pre-addestrato e lo sviluppo dei nuovi livelli di classificazione, che si aggiungono a quelli già esistenti
  • – Addestramento supervisionato del modello di rete neurale personalizzato e definizione dei workflow per generare i nuovi output.

Appare pertanto evidente come le competenze necessarie per svolgere un processo di transfer learning coincidano con quelle richieste dal machine learning e, più nello specifico, dal deep learning, a cui va progressivamente aggiunto un know-how specifico in materia di personalizzazione delle reti neurali.

Per misurare l’efficacia delle tecniche di transfer learning esistono vari indicatori. I più comuni sono i seguenti:

  • – valutare se l’esecuzione dell’attività target è realizzabile utilizzando solamente le conoscenze trasferite;
  • – misurare la quantità di tempo necessaria per apprendere l’attività target utilizzando le conoscenze acquisite attraverso il transfer learning rispetto ad una procedura di machine learning tradizionale.
  • – verificare se il risultato ottenuto mediante il transfer learning è paragonabile a quello ottenuto mediante una procedura di machine learning tradizionale.

I modelli di transfer learning

Il transfer learning prevede l’impiego di vari algoritmi di deep learning, sulla base dei quali vengono convenzionalmente definite tre differenti tipologie di riferimento.

Transfer learning induttivo

Prevede gli stessi domini di origine e destinazione, tuttavia correlati a differenti attività. Gli algoritmi utilizzano pertanto le caratteristiche presenti nei domini di origine per cercare di risolvere i problemi che si prospettano nella definizione dei vari scenari previsti dagli obiettivi in sede di destinazione. Nel transfer learning induttivo vengono solitamente utilizzati i metodi di apprendimento multitasking e a trasferimento sequenziale.

Transfer learning trasduttivo

Prevede differenti domini di origine e destinazione, pur legati da una serie di somiglianze. La differenza sostanziale è riferibile al fatto che non tutti i dati etichettati nel dominio di origine corrispondono a quelle presenti nel dominio di destinazione, per cui si rende necessario un trasferimento di tipo adattivo.

Transfer learning non supervisionato

A differenza della tipologia induttiva, il transfer learning non supervisionato prevede che non vi siano necessariamente dati etichettati all’interno dei domini di origine e destinazione, il che presuppone una serie di operazioni specifiche per questa condizione di scenario.

Quando utilizzare il transfer learning

Trattandosi a tutti gli effetti di un caso particolare del deep learning, il transfer learning prevede in linea di massima i medesimi ambiti di impiego, ma soprattutto andrebbe in primo luogo inteso quale un metodo per sviluppare modelli di apprendimento profondo più efficaci e funzionali ottimizzando nel miglior modo possibile il dispendio di risorse, sia in termini di tempo che di costi.

In particolare, la capacità di applicare nuovi classificatori consente di riutilizzare l’enorme lavoro di addestramento che viene svolto sulle reti neurali, con un impatto sugli aspetti legati non soltanto alla sostenibilità economica, ma anche per quanto concerne la sostenibilità ambientale, per via del notevole risparmio che ne consegue in termini di elaborazione complessiva dei modelli di deep learning. Un particolare non trascurabile nel particolare periodo storico che stiamo vivendo.

Le diverse applicazioni

Il transfer learning aiuta i data scientist a imparare dalla conoscenza acquisita da modelli di machine learning già utilizzati per compiti simili. A ciò, principalmente, si deve la sua diffusione. Gli algoritmi di transfer learning sono ad esempio frequentemente utilizzati nei seguenti ambiti:

– Computer vision / riconoscimento delle immagini: Le reti neurali profonde consentono di risolvere compiti “image related”, riconoscendo particolari anche molto complessi all’interno dell’immagine. I layer più profondi del modello di DL contengono infatti tutta la logica necessaria per gli obiettivi di riconoscimento che si intendono soddisfare. La modifica ai layer superficiali non influenza la logica sottostante e ne consente l’adattamento a molteplici scopi. Il transfer learning viene pertanto utilizzato in processi come il riconoscimento dell’immagine (image recognition) e il rilevamento di oggetti (object detection), oltre ad abilitare funzioni ricorrenti come la rimozione del rumore dalle immagini (noise reduction).

– Natural language processing / riconoscimento della voce: si tratta del range di applicazione probabilmente più diffuso per quanto concerne il transfer learning, che utilizza modelli AI pre-addestrati in grado di comprendere le strutture del linguaggio per risolvere problemi cross disciplinari, come il completamento automatico, la risposta alle domande degli utenti e la traduzione automatica dei testi. Tra i modelli di deep learning più utilizzati in questo ambito ritroviamo Albert, BERT, XLNet e TF Universal Model.

– Classificazione documentale / riconoscimento del testo: i modelli per il riconoscimento del linguaggio vengono utilizzati anche per le applicazioni nell’ambito della classificazione documentale, che gestiscono in maniera automatica i metadati dei singoli file per classificarli e predisporli in maniera efficiente per le query.

– Scienze mediche / radiologia e diagnosi precoce: come abbiamo precedentemente evidenziato, il transfer learning è molto utilizzato anche nell’ambito della computer vision, specie nelle applicazioni nell’ambito medicale.

In termini generali, abbiamo visto come il transfer learning consenta di riutilizzare i dati archiviati ed etichettati durante la risoluzione di un problema per affrontarne uno differente ma in qualche modo correlato.

Un semplice esempio per focalizzare questo concetto potrebbe essere costituito da un algoritmo per sistemi di guida autonoma, capace di riconoscere i pedoni e i veicoli che un’automobile potrebbe incontrare lungo il proprio percorso di navigazione. Grazie al transfer learning, tali conoscenze potrebbero essere pertanto trasferite in un altro modello per riconoscere veicoli differenti, sfruttando il lavoro di training già effettuato sulle reti neurali.

Il transfer learning viene utilizzato spesso nelle tecnologie AI per i chatbot, soprattutto quando si prevede di utilizzare domini simili nel corso di successive distribuzioni del software. Il transfer learning può rivelarsi infatti molto utile per classificare le conoscenze e i dati da riutilizzare nel corso delle successive evoluzioni del chatbot, automatizzando un’ampia serie di procedure legate al training di tali funzionalità.

Transfer learning e machine learning

Com’è noto, gli esperti nelle discipline del deep learning hanno implementato il transfer learning per cercare in primo luogo di superare le noti limitazioni dei modelli di machine learning tradizionali. Per comprendere le ragioni di questa scelta, è opportuno focalizzarci sulle differenze chiave che intercorrono tra le due tipologie di apprendimento.

I modelli di machine learning tradizionali si basano su un addestramento da zero, decisamente oneroso dal punto di vista computazionale, oltre a richiede una ingente quantità di dati, di elevata qualità, per ottenere risultati attendibili.

Il transfer learning, come abbiamo sottolineato in varie circostanze, si basa su modelli pre-addestrati, per cui è nativamente più efficiente dal punto di vista computazionale, oltre a richiedere, per i medesimi presupposti, una quantità di dati notevolmente inferiore rispetto al machine learning, rispetto al quale riesce a produrre spesso risultati migliori.

Il machine learning tradizionale si basa su un approccio di addestramento isolato. Ogni modello viene addestrato in maniera assolutamente indipendente, sulla base dello scopo che ci si propone di soddisfare. In altri termini, un modello ML non ha alcuna dipendenza rispetto alla conoscenza acquisita in precedenza.

Per contro, il transfer learning, basandosi su modelli pre-addestrati, sfrutta un background acquisito per proseguire un intento di conoscenza già intrapreso. Ciò comporta logicamente una serie di vincoli. Ad esempio, non sarebbe ad esempio plausibile utilizzare un modello basato su immagini riguardanti un argomento per soddisfare qualcosa di totalmente diverso. Occorre dunque disporre di modelli adeguati in funzione degli obiettivi di business da soddisfare. In generale, è possibile affermare con buona certezza che i modelli di transfer learning consentono di ottimizzare notevolmente le prestazioni in maniera più rapida rispetto ai modelli di machine learning tradizionale, sfruttando la conoscenza (caratteristiche, pesi, ecc.) proveniente dai modelli precedentemente addestrati. I vantaggi di questo approccio tendono a risultare particolarmente significativi soprattutto nel caso modelli particolarmente complessi.

Fonte: www.datascience.aero (https://datascience.aero/transfer-learning-aviation/)
ARGOMENTI CORRELATI
Categoria: INTELLIGENZA ARTIFICIALE
Concept di colleghi di frontie ad un computer che studiano gli algoritmi

Apprendimento supervisionato: come funziona ed esempi pratici

Il machine learning è una tecnica ombrello che comprende al momento oltre 100 algoritmi riconosciuti dalla comunità scientifica, ognuno caratterizzato… Leggi tutto

Concept di colleghi che osservano dati su cartella

Intelligenza artificiale e machine learning: differenze e utilizzi

Intelligenza artificiale (AI) e machine learning (ML) sono spesso trattate in maniera intercambiale, come fossero dei sinonimi tecnologici. In realtà,… Leggi tutto

Concept che richiama il machine learning e gli algoritmi. Immagine che raffigura un uomo che guarda in alto come osservando un algoritmo che in autonomia produce informazioni

Algoritmi di machine learning: come funzionano e quali sono

Il machine learning, o apprendimento automatico, è il subset dell’intelligenza artificiale in cui vengono utilizzati algoritmi per apprendere dai dati… Leggi tutto