Apprendimento semi-supervisionato spiegato

Nella sua lettera agli azionisti di Amazon del 2017, Jeff Bezos ha scritto qualcosa di interessante su Alexa, l'assistente intelligente a comando vocale di Amazon:

Negli Stati Uniti, nel Regno Unito e in Germania, abbiamo migliorato la comprensione della lingua parlata di Alexa di oltre il 25% negli ultimi 12 mesi attraverso miglioramenti nei componenti di apprendimento automatico di Alexa e l'uso di tecniche di apprendimento semi-supervisionato. (Queste tecniche di apprendimento semi-supervisionato hanno ridotto la quantità di dati etichettati necessari per ottenere lo stesso miglioramento dell'accuratezza di 40 volte!)

Dati questi risultati, potrebbe essere interessante provare l'apprendimento semi-supervisionato sui nostri problemi di classificazione. Ma cos'è l'apprendimento semi-supervisionato? Quali sono i suoi vantaggi e svantaggi? Come possiamo usarlo?

Cos'è l'apprendimento semi-supervisionato?

Come ci si potrebbe aspettare dal nome, l'apprendimento semi-supervisionato è intermedio tra l'apprendimento supervisionato e l'apprendimento non supervisionato. L'apprendimento supervisionato inizia con i dati di allenamento contrassegnati con le risposte corrette (valori target). Dopo il processo di apprendimento, si finisce con un modello con un set di pesi ottimizzato, che può prevedere le risposte per dati simili che non sono già stati contrassegnati.

L'apprendimento semi-supervisionato utilizza dati con tag e senza tag per adattarsi a un modello. In alcuni casi, come quello di Alexa, l'aggiunta di dati senza tag migliora effettivamente la precisione del modello. In altri casi, i dati senza tag possono peggiorare il modello; diversi algoritmi hanno vulnerabilità a diverse caratteristiche dei dati, come discuterò di seguito.

In generale, la codifica dei dati costa denaro e richiede tempo. Questo non è sempre un problema, poiché alcuni set di dati hanno già tag. Ma se hai molti dati, solo alcuni dei quali sono contrassegnati, l'apprendimento semi-supervisionato è una buona tecnica da provare.

Algoritmi di apprendimento semi-supervisionato

L'apprendimento semi-supervisionato risale ad almeno 15 anni, forse di più; Jerry Zhu dell'Università del Wisconsin ha scritto un'indagine sulla letteratura nel 2005. L'apprendimento semi-supervisionato ha avuto una rinascita negli ultimi anni, non solo in Amazon, perché riduce il tasso di errore su parametri di riferimento importanti.

Sebastian Ruder di DeepMind ha scritto un post sul blog nell'aprile 2018 su alcuni degli algoritmi di apprendimento semi-supervisionato, quelli che creano etichette proxy. Questi includono l'autoapprendimento, l'apprendimento multi-view e l'auto-assemblaggio.

L'autoapprendimento utilizza le previsioni di un modello sui dati senza etichetta da aggiungere al set di dati etichettato. In sostanza, imposti una soglia per il livello di confidenza di una previsione, spesso 0,5 o superiore, al di sopra della quale ritieni la previsione e aggiungila al set di dati etichettato. Continui a riqualificare il modello finché non ci sono più previsioni sicure.

Ciò solleva la questione del modello effettivo da utilizzare per la formazione. Come nella maggior parte del machine learning, probabilmente vorrai provare ogni modello candidato ragionevole nella speranza di trovarne uno che funzioni bene.

L'autoapprendimento ha avuto un successo misto. Il più grande difetto è che il modello non è in grado di correggere i propri errori: una previsione ad alta affidabilità (ma sbagliata) su, diciamo, un valore anomalo, può corrompere l'intero modello.

L'addestramento multivista addestra diversi modelli su diverse visualizzazioni dei dati, che possono includere diversi set di funzionalità, diverse architetture di modelli o diversi sottoinsiemi di dati. Esistono numerosi algoritmi di training multi-view, ma uno dei più noti è il tri-training. In sostanza, crei tre diversi modelli; ogni volta che due modelli concordano sull'etichetta di un punto dati, tale etichetta viene aggiunta al terzo modello. Come con l'autoapprendimento, ci si ferma quando non vengono aggiunte più etichette a nessuno dei modelli.

L'autoassemblaggio utilizza in genere un singolo modello con diverse configurazioni diverse. Nel metodo della rete ladder, la previsione su un esempio pulito viene utilizzata come etichetta proxy per un esempio perturbato in modo casuale, con l'obiettivo di sviluppare caratteristiche resistenti al rumore.

Il tutorial di Jerry Zhu del 2007 considera anche una serie di altri algoritmi. Questi includono modelli generativi (come quelli che assumono una distribuzione gaussiana per ogni classe), macchine a vettore di supporto semi-supervisionato e algoritmi basati su grafici.

Apprendimento semi-supervisionato nel cloud

L'apprendimento semi-supervisionato si sta lentamente facendo strada nei servizi di machine learning tradizionali. Ad esempio, Amazon SageMaker Ground Truth utilizza Amazon Mechanical Turk per l'etichettatura manuale e la determinazione dei confini di parte di un set di immagini e utilizza l'addestramento della rete neurale per etichettare il resto del set di immagini.

Schemi di apprendimento semi-supervisionato simili possono essere utilizzati per altri tipi di apprendimento semi-supervisionato, inclusi l'elaborazione, la classificazione e la regressione del linguaggio naturale su diversi servizi. Tuttavia, dovrai scrivere il tuo codice collante per l'algoritmo semi-supervisionato sulla maggior parte di essi.

-

Ulteriori informazioni sull'apprendimento automatico: 

  • Apprendimento automatico spiegato
  • Apprendimento profondo spiegato
  • Spiegazione dell'elaborazione del linguaggio naturale
  • Apprendimento supervisionato spiegato
  • Spiegazione dell'apprendimento senza supervisione
  • Apprendimento semi-supervisionato spiegato
  • Apprendimento per rinforzo spiegato
  • Apprendimento automatico automatizzato o AutoML spiegato
  • AI, machine learning e deep learning: tutto ciò che devi sapere
  • I migliori framework di machine learning e deep learning
  • 6 modi per far fallire l'apprendimento automatico
  • Lezioni di machine learning: 5 aziende condividono i propri errori
  • Il miglior software open source per l'apprendimento automatico
  • I 5 migliori linguaggi di programmazione per lo sviluppo dell'IA