Vernetzen Sie sich mit uns

AI 101

Was ist Few-Shot-Learning?

mm

Few-Shot-Learning bezieht sich auf eine Vielzahl von Algorithmen und Techniken, die zur Entwicklung eines KI-Modells unter Verwendung einer sehr kleinen Menge an Trainingsdaten verwendet werden. Beim Few-Shot-Learning wird versucht, ein KI-Modell in die Lage zu versetzen, neue Daten zu erkennen und zu klassifizieren, nachdem es vergleichsweise wenigen Trainingsinstanzen ausgesetzt wurde. Das Few-Shot-Training steht im Gegensatz zu herkömmlichen Methoden zum Trainieren von Modellen für maschinelles Lernen, bei denen typischerweise eine große Menge an Trainingsdaten verwendet wird. Lernen mit wenigen Schüssen ist Wird hauptsächlich in der Computer Vision verwendet.

Um eine bessere Intuition für das Lernen mit wenigen Schüssen zu entwickeln, schauen wir uns das Konzept genauer an. Wir werden die Beweggründe und Konzepte hinter dem Wenig-Schuss-Lernen untersuchen, verschiedene Arten des Wenig-Schuss-Lernens untersuchen und einige Modelle behandeln, die beim Wenig-Schuss-Lernen auf hohem Niveau verwendet werden. Abschließend untersuchen wir einige Anwendungen für das Lernen mit wenigen Schüssen.

Was ist Few-Shot-Learning?

„Few-Shot-Learning“ beschreibt die Praxis des Trainierens eines maschinellen Lernmodells mit einer minimalen Datenmenge. Typischerweise werden Modelle für maschinelles Lernen auf großen Datenmengen trainiert, je größer, desto besser. Allerdings ist das Lernen mit wenigen Schüssen aus verschiedenen Gründen ein wichtiges Konzept des maschinellen Lernens.

Ein Grund für die Verwendung von Few-Shot-Learning besteht darin, dass dadurch die Datenmenge, die zum Trainieren eines Modells für maschinelles Lernen erforderlich ist, drastisch reduziert werden kann, was wiederum die Zeit verkürzt, die zum Kennzeichnen großer Datensätze erforderlich ist. Ebenso reduziert das Wenig-Schuss-Lernen die Notwendigkeit, spezifische Funktionen für verschiedene Aufgaben hinzuzufügen, wenn ein gemeinsamer Datensatz zum Erstellen verschiedener Stichproben verwendet wird. Few-Shot-Learning kann Modelle im Idealfall robuster machen und sie in die Lage versetzen, Objekte auf der Grundlage weniger Daten zu erkennen, wodurch allgemeinere Modelle erstellt werden, im Gegensatz zu den hochspezialisierten Modellen, die die Norm sind.

Few-Shot-Learning wird am häufigsten im Bereich Computer Vision eingesetzt, da die Art von Computer Vision-Problemen entweder große Datenmengen oder ein flexibles Modell erfordert.

Unterkategorien

Der Begriff „Few-Shot“-Lernen ist eigentlich nur eine Art des Lernens mit sehr wenigen Trainingsbeispielen. Da Sie nur „einige“ Trainingsbeispiele verwenden, gibt es Unterkategorien des Wenig-Schuss-Lernens, die auch das Training mit einer minimalen Datenmenge beinhalten. „One-Shot“-Lernen ist eine andere Art des Modelltrainings, bei dem einem Modell beigebracht wird, ein Objekt zu erkennen, nachdem es nur ein Bild dieses Objekts gesehen hat. Die allgemeinen Taktiken, die beim One-Shot-Lernen und beim Few-Shot-Lernen angewendet werden, sind dieselben. Beachten Sie, dass der Begriff „Few-Shot-Learning“ als Überbegriff für jede Situation verwendet werden kann, in der ein Modell mit sehr wenigen Daten trainiert wird.

Ansätze zum Few-Shot-Lernen

Die meisten Lernansätze mit wenigen Schüssen lassen sich in eine von drei Kategorien einordnen: Ansätze auf Datenebene, Ansätze auf Parameterebene und metrikbasierte Ansätze.

Ansätze auf Datenebene

Ansätze für das Lernen mit wenigen Schüssen auf Datenebene sind vom Konzept her sehr einfach. Um ein Modell zu trainieren, wenn Sie nicht über genügend Trainingsdaten verfügen, können Sie einfach mehr Trainingsdaten abrufen. Es gibt verschiedene Techniken, mit denen ein Datenwissenschaftler die Menge seiner Trainingsdaten erhöhen kann.

