Was ist Few-Shot Learning?

Unter Few-Shot-Learning (FSL) versteht man eine Reihe von Techniken und Algorithmen, die in der Entwicklung eines KI-Modells mit einer kleinen Menge von Trainingsdaten verwendet werden. Es ermöglicht einem KI-Modell, neue Daten zu erkennen und zu klassifizieren, nachdem es einigen wenigen Trainingsinstanzen ausgesetzt wurde. Few-Shot-Training ist nicht vergleichbar mit den traditionellen Methoden des maschinellen Lernens, bei denen eine große Menge an Trainingsdaten verwendet wird. Üblicherweise wird es in der Computer Vision verwendet.

Ein Grund für die Verwendung von „Few-Shot Learning“ ist die Reduzierung der Datenmenge, die Sie für das Training des modernen maschinellen Lernens benötigen. Dies wiederum verkürzt die Zeit, die zum Kennzeichnen großer Datensätze erforderlich ist. Zugleich kann es die Notwendigkeit verringern, bestimmte Merkmale für unterschiedliche Aufgaben hinzuzufügen, wenn Sie einen gemeinsamen Datensatz für die Entwicklung verschiedener Proben verwenden. Mit Few-Shot Learning können Sie Modelle stärken und es ihnen ermöglichen, Objekte basierend auf einer geringeren Datenmenge zu erkennen.

Wie funktioniert Few-Shot Learning?

Das Hauptziel des herkömmlichen Few-Shot Verfahrens besteht darin, diejenige Ähnlichkeitsfunktion zu messen und zu verstehen, die die Ähnlichkeiten zwischen den Klassen in den Abfragesätzen abbildet und unterstützt. Die Ähnlichkeitsfunktion gibt ein Wahrscheinlichkeitsformat für die Vergleichbarkeit aus.

Welche Varianten des Few-Shot Learning gibt es?

FSL gibt es in verschiedenen Versionen und Schweregraden. Bis jetzt wurden vier Kategorien identifiziert

  • FSL
  • N-Shot Learning
  • Zero-Shot Learning oder weniger als ein Schuss
  • One-Shot Learning

Wenn von Few-Shot Learning die Rede ist, sprechen Forscher in der Regel von einem N-Way-K-Shot-Kategorisierungssystem. N ist die Anzahl der zu trainierenden Klassen, während K die Anzahl der zu trainierenden Proben aus jeder Klasse ist. N-Shot Learning (NSL) wird als ein umfassenderer Terminus angesehen. One-Shot Learning, Few-Shot Learning und Zero-Shot Learning sind Teilgebiete von NSL.

Viele Menschen fragen sich, was Trainingsdaten in diesem Zusammenhang sind. Trainingsdaten beziehen sich auf Informationen, die einer Maschine beim Lernen helfen. Normalerweise geschieht das, durch das Bereitstellen von Beispielen für richtige und falsche Antworten, aus denen ein Algorithmus lernen kann. Dies ist wichtig beim Erlernen neuer Datenverarbeitungsaufgaben im Bereich des maschinellen Lernens, da es dabei hilft, einen grundlegenden Algorithmus zu trainieren, der auf andere Datensätze mit anderen Merkmalen oder Bedingungen angewendet werden kann.

KI-Datensätze

Warum ist Few-Shot Learning wichtig?

