Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

One-Shot-Learning

Entdecken Sie die Leistungsfähigkeit von One-Shot-Learning, einer revolutionären KI-Technik, die es Modellen ermöglicht, aus minimalen Daten zu generalisieren, für reale Anwendungen.

One-Shot Learning (OSL) ist ein hochentwickelter Ansatz innerhalb maschinellen Lernens (ML), bei dem ein Modell entwickelt wird neue Objekte zu erkennen und zu kategorisieren, wenn nur ein einziges markiertes Beispiel vorliegt. Im Gegensatz zu traditionellen Methoden des Deep Learning (DL), die riesige große Bestände an Trainingsdaten benötigen, um eine hohe Genauigkeit zu erreichen, ahmt OSL die kognitive Fähigkeit des Menschen nach, ein neues Konzept sofort zu begreifen, nachdem er es nur einmal gesehen hat. Diese Fähigkeit ist besonders wichtig für Anwendungen, bei denen Datenbeschriftung teuer ist, die Daten knapp sind oder neue Kategorien dynamisch auftauchen, wie z. B. bei der Identitätsprüfung oder der Erkennung seltener Anomalien.

Mechanismen des One-Shot-Learnings

Der Kernmechanismus hinter OSL besteht darin, das Problem von der Klassifizierung auf die Bewertung von Unterschieden zu verlagern. Anstatt ein Modell zu trainieren, das sich bestimmte Klassen (wie "Katze" vs. "Hund") merkt, lernt das System eine Ähnlichkeitsfunktion. Dies wird häufig mit einer Architektur eines neuronalen Netzes (NN), bekannt als Siamesisches Netz. Siamesische Netze verwenden identische Teilnetze, die die gleichen Modellgewichte teilen, um zwei unterschiedliche Eingabebilder gleichzeitig zu verarbeiten.

Während dieses Prozesses wandelt das Netz hochdimensionale Eingaben (wie Bilder) in kompakte, niedrigdimensionale Vektoren bekannt als Einbettungen. Gehören die beiden Bilder zur gleichen gehören, wird das Netz darauf trainiert, ihre Einbettungen im Vektorraum nahe beieinander zu platzieren. Umgekehrt, wenn sie unterschiedlich sind, werden ihre Einbettungen auseinander geschoben. Dieser Prozess hängt stark von einer effektiven Merkmalsextraktion, um die einzigartige Essenz eines eines Objekts zu erfassen. Zum Zeitpunkt der Inferenz wird ein neues Bild klassifiziert, indem seine Einbettung mit dem einzigen gespeicherten Bild jeder Klasse verglichen wird. "Aufnahme" jeder Klasse unter Verwendung einer Abstandsmetrik, wie z. B. Euklidischer Abstand oder Cosinus-Ähnlichkeit.

Das folgende Python veranschaulicht, wie man Einbettungen mit YOLO11 und die Ähnlichkeit zwischen einer bekannten "Aufnahme" und einem neuen Abfragebild berechnet.

import numpy as np
from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Extract embeddings for a 'shot' (reference) and a 'query' image
# The model returns a list of results; we access the first item
shot_result = model.embed("reference_image.jpg")[0]
query_result = model.embed("test_image.jpg")[0]

# Calculate Cosine Similarity (1.0 = identical, -1.0 = opposite)
# High similarity suggests the images belong to the same class
similarity = np.dot(shot_result, query_result) / (np.linalg.norm(shot_result) * np.linalg.norm(query_result))

print(f"Similarity Score: {similarity:.4f}")

Unterscheidung von verwandten Lernparadigmen

Um OSL zu verstehen, muss man es von anderen datenarmen Lerntechniken unterscheiden. Sie haben zwar das Ziel der Effizienz teilen, unterscheiden sie sich doch erheblich in ihren Zwängen:

  • Few-Shot Learning (FSL): Diese ist die umfassendere Kategorie, die auch OSL einschließt. Bei FSL wird dem Modell eine kleine Anzahl von Beispielen - in der Regel zwischen zwei und fünf - pro Klasse. OSL ist einfach der extremste Fall von FSL, bei dem die Anzahl der Beispiele ($k$) gleich eins.
  • Null-Schuss-Lernen (ZSL): ZSL geht bei der Datenknappheit noch einen Schritt weiter, indem es das Modell auffordert, Klassen zu identifizieren, die es noch nie visuell gesehen hat. Es stützt sich auf semantische Suche und Metadaten, die visuelle assoziiert visuelle Merkmale mit textlichen Beschreibungen (z. B. Identifizierung eines "Zebras" durch das Wissen, dass es aussieht wie ein "gestreiftes Pferd").
  • Transfer-Lernen: Diese wird ein Modell verwendet, das zuvor mit einem großen Datensatz trainiert wurde, wie z. B. ImageNetund Feinabstimmung auf einem kleineren, aufgabenspezifischen Datensatz. Transfer Learning reduziert zwar die Datenanforderungen, erfordert aber im Allgemeinen immer noch mehr als ein einziges Beispiel, um eine Überanpassung zu verhindern.

Anwendungsfälle in der Praxis

One-Shot Learning hat es ermöglicht Künstliche Intelligenz (KI) funktioniert in dynamischen Umgebungen zu funktionieren, in denen ein erneutes Training der Modelle unpraktisch ist.

  1. Gesichtserkennung: Der häufigste Häufigster Anwendungsfall ist die biometrische Sicherheit. Wenn ein Nutzer sein Gesicht auf einem Smartphone registriert, erfasst das Gerät eine einzige Referenzdarstellung (die "eine Aufnahme"). Später verwendet das System OSL-Prinzipien zur Überprüfung der Identität des Nutzers zu überprüfen, indem es den Live-Feed mit der gespeicherten Referenz vergleicht, was die Datensicherheit. Diese Methode wurde populär gemacht durch FaceNet von Google popularisiert, das den Triplet Loss für das Verlust für das Lernen der Einbettung verwendet.
  2. Industrielle Qualitätskontrolle: In der Fertigung können Fehler extrem selten und vielfältig sein. Es ist ist es schwierig, einen großen Datensatz von defekten Teilen für für die traditionelle Ausbildung. Mit OSL kann ein Computer Vision System das Aussehen eines eines "perfekten" Teils von einem Referenzbild zu lernen. Jedes Teil, das im Einbettungsraum erheblich abweicht wird als Anomalie-Erkennungsereignis markiert, Dies ermöglicht eine sofortige Qualitätssicherung bei neuen Produktionslinien.

Herausforderungen und Zukunftsaussichten

Trotz seiner Nützlichkeit steht One-Shot Learning vor Problemen bei der Verallgemeinerung. Da das Modell eine Klasse aus einer einzigen Instanz ableitet, ist es anfällig für Rauschen oder Ausreißer in diesem Referenzbild. Forscher verwenden oft Meta-Lernen, oder "Lernen, um zu lernen", um um die Stabilität dieser Modelle zu verbessern. Frameworks wie PyTorch und TensorFlow werden kontinuierlich weiterentwickelt, um diese fortschrittlichen Architekturen zu unterstützen. Zusätzlich kann die Einbeziehung von synthetische Daten helfen, die Einzelaufnahme zu ergänzen, und dem Modell eine robustere Repräsentation zu liefern, aus der es lernen kann.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten