mozzicone Che cos'è l'apprendimento a pochi colpi? - Unite.AI
Seguici sui social
Corso di perfezionamento sull'intelligenza artificiale:

AI 101

Cos'è l'apprendimento a pochi colpi?

mm
aggiornato on

L'apprendimento "few-shot" si riferisce a una varietà di algoritmi e tecniche utilizzati per sviluppare un modello di intelligenza artificiale utilizzando una quantità molto piccola di dati di addestramento. L'apprendimento "few-shot" tenta di consentire a un modello di intelligenza artificiale di riconoscere e classificare nuovi dati dopo essere stato esposto a relativamente poche istanze di addestramento. L'addestramento "low-shot" è in contrasto con i metodi tradizionali di addestramento dei modelli di machine learning, in cui viene generalmente utilizzata una grande quantità di dati di addestramento. L'apprendimento con pochi colpi lo è utilizzato principalmente nella visione artificiale.

Per sviluppare una migliore intuizione per l'apprendimento a pochi colpi, esaminiamo il concetto in modo più dettagliato. Esamineremo le motivazioni e i concetti alla base dell'apprendimento di pochi colpi, esploreremo alcuni vari tipi di apprendimento di pochi colpi e tratteremo alcuni modelli utilizzati nell'apprendimento di pochi colpi ad alto livello. Infine, esamineremo alcune applicazioni per l'apprendimento a pochi colpi.

Cos'è l'apprendimento a pochi colpi?

"Few-shot learning" descrive la pratica di addestramento di un modello di machine learning con una quantità minima di dati. In genere, i modelli di machine learning vengono addestrati su grandi volumi di dati, più grandi sono, meglio è. Tuttavia, l'apprendimento a pochi colpi è un importante concetto di apprendimento automatico per diversi motivi.

Uno dei motivi per utilizzare l'apprendimento a pochi colpi è che può ridurre drasticamente la quantità di dati necessari per addestrare un modello di apprendimento automatico, il che riduce il tempo necessario per etichettare set di dati di grandi dimensioni. Allo stesso modo, l'apprendimento in pochi scatti riduce la necessità di aggiungere funzionalità specifiche per varie attività quando si utilizza un set di dati comune per creare campioni diversi. L'apprendimento a pochi colpi può idealmente rendere i modelli più robusti e in grado di riconoscere oggetti basati su meno dati, creando modelli più generali rispetto ai modelli altamente specializzati che sono la norma.

L'apprendimento "few-shot" è più comunemente utilizzato nel campo della visione artificiale, poiché la natura dei problemi di visione artificiale richiede grandi volumi di dati o un modello flessibile.

Sub-categorie

La frase "apprendimento a pochi colpi" è in realtà solo un tipo di apprendimento che utilizza pochissimi esempi di addestramento. Dal momento che stai usando solo "pochi" esempi di formazione, ci sono sottocategorie di apprendimento di pochi colpi che implicano anche la formazione con una quantità minima di dati. L'apprendimento "one-shot" è un altro tipo di addestramento del modello che implica insegnare a un modello a riconoscere un oggetto dopo aver visto solo un'immagine di quell'oggetto. Le tattiche generali utilizzate nell'apprendimento one-shot e nell'apprendimento in pochi-shot sono le stesse. Tieni presente che il termine apprendimento "poche riprese" potrebbe essere utilizzato come termine generico per descrivere qualsiasi situazione in cui un modello viene addestrato con pochissimi dati.

Approcci all'apprendimento a pochi colpi

La maggior parte degli approcci di apprendimento di pochi colpi può rientrare in una delle tre categorie: approcci a livello di dati, approcci a livello di parametro e approcci basati su metriche.

Approcci a livello di dati

Gli approcci a livello di dati all'apprendimento a pochi colpi sono molto semplici nel concetto. Per addestrare un modello quando non disponi di dati di addestramento sufficienti, puoi semplicemente ottenere più dati di addestramento. Esistono varie tecniche che un data scientist può utilizzare per aumentare la quantità di dati di addestramento di cui dispone.

Dati di addestramento simili possono eseguire il backup dei dati di destinazione esatti su cui stai addestrando un classificatore. Ad esempio, se stai addestrando un classificatore a riconoscere tipi specifici di cani ma mancano molte immagini della particolare specie che stavi cercando di classificare, potresti includere molte immagini di cani che aiuterebbero il classificatore a determinare le caratteristiche generali che compongono un cane .

L'aumento dei dati può creare più dati di addestramento per un classificatore. Ciò comporta in genere l'applicazione di trasformazioni ai dati di addestramento esistenti, ad esempio la rotazione delle immagini esistenti in modo che il classificatore esamini le immagini da diverse angolazioni. I GAN possono anche essere utilizzati per generare nuovi esempi di addestramento basati su ciò che apprendono dai pochi esempi autentici di dati di addestramento che hai.

Approcci a livello di parametro

Meta-apprendimento

Un approccio a livello di parametro all'apprendimento a pochi colpi prevede l'uso di una tecnica chiamata "meta-apprendimento”. Il meta-apprendimento implica insegnare a un modello come imparare quali funzionalità sono importanti in un'attività di machine learning. Ciò può essere ottenuto creando un metodo per regolare il modo in cui viene esplorato lo spazio dei parametri di un modello.

Il meta-apprendimento fa uso di due diversi modelli: un modello insegnante e un modello studente. Il modello “insegnante” e un modello “studente”. Il modello dell'insegnante impara a incapsulare lo spazio dei parametri, mentre l'algoritmo dello studente impara a riconoscere e classificare gli elementi effettivi nel set di dati. Per dirla in un altro modo, il modello insegnante impara come ottimizzare un modello, mentre il modello studente impara come classificare. Gli output del modello dell'insegnante vengono utilizzati per addestrare il modello dello studente, mostrando al modello dello studente come negoziare l'ampio spazio dei parametri che risulta da una quantità insufficiente di dati di addestramento. Da qui il "meta" nel meta-apprendimento.