Ähnliche Trainingsdaten können die genauen Zieldaten untermauern, anhand derer Sie einen Klassifikator trainieren. Wenn Sie beispielsweise einen Klassifikator trainieren, um bestimmte Arten von Hunden zu erkennen, Ihnen aber viele Bilder der bestimmten Art fehlen, die Sie klassifizieren wollten, könnten Sie viele Bilder von Hunden einbinden, die dem Klassifikator helfen würden, die allgemeinen Merkmale zu bestimmen, die einen Hund ausmachen .

Durch Datenerweiterung können mehr Trainingsdaten für einen Klassifikator erstellt werden. Dabei werden in der Regel Transformationen auf vorhandene Trainingsdaten angewendet, beispielsweise das Drehen vorhandener Bilder, sodass der Klassifikator die Bilder aus verschiedenen Blickwinkeln untersucht. GANs können auch verwendet werden, um neue Trainingsbeispiele zu generieren, basierend auf dem, was sie aus den wenigen authentischen Beispielen von Trainingsdaten lernen, die Sie haben.

Ansätze auf Parameterebene

Meta-Lernen

Ein Ansatz für das Lernen mit wenigen Schüssen auf Parameterebene beinhaltet die Verwendung einer Technik namens „Meta-Lernen“. Meta-Lernen beinhaltet Einem Modell beibringen, wie man lernt welche Funktionen bei einer maschinellen Lernaufgabe wichtig sind. Dies kann erreicht werden, indem eine Methode erstellt wird, um zu regulieren, wie der Parameterraum eines Modells untersucht wird.

Meta-Learning nutzt zwei verschiedene Modelle: ein Lehrermodell und ein Schülermodell. Das „Lehrer“-Modell und ein „Schüler“-Modell. Das Lehrermodell lernt, den Parameterraum zu kapseln, während der Schüleralgorithmus lernt, die tatsächlichen Elemente im Datensatz zu erkennen und zu klassifizieren. Anders ausgedrückt: Das Lehrermodell lernt, wie man ein Modell optimiert, während das Schülermodell lernt, wie man es klassifiziert. Die Ausgaben des Lehrermodells werden zum Trainieren des Schülermodells verwendet und zeigen dem Schülermodell, wie es den großen Parameterraum aushandeln kann, der sich aus zu wenigen Trainingsdaten ergibt. Daher das „Meta“ im Meta-Lernen.

Eines der Hauptprobleme bei Wenig-Schuss-Lernmodellen besteht darin, dass sie sich leicht an Trainingsdaten anpassen können, da sie häufig über hochdimensionale Räume verfügen. Durch die Begrenzung des Parameterraums eines Modells wird dieses Problem gelöst. Dies kann zwar durch die Anwendung von Regularisierungstechniken und die Auswahl der richtigen Verlustfunktionen erreicht werden, die Verwendung eines Lehreralgorithmus kann jedoch die Leistung eines Wenig-Schuss-Modells erheblich verbessern.

Ein Lernklassifikatormodell mit wenigen Schüssen (das Schülermodell) versucht, auf der Grundlage der geringen Menge an Trainingsdaten, die ihm zur Verfügung gestellt werden, zu verallgemeinern, und seine Genauigkeit kann mit einem Lehrermodell verbessert werden, das es durch den hochdimensionalen Parameterraum leitet. Diese allgemeine Architektur wird als „gradientenbasierter“ Meta-Lerner bezeichnet.

Der gesamte Prozess zum Trainieren eines Gradienten-basierten Meta-Lernenden ist wie folgt:

  1. Erstellen Sie das Basis-Lerner-(Lehrer-)Modell
  2. Trainieren Sie das Basis-Lerner-Modell auf dem Support-Set
  3. Lassen Sie den Basislerner Vorhersagen für den Abfragesatz zurückgeben
  4. Trainieren Sie den Meta-Lernenden (Schüler) hinsichtlich des Verlusts, der sich aus dem Klassifizierungsfehler ergibt

Variationen zum Meta-Lernen

Modellunabhängiges Meta-Lernen ist eine Methode zur Erweiterung der oben behandelten grundlegenden, auf Gradienten basierenden Meta-Lerntechnik.

Wie wir oben besprochen haben, nutzt ein gradientenbasierter Meta-Lerner die Erfahrungen eines Lehrermodells, um sich selbst zu optimieren und genauere Vorhersagen liefern für eine kleine Menge an Trainingsdaten. Wenn man jedoch mit zufällig initialisierten Parametern beginnt, kann das Modell möglicherweise immer noch eine Überanpassung an die Daten vornehmen. Um dies zu vermeiden, wird ein „modellagnostischer“ Meta-Lerner geschaffen, indem der Einfluss des Lehrermodells/Basismodells begrenzt wird. Anstatt das Schülermodell direkt auf den Verlust der Vorhersagen des Lehrermodells zu trainieren, wird das Schülermodell auf den Verlust seiner eigenen Vorhersagen trainiert.

