Cos'è il transfer learning?
Il transfer learning (TL) è una tecnica di machine learning (ML) in cui un modello preaddestrato su un'attività viene messo a punto per una nuova attività correlata. L'addestramento di un nuovo modello di ML è un processo lungo e intensivo che richiede una grande quantità di dati, un'elevata potenza di calcolo e diverse iterazioni prima che sia pronto per la produzione. Invece, le organizzazioni utilizzano il TL per riaddestrare con nuovi dati i modelli esistenti su attività correlate. Ad esempio, se un modello di machine learning è in grado di identificare immagini di cani, può essere addestrato a identificare i gatti utilizzando un set di immagini più piccolo che evidenzi le differenze tra le caratteristiche di cani e gatti.
Quali sono i vantaggi del transfer learning?
Il transfer learning offre diversi dei seguenti vantaggi ai ricercatori che creano applicazioni ML.
Efficienza migliorata
L’addestramento dei modelli ML richiede tempo in quanto è un processo che acquisisce conoscenze e identifica i modelli. Richiede inoltre un set di dati di grandi dimensioni ed è costoso dal punto di vista computazionale. Nel transfer learning, un modello pre-addestrato mantiene le conoscenze fondamentali di compiti, caratteristiche, pesi e funzioni, consentendogli di adattarsi più rapidamente a nuove attività. È possibile utilizzare un set di dati molto più piccolo e meno risorse ottenendo risultati migliori.
Maggiore accessibilità
La creazione di reti neurali di deep learning richiede grandi volumi di dati, risorse, potenza di calcolo e tempo. Il transfer learning supera queste barriere alla creazione, consentendo alle organizzazioni di adottare ML per casi d'uso personalizzati. Puoi adattare i modelli esistenti alle tue esigenze a una frazione del costo. Ad esempio, utilizzando un modello di riconoscimento delle immagini pre-addestrato, è possibile creare modelli per l'analisi delle immagini mediche, il monitoraggio ambientale o il riconoscimento facciale con regolazioni minime.
Prestazioni migliorate
I modelli sviluppati tramite transfer learning spesso dimostrano una maggiore robustezza in ambienti diversi e difficili. Sono in grado di gestire meglio la variabilità e il rumore del mondo reale, essendo stati esposti a un'ampia gamma di scenari durante la formazione iniziale. Offrono risultati migliori e si adattano in modo più flessibile a condizioni imprevedibili.
Quali sono le diverse strategie di transfer learning?
La strategia utilizzata per facilitare il TL dipenderà dal dominio del modello che stai creando, dall'attività che deve completare e dalla disponibilità dei dati di addestramento.
Transfer learning trasduttivo
L'apprendimento trasduttivo prevede il trasferimento della conoscenza da un dominio di origine specifico a un dominio di destinazione diverso ma correlato, con l'obiettivo principale del dominio di destinazione. È particolarmente utile quando i dati etichettati dal dominio di destinazione sono scarsi o assenti.
L'apprendimento a trasferimento trasduttivo chiede al modello di fare previsioni sui dati di destinazione utilizzando le conoscenze acquisite in precedenza. Poiché i dati di destinazione sono matematicamente simili ai dati di origine, il modello trova modelli e funziona più velocemente.
Ad esempio, prendi in considerazione l'idea di adattare un modello di analisi del sentiment addestrato sulle recensioni dei prodotti per analizzare le recensioni dei film. Il dominio di origine (recensioni di prodotti) e il dominio di destinazione (recensioni di film) differiscono nel contesto e nelle specifiche, ma condividono somiglianze nella struttura e nell'uso del linguaggio. Il modello impara rapidamente ad applicare la sua comprensione del sentimento dal dominio del prodotto a quello del film.
Transfer learning induttivo
Il transfer learning induttivo si verifica quando i domini di origine e di destinazione coincidono, ma le attività che il modello deve completare sono diverse. Il modello pre-addestrato conosce già i dati di origine e si addestra più velocemente per nuove funzioni.
Un esempio di transfer learning induttivo è l'elaborazione del linguaggio naturale (NLP). I modelli vengono pre-addestrati su un ampio set di testi e poi ottimizzati utilizzando il trasferimento induttivo a funzioni specifiche come l'analisi del sentiment. Allo stesso modo, i modelli di visione artificiale come VGG sono pre-addestrati su set di dati di immagini di grandi dimensioni e quindi ottimizzati per sviluppare il rilevamento di oggetti.
Transfer learning senza supervisione
Il transfer learning senza supervisione utilizza una strategia simile al transfer learning induttivo per sviluppare nuove abilità. Tuttavia, si utilizza questa forma di transfer learning quando si dispone solo di dati senza etichetta sia nel dominio di origine che in quello di destinazione.
Il modello apprende le caratteristiche comuni dei dati senza etichetta per generalizzare con maggiore precisione quando viene chiesto di eseguire un'attività mirata. Questo metodo è utile se è difficile o costoso ottenere dati di origine etichettati.
Ad esempio, si consideri il compito di identificare diversi tipi di motociclette nelle immagini del traffico. Inizialmente, il modello viene addestrato su un ampio set di immagini di veicoli senza etichetta. In questo caso, il modello determina in modo indipendente le somiglianze e le caratteristiche distintive tra diversi tipi di veicoli come auto, autobus e motociclette. Successivamente, il modello viene introdotto in un piccolo e specifico set di immagini di motociclette. Le prestazioni del modello migliorano notevolmente rispetto a prima.
Quali sono le fasi del transfer learning?
Ci sono tre passaggi principali per perfezionare un modello di machine learning per una nuova attività.
Selezione di un modello pre-addestrato
Innanzitutto, seleziona un modello pre-addestrato con conoscenze o competenze precedenti per un'attività correlata. Un contesto utile per scegliere un modello adatto consiste nel determinare l'attività di origine di ciascun modello. Se comprendi le attività originali eseguite dal modello, puoi trovarne una che passi più efficacemente a una nuova attività.
Configurazione dei modelli pre-addestrati
Dopo aver selezionato il modello di origine, configuralo per trasmettere le conoscenze a un modello per completare l'attività correlata. Esistono due metodi principali per farlo.
Congelamento dei livelli pre-addestrati
I livelli sono gli elementi costitutivi delle reti neurali. Ogni livello è costituito da un insieme di neuroni ed esegue trasformazioni specifiche sui dati di input. I pesi sono i parametri utilizzati dalla rete per il processo decisionale. Inizialmente impostati su valori casuali, i pesi vengono regolati durante il processo di addestramento man mano che il modello apprende dai dati.
Congelando i pesi dei livelli pre-addestrati, li mantieni fissi, preservando le conoscenze che il modello di deep learning ha ottenuto dall'attività di origine.
Rimozione dell'ultimo livello
In alcuni casi d'uso, è possibile rimuovere gli ultimi livelli del modello pre-addestrato. Nella maggior parte delle architetture ML, gli ultimi livelli sono specifici delle attività. La rimozione di questi livelli finali consente di riconfigurare il modello per i nuovi requisiti delle attività.
Introduzione di nuovi livelli
L'introduzione di nuovi livelli in aggiunta al modello pre-addestrato ti aiuta ad adattarti alla natura specialistica della nuova attività. I nuovi livelli adattano il modello alle sfumature e alle funzioni del nuovo requisito.
Addestramento del modello per il dominio di destinazione
Addestra il modello sui dati dell'attività di destinazione per svilupparne l'output standard da allineare alla nuova attività. Il modello pre-addestrato probabilmente produce risultati diversi da quelli desiderati. Dopo aver monitorato e valutato le prestazioni del modello durante l'addestramento, è possibile regolare gli iperparametri o l'architettura della rete neurale di base per migliorare ulteriormente l'output. A differenza dei pesi, gli iperparametri non vengono appresi dai dati. Sono preimpostati e svolgono un ruolo cruciale nel determinare l'efficienza e l'efficacia del processo di formazione. Ad esempio, è possibile regolare i parametri di regolarizzazione o i tassi di apprendimento del modello per migliorarne le capacità in relazione all'attività target.
Quali sono le strategie di transfer learning nell'IA generativa?
Le strategie di transfer learning sono fondamentali per l'adozione dell'IA generativa in vari settori. Le organizzazioni possono personalizzare i modelli di fondazione esistenti senza doverne addestrare di nuovi su miliardi di parametri di dati su larga scala. Di seguito sono riportate alcune strategie di transfer learning utilizzate nell'IA generativa.
Addestramento antagonista del dominio
L’addestramento antagonista del dominio implica la formazione di un modello di fondazione per produrre dati indistinguibili dai dati reali nel dominio di destinazione. Questa tecnica utilizza in genere una rete discriminante, come si vede nelle reti generative antagoniste, che tenta di distinguere tra dati veri e dati generati. Il generatore impara a creare dati sempre più realistici.
Ad esempio, nella generazione di immagini, un modello addestrato su fotografie potrebbe essere adattato per generare grafica. Il discriminatore aiuta a garantire che la grafica generata sia stilisticamente coerente con il dominio di destinazione.
Apprendimento insegnante-studente
L'apprendimento insegnante-studente implica un modello di "insegnante" più ampio e complesso che insegna un modello di "studente" più piccolo e semplice. Il modello dello studente impara a imitare il comportamento del modello dell'insegnante, trasferendo efficacemente le conoscenze. Ciò è utile per implementare modelli generativi di grandi dimensioni in ambienti con risorse limitate.
Ad esempio, un modello linguistico di grandi dimensioni (LLM) potrebbe fungere da insegnante per un modello più piccolo, trasferendo le sue capacità di generazione linguistica. Ciò consentirebbe al modello più piccolo di generare testo di alta qualità con un minore sovraccarico di calcolo.
Disentanglement delle funzionalità
Il disentanglement delle funzionalità nei modelli generativi implica la separazione di diversi aspetti dei dati, come il contenuto e lo stile, in rappresentazioni distinte. Ciò consente al modello di manipolare questi aspetti in modo indipendente nel processo di transfer learning.
Ad esempio, in un'attività di generazione di volti, un modello potrebbe imparare a distinguere i tratti del viso dallo stile artistico. Ciò consentirebbe di generare ritratti in vari stili artistici mantenendo la somiglianza del soggetto.
Apprendimento basato sul trasferimento intermodale
L'apprendimento basato sul trasferimento intermodale implica il trasferimento di conoscenze tra diverse modalità, come testo e immagini. I modelli generativi possono apprendere rappresentazioni applicabili a queste modalità. Un modello addestrato sulle descrizioni testuali e sulle immagini corrispondenti potrebbe imparare a generare immagini pertinenti a partire da nuove descrizioni testuali, trasferendo efficacemente la sua comprensione da testo a immagine.
Apprendimento zero-shot e few-shot
Nell'apprendimento zero-shot e few-shot, i modelli generativi vengono addestrati per eseguire attività o generare dati di cui hanno visto pochi o nessun esempio durante l'addestramento. Ciò si ottiene imparando rappresentazioni ricche che generalizzano bene. Ad esempio, un modello generativo potrebbe essere addestrato a creare immagini di animali. Utilizzando l'addestramento few-shot, potrebbe generare immagini di un animale visto raramente comprendendo e combinando le caratteristiche di altri animali.
In che modo AWS può aiutarti con i tuoi requisiti relativi al transfer learning?
Amazon SageMaker JumpStart è un hub ML in cui puoi accedere a modelli pre-addestrati, inclusi i modelli di fondazione, per eseguire attività come la sintesi di articoli e la generazione di immagini. Puoi utilizzare il transfer learning per produrre modelli accurati su set di dati più piccoli, con costi di formazione inferiori rispetto a quelli coinvolti nella formazione del modello originale. Ad esempio, con SageMaker JumpStart, è possibile:
- Personalizzare completamente i modelli pre-addestrati per il tuo caso d'uso e con i tuoi dati per una più rapida implementazione in produzione.
- Accedere a soluzioni predefinite per risolvere casi d'uso comuni.
- Condividere gli artefatti ML, inclusi modelli e taccuini ML, all'interno della tua organizzazione.
Quando utilizzi l'approccio di apprendimento basato sul trasferimento intermodale, per rilevare gravi problemi nascosti puoi anche utilizzare Debugger Amazon SageMaker. Ad esempio, puoi esaminare le previsioni del modello per trovare errori, convalidare la robustezza del modello e considerare quanta parte di questa robustezza deriva dalle abilità ereditate. Puoi anche convalidare gli input e i preprocessi del modello per aspettative realistiche.
Inizia a usare il transfer learning su AWS creando un account gratuito oggi stesso.
Fasi successive su AWS
Ottieni accesso istantaneo al Piano gratuito di AWS.