Uno dei problemi principali con i modelli di apprendimento a pochi colpi è che possono facilmente adattarsi eccessivamente ai dati di addestramento, poiché spesso hanno spazi ad alta dimensione. Limitare lo spazio dei parametri di un modello risolve questo problema e, sebbene possa essere ottenuto applicando tecniche di regolarizzazione e selezionando le funzioni di perdita appropriate, l'uso di un algoritmo insegnante può migliorare notevolmente le prestazioni di un modello a pochi scatti.

Un modello di classificatore di apprendimento a pochi colpi (il modello dello studente) cercherà di generalizzare in base alla piccola quantità di dati di addestramento con cui è fornito e la sua accuratezza può migliorare con un modello dell'insegnante per dirigerlo attraverso lo spazio dei parametri ad alta dimensione. Questa architettura generale viene definita meta-discente "basata sul gradiente".

L'intero processo di formazione di un metadiscente basato sul gradiente è il seguente:

  1. Crea il modello dello studente di base (insegnante).
  2. Addestra il modello base-studente sul set di supporto
  3. Chiedi allo studente di base di restituire le previsioni per il set di query
  4. Formare il meta-discente (studente) sulla perdita derivata dall'errore di classificazione

Variazioni sul meta-apprendimento

Meta-apprendimento indipendente dal modello è un metodo utilizzato per aumentare la tecnica di meta-apprendimento basata sul gradiente di base che abbiamo trattato sopra.

Come spiegato in precedenza, un meta-discente basato sul gradiente utilizza l'esperienza precedente acquisita da un modello di insegnante per perfezionare se stesso ed fornire previsioni più accurate per una piccola quantità di dati di addestramento. Tuttavia, iniziare con parametri inizializzati in modo casuale significa che il modello può ancora potenzialmente sovradimensionare i dati. Per evitare ciò, viene creato un meta-studente "agnostico rispetto al modello" limitando l'influenza del modello/modello di base dell'insegnante. Invece di addestrare il modello dello studente direttamente sulla perdita per le previsioni fatte dal modello dell'insegnante, il modello dello studente viene addestrato sulla perdita per le proprie previsioni.

Per ogni episodio di addestramento di un meta-discente indipendente dal modello:

  1. Viene creata una copia dell'attuale modello di meta-discente.
  2. La copia viene addestrata con l'assistenza del modello base/modello dell'insegnante.
  3. La copia restituisce le previsioni per i dati di addestramento.
  4. La perdita calcolata viene utilizzata per aggiornare il meta-discente.

Apprendimento metrico

Approcci di apprendimento metrico alla progettazione di un modello di apprendimento a pochi colpi tipicamente comportano , il uso di metriche di distanza di base effettuare confronti tra campioni in un set di dati. Gli algoritmi di apprendimento metrico come la distanza del coseno vengono utilizzati per classificare i campioni di query in base alla loro somiglianza con i campioni di supporto. Per un classificatore di immagini, ciò significherebbe semplicemente classificare le immagini in base alla somiglianza delle caratteristiche superficiali. Dopo che un set di immagini di supporto è stato selezionato e trasformato in un vettore di incorporamento, lo stesso viene fatto con il set di query e quindi i valori per i due vettori vengono confrontati, con il classificatore che seleziona la classe che ha i valori più vicini al set di query vettorializzato .

Una soluzione più avanzata basata su metriche è la "rete prototipica”. Le reti prototipiche raggruppano insieme i punti dati combinando modelli di clustering con la classificazione basata su metriche descritta sopra. Come nel clustering K-means, i centroidi per i cluster vengono calcolati per le classi nei set di supporto e query. Viene quindi applicata una metrica di distanza euclidea per determinare la differenza tra i set di query e i centroidi del set di supporto, assegnando il set di query a qualsiasi classe di set di supporto sia più vicina.

La maggior parte degli altri approcci di apprendimento a pochi colpi sono solo variazioni delle tecniche di base trattate sopra.

Applicazioni per l'apprendimento a pochi colpi

L'apprendimento "few-shot" ha applicazioni in diversi sottocampi della scienza dei dati, come la visione artificiale, l'elaborazione del linguaggio naturale, la robotica, l'assistenza sanitaria e l'elaborazione dei segnali.

Le applicazioni per l'apprendimento di pochi colpi nello spazio della visione artificiale includono il riconoscimento efficiente dei caratteri, la classificazione delle immagini, il riconoscimento degli oggetti, il tracciamento degli oggetti, la previsione del movimento e la localizzazione delle azioni. Le applicazioni di elaborazione del linguaggio naturale per l'apprendimento immediato includono la traduzione, il completamento di frasi, la classificazione dell'intenzione dell'utente, l'analisi del sentiment e la classificazione del testo con più etichette. L'apprendimento a pochi colpi può essere utilizzato nel campo della robotica per aiutare i robot a conoscere le attività da poche dimostrazioni, consentendo ai robot di imparare come eseguire azioni, muoversi e navigare nel mondo che li circonda. La scoperta di farmaci a portata di mano è un'area emergente dell'assistenza sanitaria basata sull'IA. Infine, l'apprendimento a pochi colpi ha applicazioni per l'elaborazione del segnale acustico, che è il processo di analisi dei dati sonori, consentendo ai sistemi di intelligenza artificiale di clonare le voci sulla base di pochi campioni utente o di convertire la voce da un utente all'altro.

Blogger e programmatore con specialità in machine Learning ed Deep Learning temi. Daniel spera di aiutare gli altri a usare il potere dell'intelligenza artificiale per il bene sociale.