Few-Shot Learning verwendet Trainingsdaten für die Entwicklung präziser maschineller Lernmodelle. Das ist wichtiger als Sie denken.

  • Tests Basis für das Lernen wie ein Mensch: Ein Mensch kann die Variation in handschriftlichen Zeichen erkennen, nachdem er einige Beispiele gesehen hat. Computer benötigen jedoch eine große Datenmenge, um die Unterschiede in handgeschriebenen Zeichen zu klassifizieren und zu erkennen. Few-Shot Learning ermöglicht es Computern, aus wenigen Beispielen genauso zu lernen, wie Menschen.
  • Reduziert die Datenerfassung und die Rechenkosten: Beim Few-Shot Learning werden weniger Daten für das Trainieren eines Modells benötigt. Somit entfallen die Kosten für das Sammeln weiterer Daten. Weniger Trainingsdaten bedeuten eine geringere Dimensionalität des Trainingsdatensatzes. Dadurch werden die Rechenkosten gesenkt.
  • Lernen seltener Fälle: Wenn Sie Few-Shot Learning anwenden, können Maschinen beginnen, aus seltenen Fällen zu lernen. Wenn beispielsweise Bilder von Tieren klassifiziert werden müssen, können maschinelle Lernmodelle, die mit Few-Shot-Learning-Techniken akzentuiert sind, die Bilder der seltenen Tiere leicht klassifizieren, nachdem sie wenigen Daten ausgesetzt wurden.

Was ist der Unterschied zwischen Zero-Shot Learning und Few-Shot Learning?

Few-Shot Learning zielt darauf ab, dass Modelle des maschinellen Lernens die richtige Klasse von Instanzen vorhersagen können, wenn die im Trainingsdatensatz verfügbaren Beispiele begrenzt sind. Zero-Shot Learning hingegen zielt darauf ab, die richtige Klasse vorherzusagen, ohne dass Instanzen, die zu dieser Klasse gehören, im Trainingsdatensatz aufgedeckt werden.

Few-Shot Learning und Zero-Shot Learning haben gemeinsame Anwendungen, wie z.B.

  • Semantische Segmentierung
  • Klassifizierung von Bildern
  • Verarbeitung natürlicher Sprache
  • Erkennung von Objekten
  • Bilderzeugung

Schließlich gibt es noch das One-Shot-Lernen, das in der Regel mit dem Zero-Shot-Lernen kombiniert wird. Das One-Shot-Learning ist eine spezieller Lerntyp, bei dem es darum geht, Details über ein Objekt aus einem einzigen Trainingsbild oder -beispiel zu lernen. Ein Beispiel für ein One-Shot-Learning-Problem ist die Technologie zur Gesichtserkennung, die von Smartphones verwendet wird.

Welche Ansätze gibt es für Few-Shot Learning?

Es gibt vier verschiedene Kategorien von Few-Shot-Learning-Ansätzen. Wir werden sie im Folgenden erörtern.

  • Daten-Ebene

Das Few-Shot-Lernen auf  Datenebene beruht auf einem einfachen Konzept. Falls das Training eines Few-Shot-Modells aufgrund fehlender Trainingsdaten ins Stocken gerät, können Benutzer weitere Daten hinzufügen, die strukturiert oder unstrukturiert sein können. Das bedeutet, dass zwei beschriftete Stichproben für jede Klasse in der Unterstützungsmenge eventuell nicht ausreichen. Sie können also versuchen, die Stichproben mit Hilfe verschiedener Techniken zu verbessern.

Obwohl die Datenerweiterung keine völlig neuen Informationen pro Satz bietet, ist sie für das Few-Shot Learning Training nützlich. Eine andere Methode besteht darin, der Unterstützungsmenge unbeschriftete Daten hinzuzufügen. Dadurch wird das FSL-Problem semi-supervised. Ein Few-Shot-Learning-Modell kann unstrukturierte Daten verwenden, um mehr Informationen zu sammeln, die die Leistung von Few-Shot verbessern.

Andere Methoden zielen darauf ab, ein generatives Netzwerk (GAN) zu verwenden, um einen ganz neuen Datensatz aus der alten Datenverteilung zu synthetisieren. Bei GAN-basierten Ansätzen werden jedoch viele beschriftete Trainingsdaten benötigt, um zunächst die Modellparameter zu trainieren, bevor sie verwendet werden können, um neue Stichproben unter Verwendung einiger weniger Stichprobensätze zu generieren.

  • Parameter-Ebene

Bei Few-Shot ist die Verfügbarkeit der Stichprobe begrenzt. Daher ist eine Überanpassung üblich, da die Proben hochdimensionale und umfangreiche Räume haben. Ein Ansatz bei dem Meta-Learning eingesetzt wird, ist das Few-Shot-Lernen auf Parameterebne. Diese Methodik nutzt die Parameter des Modells, um auf intelligente Weise die entsprechenden Merkmale zu übernehmen, die für die jeweilige Aufgabe entscheidend sind.

Ein Few-Shot-Learning-Verfahren, das den Parameterraum einschränkt und die Regularisierungsmethode verwendet, fällt in diese Kategorie. Die Modelle werden so trainiert, dass sie nach einem optimalen Router im Parameterraum suchen, um gezielte Vorhersagen zu treffen.

  • Metrische Ebene

Dieser Ansatz zielt darauf ab, die Abstandsfunktion zwischen Datenpunkten zu erfassen. Beim metrischen Few-Shot-Lernen werden Merkmale aus Bildern extrahiert und der Abstand zwischen den Bildern im gegebenen Raum bestimmt. Bei der Abstandsfunktion kann es sich um den Erdbewegungsabstand, den euklidischen Abstand, den auf Cosinusähnlichkeit basierenden Abstand usw. handeln.

Bei diesen Ansätzen kann die Distanzfunktion mit Hilfe von Trainingsdaten, die für das Training des Merkmalsextraktionsmodells verwendet werden, auf die Parameter abgestimmt werden. Danach zieht die Abstandsfunktion Referenzen in Abhängigkeit von den Ähnlichkeitswerten zwischen den Abfragesätzen und den Unterstützungen.

  • Gradientenbasiertes Meta-Lernen

Hierbei handelt sich um einen Ansatz, bei dem zwei Lernende – ein Schüler- und ein Lehrermodell, mit Hilfe der Wissensdestillation eingesetzt werden. Das Lehrermodell führt das Schülermodell durch den hochdimensionalen Parameterraum.

Es verwendet Informationen aus der Unterstützungsmenge, um das Lehrermodell zu trainieren, damit es auf der Grundlage von Stichproben aus der Abfragesammlung, Vorhersagen machen kann. Durch die Ableitung der Klassifizierung aus dem Lehrermodell wird sichergestellt, dass es seine Klassifizierungsaufgabe gut bewältigt.

Was sind die Anwendungen von Few-Shot Learning?

Es wird häufig in verschiedenen Bereichen der Deep-Learning-Literatur eingesetzt, von Computer-Vision-Aufgaben wie Objekterkennung oder Bildklassifizierung bis hin zur Verarbeitung natürlicher Sprache, Fernerkundung usw. Wir werden dies im folgenden Abschnitt erörtern.

Few-Shot Learning in den Bereichen Computer Vision, umfasst effiziente Zeichenerkennung, Aktionslokalisierung, Bewegungsverfolgung und mehr. Die häufigsten Anwendungen sind Objekterkennung und Bildklassifizierung.

Bei der Objekterkennung identifiziert und lokalisiert ein Computer Objekte in einer Video- oder Bildsequenz. Ein einzelnes Bild kann mehrere Objekte enthalten. Daher unterscheidet es sich stark von regulären Bildklassifizierungsaufgaben, bei denen das gesamte Bild mit einer einzigen Klassenbezeichnung versehen wird. Few-Shot Learning wird in der Bildklassifizierung häufig eingesetzt. Wie ein Mensch, kann es den Unterschied zwischen zwei Bildern erkennen.

Zu den Anwendungen von Few-Shot Learning für die Verarbeitung natürlicher Sprache gehören Satzvervollständigung, Übersetzung, Stimmungsanalyse, Benutzerabsichtsklassifizierung und Klassifizierung von Texten mit mehreren Labels.

Auch in der Robotik wird das Few-Shot Learning eingesetzt. Es hilft Robotern, aus nur wenigen Demonstrationen etwas über Aufgaben zu lernen. So können sie lernen, wie sie eine Bewegung ausführen, eine Aktion durchführen und richtig navigieren sollen.

