Semi-Supervised Learning

Was ist Semi-Supervised Learning? Ein Leitfaden für Anfänger.

Stefan
11 Min Read
Semi-Supervised Learning

Stellen Sie sich vor, Sie haben einen Datensatz mit einer Million Bildern von Katzen und Hunden und möchten ein Modell erstellen, das die beiden Tierklassen unterscheiden kann. Leider ist nur ein kleiner Teil Ihres Datensatzes beschriftet, sagen wir 100.000 Bilder. Sie haben keine Zeit, den Rest manuell zu beschriften.

Was sollten Sie in diesem Szenario tun? Was wäre, wenn wir ein Modell überwacht mit den 100.000 beschrifteten Bildern trainieren und dieses Modell dann verwenden könnten, um die Beschriftung für die verbleibenden 900.000 unbeschrifteten Bilder vorherzusagen? Dadurch wäre es nicht mehr nötig, den Rest unserer Bilder manuell zu beschriften, eine teure und zeitaufwändige Aufgabe.

Was ist Semi-Supervised Learning?

Semi-Supervised Learning (SSL) ist eine Technik des maschinellen Lernens, bei der zum Trainieren eines Vorhersagemodells eine kleine Menge gekennzeichneter Daten und viele unkenntlich gemachte Daten verwendet werden.

Um das SSL-Konzept besser zu verstehen, sollten wir es durch das Prisma seiner beiden Hauptgegenstücke betrachten: überwachtes Lernen und unüberwachtes Lernen. Ihre Unterschiede werden in der folgenden Grafik dargestellt.

Was ist überwachtes Lernen?

Überwachtes Lernen ist eine Methode zum Trainieren eines maschinellen Lernmodells anhand eines markierten Datensatzes. Der Prozess kann einen menschlichen Experten einbeziehen, der Rohdaten Tags hinzufügt, um einem Modell die Zielattribute (Antworten) anzuzeigen. Beispielsweise kann ein Mensch alle Defekte an einem in einem Bild gezeigten Autoteil kommentieren.

Überwachtes Lernen hat einige Einschränkungen. Überwachtes Lernen ist langsam, da menschliche Experten Trainingsbeispiele einzeln manuell kennzeichnen müssen. Darüber hinaus ist überwachtes Lernen kostspielig, da ein Modell anhand großer Mengen von handgekennzeichneter Daten trainiert werden muss, um genaue Vorhersagen zu liefern.

Was ist unüberwachtes Lernen?

Beim unüberwachten Lernen versucht ein Modell, selbst und ohne menschliche Aufsicht verborgene Muster, Unterschiede und Ähnlichkeiten in nicht gekennzeichneten Daten zu erkennen. Bei dieser Methode werden Datenpunkte auf Grundlage von Ähnlichkeiten in Cluster gruppiert. Unüberwachte Lernmodelle werden häufig zum Clustern von Daten und zum Finden von Beziehungen zwischen Werten verwendet.

Obwohl unüberwachtes Lernen eine kostengünstigere Methode zum Durchführen von Trainingsaufgaben ist, ist es kein Allheilmittel. Unüberwachtes Lernen liefert oft weniger genaue Ergebnisse. Darüber hinaus ist unüberwachtes Lernen für eine Teilmenge von Problemen des maschinellen Lernens nützlich; Sie können unüberwachtes Lernen nicht auf jeden Problemtyp anwenden.

Semi-Supervised Learning: Ein tiefer Einblick

Semi-Supervised Learning verbindet überwachtes Lernen und unüberwachte Lerntechniken, um ihre wichtigsten Herausforderungen zu lösen. Beim halbüberwachten Lernen trainieren Sie ein erstes Modell anhand einiger gekennzeichneter Beispiele und wenden das Modell dann iterativ auf einen größeren Datensatz an.

Im Gegensatz zum unüberwachten Lernen, das nur in einer begrenzten Anzahl von Situationen nützlich ist, funktioniert SSL für eine Vielzahl von Problemen von der Klassifizierung und Regression bis hin zu Clustering und Assoziation.

Bei einem halbüberwachten Lernansatz werden kleine Mengen gekennzeichneter Daten und große Mengen unkenntlich gemachter Daten verwendet. Dies reduziert den Aufwand für manuelle Annotationen und verkürzt die Datenaufbereitungszeit.

Da es reichlich unmarkierte Daten gibt, diese leicht zu beschaffen und kostengünstig sind, kann das halbüberwachte Lernen auf vielfältige Weise eingesetzt werden, ohne dass die Genauigkeit der Ergebnisse darunter leidet.

Wie funktioniert Semi-Supervised Learning?

