Zero-Shot Learning
Zero-Shot-Lernen erkennt Klassen ohne gelabelte Beispiele, indem es Eingaben mit Textbeschreibungen abgleicht. Behandelt werden CLIP, Open-Vocabulary-Detektion und ihre Grenzen.
Lernen ohne Beispiele (ZSL) bezeichnet die Fähigkeit eines Modells, Klassen zu erkennen, für die es keine beschrifteten Trainingsbeispiele gesehen hat. Statt Beispiele zu erhalten, bekommt das Modell eine Beschreibung jeder neuen Klasse, etwa eine Liste von Merkmalen oder, in modernen Systemen, den Klassennamen als Text. Anschließend gleicht es die Eingaben mit diesen Beschreibungen in einem gemeinsamen Einbettungsraum ab. Beim üblichen überwachten Lernen kann ein Modell nur die Klassen vorhersagen, die in seinen Trainingslabels vorkommen. Eine neue Kategorie erfordert daher das Sammeln und Beschriften neuer Daten sowie ein erneutes Training. Bei einem Modell, das ohne Beispiele lernt, wird eine Kategorie durch Hinzufügen ihres Namens ergänzt. CLIP von OpenAI, trainiert mit 400 Millionen Bildunterschriften-Paaren, erreichte auf ImageNet dieselbe Genauigkeit wie das ursprüngliche überwachte ResNet-50, ohne eines der 1,28 Millionen beschrifteten Trainingsbilder von ImageNet zu verwenden.
So funktioniert Zero-Shot Learning#
Beim Lernen ohne Beispiele wird Wissen über einen semantischen Raum übertragen, der bekannte und unbekannte Klassen miteinander verknüpft. Frühe Methoden beschrieben jede Klasse mit von Menschen festgelegten Merkmalen wie „gestreift“, „hat Hufe“ und „lebt in Grasland“ und trainierten Modelle, diese Merkmale vorherzusagen. So konnte ein Tier, das im Training nie vorkam, als die Klasse erkannt werden, deren Merkmalen es entsprach. Vision-Language-Modelle ersetzten handgefertigte Merkmale durch natürliche Sprache. CLIP trainiert einen Bild- und einen Textencoder mit kontrastivem Lernen, sodass übereinstimmende Bilder und Bildunterschriften ähnliche Einbettungsvektoren erhalten. Für die Klassifizierung wird für jede mögliche Klasse eine Eingabeaufforderung wie „ein Foto eines Zebras“ eingebettet. Auch das Bild wird eingebettet, und das Modell wählt die Klasse mit der höchsten Kosinusähnlichkeit:
Da der Klassifikator zur Inferenzzeit aus Text erstellt wird, kann sich die Klassenliste mit jeder Anfrage ändern. Dasselbe Prinzip gilt für große Sprachmodelle (LLMs): Bei einer Zero-Shot-Eingabeaufforderung erhält das Modell nur eine Anweisung und keine ausgearbeiteten Beispiele, wie im GPT-3-Artikel beschrieben.
Objekterkennung ohne Beispiele#
Detektoren mit offenem Vokabular erweitern das Lernen ohne Beispiele von ganzen Bildern auf einzelne Objekte. Sie bewerten jeden möglichen Bereich anhand von Texteinbettungen der angefragten Klassen und können deshalb Objekte außerhalb einer festen Labelmenge finden, etwa ein bestimmtes Produkt in einem Videoarchiv. YOLO-World überträgt diesen Ansatz auf YOLO-Modelle für die Echtzeitverarbeitung. Ultralytics YOLOE-26, eine Version von YOLO26 mit offenem Vokabular, codiert jeden an set_classes() übergebenen Klassennamen mit einem MobileCLIP2-Textencoder. Ohne erneutes Training gibt es für diese Klassen Rahmen und Instanzsegmentierungs masken zurück:
from ultralytics import YOLOE
# YOLOE-26-Prüfpunkt, der Texteingaben akzeptiert
model = YOLOE("yoloe-26s-seg.pt")
# Gib die Klassen zur Inferenzzeit an, hier mit Begriffen, die nicht zu den COCO-Labels gehören
model.set_classes(["city bus", "sneakers", "glasses"])
# Die angegebenen Klassen erkennen und segmentieren
results = model.predict("https://ultralytics.com/images/bus.jpg")
result = results[0]
result.save(filename="zero_shot_result.jpg")Beim ersten Aufruf von set_classes() wird der Textencoder heruntergeladen. Bei der Objekterkennung bedeutet „Zero-Shot“, dass das Modell keine beschrifteten Boxen für eine Klasse erhalten hat, auch wenn der Klassenname in den Bild-Text-Daten zum Vortraining seiner Encoder vorkam. Die Ultralytics Platform beschriftet Erkennungsdatensätze automatisch mit Zero-Shot-Detektoren und Vision-Language-Modellen. Die VLM-Bestenliste vergleicht, wie genau jedes Modell Objekte in realen Bildern findet.
Anwendungen#
- Visuelle Suche und Moderation: Mediatheken und Inhaltsplattformen finden Bilder, die einer Textabfrage entsprechen, oder erkennen neue Inhaltskategorien, ohne für jede Abfrage einen Klassifikator zu trainieren.
- Robotik: Ein Roboter, der den Auftrag erhält, „die blaue Tasse“ zu holen, kann eine Objektkategorie finden, für deren Erkennung er nie trainiert wurde.
- Tierwelt und Biodiversität: BioCLIP wurde mit mehr als 10 Millionen Bildern aus dem gesamten Stammbaum des Lebens trainiert und klassifiziert Arten anhand ihrer Namen ohne Beispiele. Dafür erhielt das Modell bei CVPR 2024 die Auszeichnung für die beste studentische Arbeit.
- Medizinische Bildgebung: Modelle, die mit Röntgenbildern und den dazugehörigen schriftlichen radiologischen Befunden trainiert wurden, können Befunde erkennen, die nie als explizite Trainingslabels annotiert wurden.
Herausforderungen#
Die Genauigkeit beim Lernen ohne Beispiele ist gewöhnlich geringer als bei einem Modell, das mit beschrifteten Beispielen derselben Klassen trainiert wurde. Das gilt besonders für feingliedrige oder spezialisierte Kategorien, deren Namen in Webtexten selten vorkommen. Beim generalisierten Lernen ohne Beispiele können Testbilder sowohl aus bekannten als auch aus unbekannten Klassen stammen. Benchmarkstudien ergaben, dass die Genauigkeit für unbekannte Klassen in diesem Szenario stark sinkt, weil Modelle die Klassen bevorzugen, mit denen sie trainiert wurden. Auch die Formulierung beeinflusst die Ergebnisse. Daher ist Prompt-Engineering ein Teil der Klassifizierung ohne Beispiele: Die ImageNet-Genauigkeit von CLIP stieg um 1,3 %, als der bloße Klassenname durch die Eingabeaufforderung „ein Foto von {label}“ ersetzt wurde.
Lernen ohne Beispiele und verwandte Begriffe#
- Lernen mit wenigen Beispielen: Lernt neue Klassen anhand einer Handvoll beschrifteter Beispiele pro Klasse, normalerweise 1 bis 10. Beim Lernen ohne Beispiele gibt es keine Beispiele, sondern eine Beschreibung.
- Lernen mit einem Beispiel: Eine Sonderform des Lernens mit wenigen Beispielen, bei der genau ein beschriftetes Beispiel pro Klasse verwendet wird. Häufig erfolgt der Abgleich anhand der Ähnlichkeit der Einbettungsvektoren.
- Transferlernen: Verwendet ein vortrainiertes Modell für eine neue Aufgabe, in der Regel durch Feinabstimmung mit beschrifteten Daten. Beim Lernen ohne Beispiele wird Wissen über den gemeinsamen Bild-Text-Raum übertragen, ohne weiter zu trainieren.
- Visuelle Eingabe: Gibt das Ziel mit einem Beispielbild oder einem Rahmen statt mit Worten an. Das hilft bei schwer zu benennenden Objekten wie einem bestimmten Bauteil oder Logo.