Letztendlich hat Few-Shot Learning auch viele Anwendungen in der akustischen Signalverarbeitung, die Klangdaten analysiert und es KI-Systemen ermöglicht, Stimmen in Abhängigkeit von nur wenigen Benutzerproben zu klonen.

Welche Faktoren begünstigen die Einführung von Few-Shot Learning?

Few-Shot-Learning-Modelle werden durch das Konzept von Algorithmen erleichtert, die aus minimalen Datensätzen entwickelt werden können. Werfen wir einen Blick auf einige treibende Faktoren für die zunehmende Akzeptanz.

  • Knappe Daten: Bei Datenknappheit, ob unter Aufsicht oder nicht, können maschinelle Lernwerkzeuge dies als herausfordernd genug einstufen, um genaue Faktoren zu erstellen und bessere Schlussfolgerungen zu ziehen.
  • Lernen seltener Fälle: Mit Hilfe des Few-Shot Learning werden Maschinen darauf trainiert, seltene Fälle zu verstehen. So wird beispielsweise bei der Identifizierung von Tierbildern ein ML-Modell mit Few-Shot-Lerntechniken dahingehend trainiert, das Bild einer seltenen Art genau zu klassifizieren, nachdem es zuvor ein paar Informationen erhalten hat.
  • Reduzierung der Rechenkosten durch Verringerung der Datenerfassung: Da Few-Shot-Lernmodelle weniger Daten für das Training eines Modells benötigen, können die mit der Datenerfassung und -kennzeichnung verbundenen Kosten erheblich gesenkt werden. Darüber hinaus impliziert eine geringere Anzahl von Trainingsdaten eine geringere Dimensionalität des Trainingsdatensatzes, was zu einer Reduzierung der damit verbundenen Rechenkosten beiträgt.

Was sind die Herausforderungen beim Few-Shot Learning?

Die größte Herausforderung beim Few-Shot Learning ist das Fehlen einer ausreichenden Datenmenge. Da man nur mit wenigen Referenzen arbeiten kann, kann es schwierig sein, die Muster zu lernen und die neuen Daten zu verallgemeinern.

Eine weitere Herausforderung bei diesem Lernverfahren besteht darin, dass es sich nicht gut auf neue Daten verallgemeinern lässt. Dies bedeutet, dass sie in der Trainingsmenge gute Leistungen erbringen müssen, aber bei ungesehenen Daten weniger effizient sind.

Letztendlich  sind die Rechenkosten eine weitere Herausforderung beim Few-Shot-Learning. Da nur begrenzte Daten zur Verfügung stehen, kann das Training von Modellen teuer sein.

Was ist One-Shot Learning?

One-Shot-Learning ist eine Aufgabenstellung, bei der der Unterstützungssatz nur eine Datenprobe für jede Klasse enthält. Die Aufgabe wird komplizierter, wenn weniger Informationen zu ihrer Unterstützung vorhanden sind. Smartphones, die die Gesichtserkennungstechnologie verwenden, nutzen One-Shot Learning.

Dieses Paradigma löst das Problem, dass eine Maschine neue Konzepte nicht so schnell lernen kann wie ein Mensch. One-Shot Learning bezieht sich auf Deep Learning-Probleme, bei denen das Modell eine einzige Instanz für Trainingsdaten erhält und lernen muss, diese Instanz in den Testdaten erneut zu erkennen.

Was sind die Anwendungen von One-Shot Learning?

One-Shot-Learning-Algorithmen werden für Aufgaben wie Bildklassifizierung, Spracherkennung, Lokalisierung und mehr verwendet. Die gängigsten Anwendungen sind die Signaturüberprüfung und die Gesichtserkennung. Abgesehen von Flughafenkontrollen können letztere von Strafverfolgungsbehörden zur Erkennung von Terroristen bei Massenveranstaltungen, wie Festivals oder Sportveranstaltungen und an überfüllten Orten eingesetzt werden.

Anhand des Inputs der Überwachungskameras, identifiziert die KI Personen aus Polizeidatenbanken innerhalb der Menschenmenge. Die Technologie wird auch in Institutionen wie Banken eingesetzt, wo sie die Person anhand des Ausweises oder eines Fotos in den Unterlagen erkennen müssen. Ähnlich verhält es sich mit der Unterschriftenprüfung.

One-Shot-Learning ist für die Computervision von entscheidender Bedeutung und kann bei selbstfahrenden Autos und Drohnen zur Erkennung von Objekten in der Umgebung eingesetzt werden. Die Anwendung findet auch in anderen Bereichen statt, wie bei der sprachübergreifenden Worterkennung zur Identifizierung unbekannter Wörter in der Übergangssprache. One-Shot-Learning wird effektiv zur Erkennung von Gehirnaktivität von Brain Scams eingesetzt.

What are the Benefits and Drawbacks of One-Shot Learning?

Mit One-Shot Learning können Sie anhand eines Beispiels lernen, was den gesamten Lernprozess beschleunigt. Es bringt viele weitere Vorteile mit sich. Wir werden uns diese im Folgenden ansehen.

  • Da Sie nur ein einziges Beispiel zum Lernen benötigen, benötigen Sie nicht so viele Daten wie bei herkömmlichen Lernmethoden. Dies ist nützlich, wenn Sie mit begrenzten Datensätzen arbeiten.
  • One-Shot Learning kann auf reale Situationen angewendet werden. So kann es beispielsweise für die Entwicklung wirksamerer und effizienterer medizinischer Diagnoseinstrumente oder für die Erstellung maßgeschneiderter Bildungsprogramme verwendet werden, die sich an die Bedürfnisse jedes einzelnen Lernenden anpassen.

Dieser Ansatz hat jedoch auch einige Nachteile. Sehen wir uns diese unten an.

  • One-Shot Learning kann langsam sein, da das Modell jedes Mal von Grund auf neu lernen muss
  • Es besteht die Möglichkeit einer Überanpassung, wenn das Modell nur ein Beispiel für jede Klasse überprüft
  • Verwendung der Kreuzvalidierung zur Vermeidung von Überanpassungen
  • Verwendung von Datenerweiterung, um mehr Datenpunkte zu erzeugen

Was ist metrisches Lernen?

Metric-Learning-Ansätze zur Entwicklung eines Few-Shot-Learnings, beinhalten die Verwendung von Standard-Abstandsmetriken zum Vergleich verschiedener Stichproben in einem Datensatz. Die Cosinus-Distanz ist eine Art von Metric-Learning-Algorithmus, der zur Klassifizierung von Abfragebeispielen in Abhängigkeit von den unterstützenden Proben verwendet wird.

Im Falle eines Bildklassifizierers bedeutet dies, dass die Bilder anhand der Ähnlichkeiten der oberflächlichen Merkmale klassifiziert werden. Es wird eine Reihe von Bildern zur Unterstützung ausgewählt und in einen Einbettungsvektor umgewandelt. Ähnlich wird mit dem Abfragesatz verfahren und dann werden die Werte zweier Vektoren verglichen, wobei der Klassifikator die Klasse auswählt, die die ähnlichsten Werte für die Vektorisierung eines Abfragesatzes aufweist.

Prototypical Network ist eine fortschrittliche metrikbasierte Lösung. Sie führt Datenpunkte zusammen, indem sie Clustermodelle mit einer metrikbasierten Klassifizierung kombiniert.

Welche Algorithmen werden beim Few-Shot Learning verwendet?

