Was ist selbstüberwachtes Lernen beim maschinellen Lernen?


Antworten:


27

Selbstüberwachtes Lernen (oder Selbstüberwachung) ist eine relativ neue Lerntechnik (beim maschinellen Lernen), bei der die Trainingsdaten autonom (oder automatisch) gekennzeichnet werden. Es wird immer noch überwachtes Lernen, aber die Datensätze müssen nicht manuell von einem Menschen beschriftet werden, sondern sie können beispielsweise beschriftet werden, indem die Beziehungen (oder Korrelationen) zwischen verschiedenen Eingangssignalen (dh Eingaben, die von verschiedenen Sensormodalitäten stammen) gefunden und ausgenutzt werden ).

Ein natürlicher Vorteil und eine Konsequenz des selbstüberwachten Lernens besteht darin, dass es einfacher (in Bezug auf z. B. überwachtes Lernen) online durchgeführt werden kann (vorausgesetzt, Daten können ohne menschliches Eingreifen gesammelt und gekennzeichnet werden), wo Modelle aktualisiert werden können oder komplett von Grund auf trainiert. Selbstüberwachtes Lernen sollte daher auch gut für sich ändernde Umgebungen, Daten und allgemein Situationen geeignet sein.

Stellen Sie sich zum Beispiel einen Roboter vor, der mit einem Näherungssensor (einem Nahbereichssensor , der Objekte vor dem Roboter auf kurze Distanz erfassen kann) und einer Kamera ( einem Fernbereichssensor , der jedoch keine Funktionen bietet) ausgestattet ist eine direkte Methode zur Erkennung von Objekten). Sie können auch davon ausgehen, dass dieser Roboter in der Lage ist, Kilometerzähler durchzuführen . Ein Beispiel für einen solchen Roboter ist Mighty Thymio .

Betrachten Sie nun die Aufgabe, Objekte vor dem Roboter in größeren Entfernungen zu erfassen, als es der Näherungssensor zulässt. Im Allgemeinen könnten wir ein CNN trainieren, um dies zu erreichen. Um ein solches CNN beim überwachten Lernen zu trainieren, benötigen wir jedoch zunächst einen beschrifteten Datensatz, der beschriftete Bilder (oder Videos) enthält, wobei die Beschriftungen beispielsweise "Objekt im Bild" oder "kein Objekt im Bild" sein können. Beim überwachten Lernen müsste dieser Datensatz von einem Menschen manuell beschriftet werden, was eindeutig viel Arbeit erfordern würde.

Um dieses Problem zu lösen, können wir einen selbstüberwachten Lernansatz verwenden. In diesem Beispiel besteht die Grundidee darin, die Ausgabe der Näherungssensoren zu einem Zeitschritt mit der Ausgabe der Kamera zum Zeitpunkt (einem kleineren Zeitschritt als ) zu verknüpfen .t>ttt

Genauer gesagt sei angenommen, dass der Roboter zunächst an den Koordinaten (in der Ebene), zum Zeitschritt . Zu diesem Zeitpunkt haben wir noch nicht genügend Informationen, um die Ausgabe der Kamera zu kennzeichnen (gleichzeitig Schritt ). Angenommen , der Roboter befindet sich zum Zeitpunkt an der Position . Zum Zeitpunkt ist der Ausgang des Näherungssensors beispielsweise "Objekt vor dem Roboter" oder "kein Objekt vor dem Roboter". Nehmen wir ohne Verlust der Allgemeinheit an, dass der Ausgang des Näherungssensors bei "kein Objekt vor dem Roboter" ist.(x,y)ttt(x,y)tt>tt wird "kein Objekt vor dem Roboter" sein.

Weitere Einzelheiten zu diesem speziellen Beispiel finden Sie in der Arbeit Lernen der Fernwahrnehmung mithilfe der Selbstüberwachung durch Kurzstreckensensoren und Odometrie von Mirko Nava, Jérôme Guzzi, R. Omar Chavez-Garcia, Luca M. Gambardella und Alessandro Giusti.

Beachten Sie, dass selbstüberwachtes Lernen je nach Kontext oder Bereich leicht unterschiedlich definiert wird. Dies kann beispielsweise Robotik, Verstärkungslernen oder Repräsentations- (oder Feature-) Lernen sein. Genauer gesagt wird die oben angegebene Definition in der Robotik verwendet. Siehe zum Beispiel auch dieses Dokument Selbstüberwachtes visuelles Lernen mit mehreren Aufgaben . Eine etwas andere Definition des selbstüberwachten Lernens finden Sie beispielsweise in der Veröffentlichung Digging Into Self-Supervised Monocular Depth Estimation .

Eine weitere Einführung in das selbstüberwachte Lernen finden Sie in diesem Webartikel: https://hackernoon.com/self-supervised-learning-gets-us-closer-to-autonomous-learning-be77e6c86b5a . In diesem Artikel vergleicht der Autor auch selbstüberwachtes Lernen mit unbeaufsichtigtem Lernen, halbüberwachtem Lernen und verstärkendem Lernen.

