Entdecken Sie One-Shot-Lernen in der KI. Erfahren Sie, wie Sie classify anhand eines einzigen Bildes mithilfe von Ultralytics und Siamese-Netzwerken für effiziente Computervision classify .
One-Shot Learning ist eine spezielle Klassifizierungstechnik im maschinellen Lernen (ML), die entwickelt wurde, um Informationen über Objektkategorien aus einem einzigen Trainingsbeispiel zu lernen. Im Gegensatz zu herkömmlichen Deep-Learning-Algorithmen (DL), die riesige Datensätze mit Tausenden von annotierten Bildern benötigen, um effektiv zu generalisieren, ahmt One-Shot Learning die menschliche kognitive Fähigkeit nach, ein neues Konzept sofort zu erfassen. Beispielsweise kann ein Mensch in der Regel einen bestimmten exotischen Vogel erkennen, nachdem er ihn nur einmal gesehen hat. Diese Methodik versucht, diese Effizienz in Systemen der künstlichen Intelligenz (KI) nachzubilden. Sie ist besonders wertvoll in Szenarien, in denen die Datenkennzeichnung teuer ist, Daten knapp sind oder neue Kategorien dynamisch hinzugefügt werden müssen, ohne das gesamte Modell neu zu trainieren.
Das Kernprinzip des One-Shot-Lernens besteht darin, das Ziel von der Standardklassifizierung auf die Ähnlichkeitsbewertung zu verlagern . Anstatt ein neuronales Netzwerk (NN) zu trainieren, um ein bestimmtes Klassenlabel (z. B. „Hund” oder „Katze”) auszugeben, lernt das Modell eine Distanzfunktion. Eine häufig verwendete Architektur hierfür ist das siamesische neuronale Netzwerk, das aus zwei identischen Teilnetzwerken besteht, die dieselben Modellgewichte
Während des Betriebs führt das Netzwerk eine Merkmalsextraktion durch, um Eingabebilder in kompakte numerische Vektoren umzuwandeln, die als Einbettungen bezeichnet werden. Das System vergleicht dann die Einbettung eines neuen Abfragebildes mit der Einbettung des einzelnen Referenzbildes „Aufnahme“. Wenn der mathematische Abstand – der häufig anhand der euklidischen Distanz oder der Kosinusähnlichkeitberechnet wird – unter einem bestimmten Schwellenwert liegt, werden die Bilder derselben Klasse zugeordnet. Auf diese Weise kann das Modell die Identität überprüfen oder classify anhand ihrer Nähe im gelernten Merkmalsraum classify .
Der folgende Python zeigt, wie man Einbettungen extrahiert und Ähnlichkeiten berechnet, indem man ein
YOLO26 Klassifikationsmodell aus dem
ultralytics Paket.
import numpy as np
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")
# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]
# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))
print(f"Similarity Score: {similarity:.4f}")
Es ist wichtig, One-Shot Learning von anderen dateneffizienten Lerntechniken zu unterscheiden, da sie ähnliche Probleme durch unterschiedliche Einschränkungen lösen:
One-Shot Learning hat Möglichkeiten in Bereichen eröffnet, in denen das Sammeln großer Mengen von Trainingsdaten unpraktisch ist.
Die häufigste Anwendung von One-Shot Learning findet sich in der biometrischen Sicherheit. Bei der Einrichtung von Face ID auf einem Smartphone oder der Registrierung in einem Mitarbeiterzugangssystem erfasst das Gerät eine einzige mathematische Darstellung des Gesichts des Benutzers . Bei der täglichen Nutzung vergleicht das Gesichtserkennungssystem die Live-Kameraübertragung mit diesem gespeicherten „One Shot“, um die Identität zu überprüfen. Dies beruht auf robusten Einbettungstechniken, wie sie in der grundlegenden FaceNet-Forschung diskutiert werden, um sicherzustellen, dass Änderungen der Beleuchtung oder des Winkels die Ähnlichkeitsübereinstimmung nicht beeinträchtigen.
In der KI-Fertigung ist es schwierig, einen ausgewogenen Datensatz mit „defekten“ Teilen zu erstellen, da Defekte selten und uneinheitlich sind. One-Shot Learning ermöglicht es Computer-Vision-Systemen (CV), die Darstellung eines einzelnen „perfekten“ Referenzteils zu lernen. Jedes Teil auf dem Fließband, dessen Einbettung deutlich von dieser Referenz abweicht, wird zur Anomalieerkennung markiert. Dies ermöglicht eine sofortige Qualitätssicherung , ohne dass Tausende von Bildern defekter Teile benötigt werden, die über die Ultralytics verwaltet und bereitgestellt werden können.
Obwohl leistungsstark, ist One-Shot Learning anfällig für Rauschen; wenn das einzelne Referenzbild unscharf, verdeckt oder nicht repräsentativ ist, verschlechtert sich die Fähigkeit des Modells, diese Klasse zu erkennen, erheblich. Forscher setzen häufig Meta-Lernen oder „Lernen lernen” ein, um die Stabilität und Generalisierbarkeit des Modells zu verbessern. Mit der Weiterentwicklung der Architekturen integrieren neuere Modelle wie YOLO26 robustere Merkmalsextraktoren, die die One-Shot-Inferenz schneller und genauer machen und den Weg für anpassungsfähigere und intelligentere Edge-KI-Geräte ebnen.