Ein effektiver und einfacher Ansatz für den Nearest Neighbor Algorithmus für Few-Shot Learning. Das gesamte Konzept besteht darin, die nächstgelegenen Trainingsbeispiele für Testbeispiele zu suchen und dabei das gleiche Label zu verwenden. Der Ansatz kann sowohl für Regressionsprobleme als auch für Klassifizierungsprobleme verwendet werden.

  • Passende Netzwerke: Hierbei handelt es sich um eine Art neuronales Netz, das für verschiedene Aufgaben des Few-Shot Learning verwendet wird. Das Netzwerk lernt ein Mapping von den Eingabeseiten, um einen Satz von Ausgabemarken zu organisieren. Es lernt das Mapping, indem es seine Eingabebilder mit Referenzbildern vergleicht und nach der besten Übereinstimmung sucht.
  • Siamesisches Netz: Dies ist eine andere Art von neuronalem Netz, das zwei oder mehr identische Teilnetze hat. Die Teilnetze werden gemeinsam genutzt. Daher kann das Netz gleichzeitig aus verschiedenen Beispielen lernen. Es handelt sich um eine Netzwerkart, dass für Bilderkennungsaufgaben, wie z. B. Gesichtserkennung, verwendet wird.
  • Prototypische Netzwerke: Dies ist ein weiterer Ansatz für Few-Shot Learning, der kürzlich vorgeschlagen wurde. Prototypische Netze lernen für jede Klasse einen Prototyp, der dann für die Klassifizierung eines neuen Beispiels verwendet wird. Er wird normalerweise als Mittel zum Trainieren von Beispielen berechnet, die zu einer bestimmten Klasse gehören.

Wie sieht die Zukunft für Few-Shot Learning im maschinellen Lernen aus?

Es ist offensichtlich, dass Few-Shot Learning ML zur besten Lösung wird, wenn die Kosten für die Schulung von Datenmodellen oder die Datenknappheit eine Herausforderung darstellen. Die IBM-Forschung zeigt, dass sich das maschinelle Lernen in Zukunft um die drei folgenden Hauptsegmente drehen wird.

  • Few-Shot Learning: Schweres Offline-Training als leichteres Lernen an ähnlichen Aufgaben
  • Klassisches ML: Ein einziger Datensatz zu einer Zeit, ein schweres Training und eine Aufgabe
  • Developing ML: Konsistente Lernkurve bei verschiedenen Aufgaben

Few-Shot Learning hat mehrere potenzielle Anwendungen, von der Verbesserung der medizinischen Diagnostik im Gesundheitswesen bis zur Unterstützung von Robotern beim Erlernen neuer Aufgaben. In Zukunft kann es auch zur Verbesserung des maschinellen Lernens bei der Bilderkennung und Übersetzung eingesetzt werden.

Ein Vorteil besteht darin, dass die Datenvielzahl für das Training von maschinellen Lernmodellen reduziert werden kann, da es nicht mehr wichtig ist, für jede Aufgabe große Datenmengen zu haben.

Es gibt einige Herausforderungen, darunter  das Entwerfen von Algorithmen zum Verallgemeinern begrenzter Daten oder das effektive Darstellen von Wissen. Darüber hinaus benötigen Few-Shot-Learning-Algorithmen beträchtliche Rechenressourcen, was sie für zahlreiche reale Anwendungen unpraktisch machen kann.

Fazit

Deep Learning ist die erste Wahl, wenn es um die Lösung komplizierter Aufgaben in den Bereichen Mustererkennung und Computer Vision geht. Allerdings ist eine große Menge markierter Trainingsdaten erforderlich, und die Rechenkosten, die für das Training von Deep-Learning-Architekturen anfallen, behindern den Fortschritt bei diesen Aufgaben.

Mit Few-Shot Learning können Sie dieses Problem umgehen. Damit können Sie tiefe Modelle vortrainieren, um sie mit nur wenigen beschrifteten Stichproben und ohne Antworttraining auf neuartige Daten zu erweitern. Es kann bei Aufgaben wie Objekterkennung, Bildklassifizierung und Segmentierung usw. mit zuverlässiger Leistung helfen. Dies ist der Grund für die Zunahme von Few-Shot-Learning-Architekturen.

Es wird jedoch noch an einem verbesserten Few-Shot-Lernen geforscht, um sicherzustellen, dass sie genauer sind. Probleme wie Zero-Shot oder One-Shot Learning sind komplexer und werden ausgiebig untersucht, um die klaffende Lücke zwischen menschlichen Lernenden und KI zu schließen.