Um mit einem unbeschrifteten Datensatz arbeiten zu können, muss eine Beziehung zwischen den Objekten im Datensatz bestehen. Um dies zu verstehen, verwendet Semi-Supervised Learning eine der folgenden Annahmen:

  • Kontinuitätsannahme: Gemäß der Kontinuitätsannahme neigen die nahe beieinander liegenden Objekte dazu, dieselbe Gruppe oder Bezeichnung zu teilen. Diese Annahme wird auch beim überwachten Lernen verwendet, und die Datensätze werden durch die Entscheidungsgrenzen getrennt. Beim halbüberwachten Lernen werden die Entscheidungsgrenzen mit der Glätteannahme in Grenzen geringer Dichte hinzugefügt.
  • Clusterannahmen: Bei dieser Annahme werden die Daten in verschiedene diskrete Cluster aufgeteilt. Darüber hinaus teilen sich die Punkte im selben Cluster die Ausgabebezeichnung.
  • Mannigfaltigkeitsannahmen: Diese Annahme hilft bei der Verwendung von Entfernungen und Dichten, und diese Daten liegen auf einer Mannigfaltigkeit mit weniger Dimensionen als der Eingaberaum.
  • Die dimensionalen Daten werden durch einen Prozess erstellt, der einen geringeren Freiheitsgrad hat und möglicherweise schwer direkt zu modellieren ist. Diese Annahme wird praktisch, wenn sie hoch ist.

Lassen Sie uns einige der beim halbüberwachten Lernen verwendeten Techniken besprechen.

Beim halbüberwachten Lernen verwendete Techniken

Für die Verwendung von SSL stehen mehrere Techniken zur Verfügung, die im Folgenden beschrieben werden.

Pseudo-Etikettierung

Anstatt die unbeschrifteten Daten manuell zu beschriften, geben wir unserem Modell ungefähre Beschriftungen auf der Grundlage der beschrifteten Daten. Lassen Sie uns die Pseudobeschriftung erklären, indem wir das Konzept in Schritte aufteilen, wie in der Abbildung unten gezeigt.

Das Bild oben beschreibt einen Prozess, bei dem:

  1. Wir trainieren ein Modell mit gekennzeichneten Daten.
  2. Wir verwenden das trainierte Modell, um Beschriftungen für die unbeschrifteten Daten vorherzusagen, wodurch pseudobeschriftete Daten entstehen.
  3. Wir trainieren das Modell gemeinsam mit den pseudomarkierten und markierten Daten neu.

Dieser Prozess erfolgt iterativ, während sich das Modell verbessert und mit einer höheren Genauigkeit arbeitet.

Selbsttraining

Selbsttraining ist eine Variante der Pseudobeschriftung. Der Unterschied beim Selbsttraining besteht darin, dass wir nur Vorhersagen mit hoher Zuverlässigkeit akzeptieren und diesen Prozess mehrere Male durchlaufen. Bei der Pseudobeschriftung gibt es jedoch keine Zuverlässigkeitsgrenze, die erreicht werden muss, damit eine Vorhersage in einem Modell verwendet werden kann. Der Standardarbeitsablauf ist wie folgt.

Zunächst wählen Sie eine kleine Menge gekennzeichneter Daten aus, z. B. Bilder, die Katzen und Hunde mit ihren jeweiligen Markierungen zeigen, und verwenden diesen Datensatz, um mit Hilfe gewöhnlicher überwachter Methoden ein Basismodell zu trainieren.

Anschließend wenden Sie den Prozess der Pseudokennzeichnung an . Dabei verwenden Sie das teilweise trainierte Modell, um Vorhersagen für den Rest der Datenbank zu treffen, der noch nicht gekennzeichnet ist. Die danach generierten Kennzeichnungen werden als Pseudokennzeichnungen bezeichnet , da sie auf der Grundlage der ursprünglich gekennzeichneten Daten erstellt werden, die Einschränkungen aufweisen (z. B. kann es eine ungleichmäßige Darstellung der Klassen im Set geben, was zu einer Verzerrung führt – mehr Hunde als Katzen).

Von diesem Punkt aus nehmen Sie die zuverlässigsten Vorhersagen, die mit Ihrem Modell gemacht wurden (Sie möchten beispielsweise eine Sicherheit von über 80 Prozent, dass ein bestimmtes Bild eine Katze und keinen Hund zeigt). Wenn eines der Pseudolabels dieses Konfidenzniveau überschreitet, fügen Sie es dem beschrifteten Datensatz hinzu und erstellen einen neuen, kombinierten Input, um ein verbessertes Modell zu trainieren.