Wenn Sie wissen möchten, welche Methoden für das selbstüberwachte Lernen verwendet werden, lesen Sie diesen Artikel: https://amitness.com/2020/02/illustrated-self-supervised-learning . In diesem Artikel fasst der Autor die wichtigsten Ideen bestehender selbstüberwachter Methoden mit Diagrammen und Visualisierungen zusammen.

Es gibt auch eine kuratierte Liste von Links zu Artikeln, in denen dieser Lernansatz unter der folgenden URL verwendet wird: https://github.com/jason718/awesome-self-supervised-learning .


Ich bin nicht der Meinung, dass selbstüberwachtes Lernen bedeutet, dass die Daten so gekennzeichnet sind, dass die Ausgabeschicht idealerweise den Ebenen entspricht. Nehmen wir diese und diese Arbeit zum Beispiel, beide sagen, dass sie selbstüberwachtes Lernen verwenden, aber keine Etiketten verwenden. Stattdessen wird der Verlust berechnet, indem ein Bild im Video entsprechend der Ausgabe des Netzwerks verzogen und das verzerrte Bild mit einem anderen Bild verglichen wird.
HelloGoodbye

@HelloGoodbye Es gibt tatsächlich verschiedene Definitionen für selbstüberwachtes Lernen. Ich sollte diese Antwort aktualisieren. Die Definition, die ich verwendet habe, ist die häufigste und wird in der Robotik verwendet. Alle anderen sind nicht sehr mit überwachtem Lernen verbunden, daher ist ihre Verwendung etwas unangemessen oder irreführend. Diese Verwendung von selbstüberwachtem Lernen in der Robotik ist aufgrund ihrer Beziehung zum überwachten Lernen am besten geeignet.
nbro

2
Vielen Dank für die Verknüpfung meines Beitrags am Hacker Mittag
Dickey Singh

6

Selbstüberwachtes Lernen ist, wenn Sie einige Teile der Beispiele als Beschriftungen für eine Aufgabe verwenden, für deren Lösung ein gutes Maß an Verständnis erforderlich ist. Ich werde diese beiden Schlüsselpunkte hervorheben, bevor ich ein Beispiel gebe:

  • Etiketten werden aus der Stichprobe extrahiert , sodass sie mit einem sehr einfachen Algorithmus (möglicherweise nur zufällige Auswahl) automatisch generiert werden können.

  • Die Aufgabe erfordert Verständnis . Dies bedeutet, dass das Modell, um die Ausgabe vorherzusagen, einige gute Muster aus den Daten extrahieren muss, um auf dem Prozess eine gute Darstellung zu erzeugen.

Ein sehr häufiger Fall für halbüberwachtes Lernen tritt in der Verarbeitung natürlicher Sprache auf, wenn Sie eine Aufgabe lösen müssen, aber nur wenige beschriftete Daten haben. In solchen Fällen müssen Sie eine gute Darstellung oder ein gutes Sprachmodell lernen, also nehmen Sie Sätze und geben Ihrem Netzwerk folgende Selbstüberwachungsaufgaben:

  • Bitten Sie das Netzwerk, das nächste Wort in einem Satz vorherzusagen (das Sie kennen, weil Sie es weggenommen haben).

  • Maskieren Sie ein Wort und bitten Sie das Netzwerk, vorherzusagen, welches Wort dort vorkommt (was Sie wissen, weil Sie es maskieren mussten).

  • Ändern Sie das Wort gegen ein zufälliges (was wahrscheinlich keinen Sinn ergibt) und fragen Sie das Netzwerk, welches Wort falsch ist.

Wie Sie sehen können, sind diese Aufgaben recht einfach zu formulieren und die Beschriftungen sind Teil desselben Beispiels, erfordern jedoch ein gewisses Verständnis des zu lösenden Kontexts.

Und es ist immer so: Ändern Sie Ihre Daten auf irgendeine Weise, generieren Sie dabei das Label und fragen Sie das Modell nach etwas, das mit dieser Transformation zusammenhängt. Wenn die Aufgabe ein ausreichendes Verständnis der Daten erfordert, haben Sie Erfolg.


2

Selbstüberwachte visuelle Erkennung wird häufig beim Lernen von Repräsentationen angewendet. Hier lernen wir zuerst Merkmale für unbeschriftete Daten (Repräsentationslernen) und dann das reale Modell für Merkmale, die aus den beschrifteten Daten extrahiert wurden. Dies ist besonders dann sinnvoll, wenn wir viele unbeschriftete Daten und wenige beschriftete Daten haben.

Die Funktionen können durch Lösen sogenannter Vorwandaufgaben erlernt werden . Beispiele für Vorwandaufgaben sind das Vorhersagen der Drehung eines verwackelten Bildes, das Erkennen von verwackelten Instanzen desselben Bildes oder das Vorhersagen der räumlichen Beziehung von Bildfeldern.

Eine schöne Übersicht und interessante Ergebnisse finden Sie in diesem kürzlich erschienenen Artikel.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.