Che cos'è l'apprendimento auto-supervisionato nell'apprendimento automatico?


Risposte:


31

L'apprendimento auto-supervisionato (o auto-supervisione) è una tecnica di apprendimento relativamente recente (nell'apprendimento automatico) in cui i dati di addestramento sono etichettati autonomamente (o automaticamente). Si tratta ancora di un apprendimento supervisionato, ma i set di dati non devono essere etichettati manualmente da un essere umano, ma possono ad esempio essere etichettati trovando e sfruttando le relazioni (o correlazioni) tra segnali di input diversi (ovvero input provenienti da diverse modalità del sensore ).

Un vantaggio e una conseguenza naturale dell'apprendimento auto-supervisionato è che può essere eseguito più facilmente (rispetto ad esempio all'apprendimento supervisionato) online (dato che i dati possono essere raccolti ed etichettati senza intervento umano), dove i modelli possono essere aggiornati o allenato completamente da zero. Pertanto, l'apprendimento auto-supervisionato dovrebbe anche essere adatto per cambiare ambienti, dati e, in generale, situazioni.

Ad esempio, si consideri un robot che è dotato di un sensore di prossimità (che è un sensore a corto raggio in grado di rilevare oggetti di fronte al robot a brevi distanze) e una telecamera (che è un sensore a lungo raggio , ma che non fornisce un modo diretto di rilevare oggetti). Puoi anche supporre che questo robot sia in grado di eseguire l' odometria . Un esempio di tale robot è Mighty Thymio .

Considerare ora il compito di rilevare oggetti davanti al robot a distanze maggiori rispetto a quelle consentite dal sensore di prossimità. In generale, potremmo formare una CNN per raggiungere questo obiettivo. Tuttavia, per formare tale CNN, nell'apprendimento supervisionato, avremmo prima bisogno di un set di dati con etichetta, che contenga immagini (o video) etichettate, in cui le etichette potrebbero ad esempio essere "oggetto nell'immagine" o "nessun oggetto nell'immagine". Nell'apprendimento supervisionato, questo set di dati dovrebbe essere etichettato manualmente da un essere umano, il che richiederebbe chiaramente molto lavoro.

Per ovviare a questo problema, possiamo usare un approccio di apprendimento auto-supervisionato. In questo esempio, l'idea di base è associare l'uscita dei sensori di prossimità in una fase temporale con l'uscita della telecamera nella fase temporale (una fase temporale minore di ).t>ttt

Più specificamente, supponiamo che il robot sia inizialmente alle coordinate (sul piano), al passo temporale . A questo punto, non abbiamo ancora abbastanza informazioni per etichettare l'output della telecamera (allo stesso tempo passo ). Supponiamo ora che, al momento , il robot sia in posizione . Alla fase , l'uscita del sensore di prossimità sarà ad esempio "oggetto di fronte al robot" o "nessun oggetto di fronte al robot". Senza perdita di generalità, supponiamo che l'uscita del sensore di prossimità at sia "nessun oggetto davanti al robot",(x,y)ttt(x,y)tt>tt sarà "nessun oggetto davanti al robot".

Per maggiori dettagli su questo esempio specifico, dai un'occhiata al documento Imparare la percezione a lungo raggio usando l'auto-supervisione da sensori a corto raggio e odometria di Mirko Nava, Jérôme Guzzi, R. Omar Chavez-Garcia, Luca M. Gambardella e Alessandro Giusti.

Si noti che l'apprendimento auto-supervisionato è definito in modo leggermente diverso a seconda del contesto o dell'area, che può, ad esempio, essere robotica, apprendimento di rinforzo o apprendimento di rappresentazione (o funzionalità). Più precisamente, la definizione di cui sopra viene utilizzata in robotica. Vedi, ad esempio, anche questo documento Apprendimento visivo auto-supervisionato multi-task . Per una definizione leggermente diversa di apprendimento auto-supervisionato, vedere, ad esempio, il documento Scavare nella stima della profondità monoculare auto-supervisionata .

Per un'altra introduzione all'apprendimento auto-supervisionato, dai un'occhiata a questo articolo web: https://hackernoon.com/self-supervised-learning-gets-us-closer-to-autonomous-learning-be77e6c86b5a . In questo articolo, l'autore confronta anche l'apprendimento autogestito con l'apprendimento senza supervisione, l'apprendimento semi supervisionato e l'apprendimento per rinforzo.

