Entdecken Sie kontrastives Lernen im maschinellen Lernen. Erfahren Sie, wie es selbstüberwachte Daten nutzt, um robuste KI-Funktionen für Ultralytics und Computer Vision zu entwickeln.
Kontrastives Lernen ist ein Paradigma des maschinellen Lernens, bei dem Modelle lernen, Daten zu verstehen, indem sie ähnliche und unähnliche Beispiele vergleichen. Im Gegensatz zum traditionellen überwachten Lernen, das stark auf manuell gekennzeichnete Datensätze angewiesen ist, wird kontrastives Lernen häufig im Kontext des selbstüberwachten Lernens eingesetzt. Die Kernidee ist einfach, aber leistungsstark: Das Modell lernt, Darstellungen verwandter Elemente (positive Paare) in einem Vektorraum näher zusammenzubringen und nicht verwandte Elemente (negative Paare) weiter auseinander zu schieben. Dieser Prozess ermöglicht es Algorithmen, robuste, verallgemeinerbare Merkmale aus riesigen Mengen unbeschrifteter Daten zu erstellen, was für die Skalierung von Systemen der künstlichen Intelligenz (KI) entscheidend ist.
Im Mittelpunkt des kontrastiven Lernens steht das Konzept des Lernens durch Vergleich. Anstatt sich zu merken, dass ein bestimmtes Bild eine „Katze” ist, lernt das Modell, dass zwei verschiedene Fotos einer Katze einander ähnlicher sind als jedes einzelne einem Foto eines Hundes. Dies wird in der Regel durch Datenvergrößerung erreicht. Ein Eingabebild, oft als „Anker“ bezeichnet, wird mithilfe von Techniken wie Zuschneiden, Spiegeln oder Farbverzerrung in zwei verschiedene Versionen umgewandelt. Diese beiden Versionen bilden ein positives Paar. Das Modell wird dann so trainiert, dass es den Abstand zwischen ihren Einbettungen minimiert und gleichzeitig den Abstand zu anderen zufälligen Bildern (negativen Beispielen) in der Charge maximiert.
Dieser Ansatz hilft dem neuronalen Netzwerk, sich auf hochrangige semantische Merkmale statt auf niedrigrangige Pixeldetails zu konzentrieren. Unabhängig davon, ob ein Auto beispielsweise rot oder blau ist oder nach links oder rechts zeigt, bleibt das zugrunde liegende Konzept „Auto” dasselbe. Durch das Ignorieren dieser oberflächlichen Variationen entwickelt das Modell ein tieferes Verständnis der visuellen Welt, was für nachgelagerte Aufgaben wie die Objekterkennung und -klassifizierung von großem Vorteil ist.
Kontrastives Lernen ist zu einem Eckpfeiler für viele hochmoderne KI-Anwendungen geworden, insbesondere wenn beschriftete Daten rar oder teuer zu beschaffen sind.
Es ist hilfreich, kontrastives Lernen von ähnlichen Techniken zu unterscheiden, um seine einzigartige Rolle in der Landschaft des maschinellen Lernens (ML) zu verstehen.
Während das Training eines kontrastiven Modells von Grund auf ressourcenintensiv ist, können Sie ganz einfach vortrainierte Modelle verwenden, um
Merkmale zu extrahieren. Das folgende Beispiel zeigt, wie Sie ein Modell laden und den Merkmalsvektor (Einbettung)
für ein Bild mit dem ultralytics Paket. Diese Einbettung repräsentiert den semantischen Inhalt, der durch
Techniken ähnlich dem kontrastiven Vortraining gelernt wurde.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")
Diese Fähigkeit, reichhaltige, aussagekräftige Merkmale zu extrahieren, macht kontrastives Lernen für den Aufbau moderner Computer-Vision-Systeme (CV) unverzichtbar und ermöglicht eineeffiziente Bildsuche und erweiterte Analysen. Für die Verwaltung von Datensätzen und das Training benutzerdefinierter Modelle, die von diesen fortschrittlichen Architekturen profitieren, bietet die Ultralytics eine optimierte Umgebung für die Bereitstellung und Überwachung.