Für jede Trainingsepisode eines modellagnostischen Meta-Lernenden:

  1. Es wird eine Kopie des aktuellen Meta-Lernmodells erstellt.
  2. Die Kopie wird mit Hilfe des Basismodells/Lehrermodells trainiert.
  3. Die Kopie gibt Vorhersagen für die Trainingsdaten zurück.
  4. Der berechnete Verlust wird verwendet, um den Meta-Lernenden zu aktualisieren.

Metrik-Lernen

Metrische Lernansätze zum Entwerfen eines Wenig-Schuss-Lernmodells typischerweise beinhalten die Verwendung grundlegender Distanzmetriken um Vergleiche zwischen Stichproben in einem Datensatz durchzuführen. Metrik-Lernalgorithmen wie die Kosinusdistanz werden verwendet, um Abfragestichproben basierend auf ihrer Ähnlichkeit mit den unterstützenden Stichproben zu klassifizieren. Für einen Bildklassifikator würde dies bedeuten, dass Bilder lediglich anhand der Ähnlichkeit oberflächlicher Merkmale klassifiziert werden. Nachdem ein unterstützender Satz von Bildern ausgewählt und in einen Einbettungsvektor umgewandelt wurde, wird das Gleiche mit dem Abfragesatz durchgeführt und dann die Werte für die beiden Vektoren verglichen, wobei der Klassifikator die Klasse auswählt, deren Werte dem vektorisierten Abfragesatz am nächsten kommen .

Eine fortschrittlichere, auf Metriken basierende Lösung ist „prototypisches Netzwerk“. Prototypische Netzwerke bündeln Datenpunkte, indem sie Clustermodelle mit der oben beschriebenen metrikbasierten Klassifizierung kombinieren. Wie beim K-Means-Clustering werden Schwerpunkte für Cluster für die Klassen in den Unterstützungs- und Abfragesätzen berechnet. Anschließend wird eine euklidische Distanzmetrik angewendet, um den Unterschied zwischen den Abfragesätzen und den Schwerpunkten des Unterstützungssatzes zu bestimmen, wobei der Abfragesatz den Unterstützungssatzklassen zugeordnet wird, die näher beieinander liegen.

Die meisten anderen Lernansätze mit wenigen Schüssen sind lediglich Variationen der oben behandelten Kerntechniken.

Anwendungen für Few-Shot-Learning

Few-Shot-Learning findet Anwendung in den vielen verschiedenen Teilbereichen der Datenwissenschaft, wie etwa Computer Vision, Verarbeitung natürlicher Sprache, Robotik, Gesundheitswesen und Signalverarbeitung.

Zu den Anwendungen für Fow-Shot-Lernen im Bereich Computer Vision gehören effiziente Zeichenerkennung, Bildklassifizierung, Objekterkennung, Objektverfolgung, Bewegungsvorhersage und Aktionslokalisierung. Zu den Anwendungen zur Verarbeitung natürlicher Sprache für das Lernen mit wenigen Schüssen gehören Übersetzung, Satzvervollständigung, Benutzerabsichtsklassifizierung, Stimmungsanalyse und Textklassifizierung mit mehreren Bezeichnungen. Few-Shot-Learning kann im Bereich der Robotik eingesetzt werden, um Robotern dabei zu helfen, Aufgaben aus nur wenigen Demonstrationen zu erlernen, sodass Roboter lernen können, Aktionen auszuführen, sich zu bewegen und in der Welt um sie herum zu navigieren. Die Entdeckung von Medikamenten mit wenigen Schüssen ist ein aufstrebender Bereich der KI-Gesundheitsversorgung. Schließlich bietet Few-Shot-Learning Anwendungen für die akustische Signalverarbeitung, bei dem es sich um den Prozess der Analyse von Tondaten handelt, der es KI-Systemen ermöglicht, Stimmen basierend auf nur wenigen Benutzerproben oder der Stimmkonvertierung von einem Benutzer zu einem anderen zu klonen.

Blogger und Programmierer mit Spezialisierung auf Maschinelles lernen und Tiefes Lernen Themen. Daniel hofft, anderen dabei zu helfen, die Macht der KI für das soziale Wohl zu nutzen.