Der Prozess kann mehrere Iterationen durchlaufen (10 ist eine Standardanzahl), wobei jedes Mal mehr und mehr Pseudo-Labels hinzugefügt werden. Vorausgesetzt, die Daten sind für den Prozess geeignet, wird die Leistung des Modells mit jeder Iteration weiter steigen.

Etikettenweitergabe

Bei dieser Technik handelt es sich um eine graphenbasierte transduktive Methode zum Ableiten von Pseudo-Labels für unmarkierte Daten. Unmarkierte Datenpunkte übernehmen iterativ das Label der Mehrheit ihrer Nachbarn basierend auf den markierten Datenpunkten.

Bei der Label Propagation (LP) werden einige Annahmen getroffen:

  • Alle Klassen für den Datensatz sind in den beschrifteten Daten vorhanden;
  • Nahe beieinander liegende Datenpunkte haben ähnliche Beschriftungen und;
  • Datenpunkte im selben Cluster haben wahrscheinlich dieselbe Bezeichnung.

Die Label-Propagation erstellt einen vollständig verbundenen Graphen, in dem die Knoten alle beschrifteten und unbeschrifteten Datenpunkte sind. Die Kanten zwischen den beiden Knoten werden gewichtet. Je kürzer die euklidische Distanz zwischen zwei Knoten ist, desto höher ist das Gewicht. Ein höheres Kantengewicht ermöglicht es dem Label, sich im Modell problemlos zu „bewegen“.

Nachfolgend sehen Sie eine einfache Erklärung der Funktionsweise des Label-Propagation-Algorithmus:

Eine Darstellung dessen, was mit der Label-Ausbreitung erreicht werden soll.

Der Standard-Arbeitsablauf sieht folgendermaßen aus:

  • Allen Knoten werden Softlabels basierend auf der Labelverteilung zugewiesen.
  • Beschriftungen eines Knotens werden über Kanten an alle Knoten weitergegeben.
  • Jeder Knoten aktualisiert seine Beschriftung iterativ basierend auf der maximalen Anzahl von Knoten in seiner Nachbarschaft. Die Beschriftung eines Knotens bleibt aus den beschrifteten Daten erhalten, sodass eine breite Palette von Merkmalen abgeleitet werden kann, die entlang der Kanten eines Graphen assortativ sind.

Der Label-Propagationsalgorithmus wird beendet, wenn jeder Knoten für den unbeschrifteten Datenpunkt das Mehrheitslabel seines Nachbarn hat oder die definierte Anzahl an Iterationen erreicht ist.

Wichtige Erkenntnisse zum halbüberwachten Lernen

Mit einer minimalen Menge gekennzeichneter Daten und vielen ungekennzeichneten Daten zeigt das halbüberwachte Lernen vielversprechende Ergebnisse bei Klassifizierungsaufgaben und lässt gleichzeitig die Türen für andere Aufgaben des maschinellen Lernens offen.

Der SSL-Ansatz kann mit einigen erforderlichen Modifikationen praktisch jeden überwachten Algorithmus nutzen. SSL eignet sich gut für Clustering- und Anomalieerkennungszwecke, vorausgesetzt, die Daten sind für die Anforderungen des verwendeten SSL-Ansatzes geeignet. Obwohl es sich um ein relativ neues Feld handelt, hat sich Semi-Supervised Learning bereits in vielen Bereichen als effektiv erwiesen.

Allerdings ist Semi-Supervised Learning nicht für alle Aufgaben geeignet. Wenn der Teil der gekennzeichneten Daten nicht repräsentativ für die gesamte Verteilung ist, kann der Ansatz zu kurz greifen. Nehmen wir beispielsweise an, Sie müssen Bilder farbiger Objekte klassifizieren, die aus verschiedenen Blickwinkeln unterschiedlich aussehen. Sofern Sie nicht über eine große Menge repräsentativer gekennzeichneter Daten verfügen, hilft SSL nicht weiter. Viele reale Anwendungen benötigen nach wie vor große Mengen gekennzeichneter Daten, sodass überwachtes Lernen in naher Zukunft keine Rolle spielen wird.

Zitieren Sie diesen Beitrag

Verwenden Sie den folgenden Eintrag, um diesen Beitrag bei Ihrer Recherche zu zitieren:

Petru Potrimba . (16. Dezember 2022). Was ist Semi-Supervised Learning? Ein Leitfaden für Anfänger. Roboflow-Blog: https://blog.roboflow.com/what-is-semi-supervised-learning/

Besprechen Sie diesen Beitrag

Wenn Sie Fragen zu diesem Blogbeitrag haben, starten Sie eine Diskussion im Roboflow-Forum .