Inoltre, se vuoi conoscere gli attuali metodi utilizzati per l'apprendimento autogestito, dai un'occhiata a questo articolo: https://amitness.com/2020/02/illustrated-self-supervised-learning . In questo articolo, l'autore sintetizza le idee chiave dei metodi autocontrollati esistenti con diagrammi e visualizzazioni.

C'è anche un elenco curato di collegamenti a documenti in cui questo approccio di apprendimento è utilizzato al seguente URL: https://github.com/jason718/awesome-self-supervised-learning .


Non sono d'accordo sul fatto che l'apprendimento auto-supervisionato significhi che i dati sono etichettati, in modo tale che il livello di output dovrebbe idealmente eguagliare i livelli. Prendiamo questo e questo lavoro per esempio, entrambi affermano di usare un apprendimento auto-supervisionato, ma nessuno dei due usa alcuna etichetta. Invece, la perdita viene calcolata deformando un frame nel video in base all'output della rete e confrontando il frame deformato con un altro frame.
Ciao Arrivederci

@HelloGoodbye In effetti, ci sono diverse definizioni di apprendimento auto-supervisionato. Dovrei aggiornare questa risposta. La definizione che ho usato è la più comune e usata nella robotica. Tutti gli altri non sono molto legati all'apprendimento supervisionato, quindi il loro uso è un po 'inappropriato o fuorviante. Questo uso dell'apprendimento auto-supervisionato, nella robotica, è il più appropriato, data la sua relazione con l'apprendimento supervisionato.
nbro

2
Grazie per aver collegato il mio post su hacker mezzogiorno
Dickey Singh,

6

L'apprendimento auto-supervisionato si verifica quando si utilizzano alcune parti dei campioni come etichette per un'attività che richiede un buon grado di comprensione per essere risolto. Sottolineerò questi due punti chiave, prima di dare un esempio:

  • Le etichette vengono estratte dal campione , quindi possono essere generate automaticamente, con un algoritmo molto semplice (forse solo una selezione casuale).

  • Il compito richiede comprensione . Ciò significa che, per prevedere l'output, il modello deve estrarre alcuni buoni modelli dai dati, generando sul processo una buona rappresentazione.

Un caso molto comune per l'apprendimento semi supervisionato si svolge nell'elaborazione del linguaggio naturale, quando è necessario risolvere un compito ma avere pochi dati etichettati. In questi casi, devi imparare una buona rappresentazione o un modello linguistico, quindi prendi delle frasi e assegni alla tua rete compiti di autocontrollo come questi:

  • Chiedi alla rete di prevedere la parola successiva in una frase (che conosci perché l'hai tolta).

  • Maschera una parola e chiedi alla rete di prevedere quale parola va lì (cosa che conosci perché hai dovuto mascherarla).

  • Cambia la parola per una casuale (che probabilmente non ha senso) e chiedi alla rete quale parola è sbagliata.

Come puoi vedere, queste attività sono abbastanza semplici da formulare e le etichette fanno parte dello stesso campione, ma richiedono una certa comprensione del contesto per essere risolte.

Ed è sempre così: modifica i tuoi dati in qualche modo, generando l'etichetta nel processo, e chiedi al modello qualcosa relativo a quella trasformazione. Se l'attività richiede una comprensione sufficiente dei dati, avrai successo.


2

Il riconoscimento visivo auto-supervisionato viene spesso applicato all'apprendimento della rappresentazione. Qui apprendiamo prima le funzionalità sui dati senza etichetta (apprendimento della rappresentazione), quindi apprendiamo il modello reale sulle funzionalità estratte dai dati etichettati. Ciò ha senso soprattutto quando abbiamo molti dati senza etichetta e pochi dati etichettati.

Le funzionalità possono essere apprese risolvendo le cosiddette attività di pretesto . Esempi di attività di pretesto sono la previsione della rotazione di un'immagine con jitter, il riconoscimento di istanze di jitter di una stessa immagine o la relazione spaziale delle patch di immagine.

Una bella panoramica e risultati interessanti possono essere trovati in questo recente documento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.