Glossar

Vision Transformer (ViT)

Entdecke die Leistungsfähigkeit von Vision Transformers (ViTs) in der Computer Vision. Erfahre, wie sie die CNNs übertreffen, indem sie den globalen Bildkontext erfassen.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Der Vision Transformer (ViT) stellt eine entscheidende Entwicklung in der Computer Vision (CV) dar. Er wendet die äußerst erfolgreiche Transformer-Architektur, die ursprünglich für die Verarbeitung natürlicher Sprache (NLP) entwickelt wurde, auf bildbasierte Aufgaben an. Im Gegensatz zu herkömmlichen Convolutional Neural Networks (CNNs), die Bilder mit lokalisierten Filtern Schicht für Schicht verarbeiten, unterteilen ViTs ein Bild in Patches fester Größe, behandeln sie als eine Folge von Tokens (ähnlich wie Wörter in einem Satz) und verarbeiten sie mit Hilfe des Transformer-Mechanismus der Selbstaufmerksamkeit. Dadurch können ViTs den globalen Kontext und weitreichende Abhängigkeiten innerhalb eines Bildes effektiver erfassen als viele CNN-Architekturen, was zu Spitzenergebnissen bei verschiedenen Benchmarks führt, insbesondere wenn sie auf großen Datensätzen wie ImageNet trainiert werden.

Wie Vision Transformers funktionieren

Die Kernidee hinter ViT ist die Umgestaltung des Paradigmas der Bildverarbeitung. Ein Eingangsbild wird zunächst in ein Raster aus nicht überlappenden Feldern aufgeteilt. Jedes Feld wird zu einem Vektor abgeflacht und dann linear in einen Einbettungsraum projiziert. Um die räumlichen Informationen zu erhalten, werden zu diesen Patch-Einbettungen Positionseinbettungen hinzugefügt. Diese Abfolge von Vektoren, die nun die Bildfelder mit ihren Positionen darstellen, wird in einen Standard-Transformer-Encoder eingespeist, wie in der Originalarbeit "An Image is Worth 16x16 Words" beschrieben.

Der Transformer-Encoder, der aus mehreren Schichten besteht, verlässt sich stark auf den Mechanismus der Selbstbeobachtung. Dieser Mechanismus ermöglicht es dem Modell, die Wichtigkeit verschiedener Bereiche im Verhältnis zueinander dynamisch zu gewichten und so Beziehungen zwischen weit entfernten Teilen des Bildes zu lernen. Dieses globale rezeptive Feld steht im Gegensatz zum typischerweise lokalen rezeptiven Feld von CNNs und verschafft ViTs einen Vorteil beim Verstehen des Gesamtzusammenhangs der Szene. Ressourcen wie The Illustrated Transformer bieten intuitive Erklärungen der zugrunde liegenden Transformer-Konzepte. Frameworks wie PyTorch und TensorFlow bieten Implementierungen dieser Komponenten.

Relevanz und Anwendungen

Vision Transformers sind im modernen Deep Learning aufgrund ihrer Skalierbarkeit und beeindruckenden Leistung von großer Bedeutung, insbesondere bei umfangreichem Pre-Training. Durch ihre Fähigkeit, den globalen Kontext zu modellieren, eignen sie sich für eine Vielzahl von CV-Aufgaben, die über die grundlegende Bildklassifizierung hinausgehen, darunter:

  • Objekterkennung: Modelle wie RT-DETRdie oft Transformatorenkomponenten verwenden, erreichen eine hohe Genauigkeit bei der Lokalisierung von Objekten.
  • Bildsegmentierung: ViTs können für dichte Vorhersageaufgaben wie die Segmentierung verschiedener Objekte oder Regionen innerhalb eines Bildes angepasst werden, wie in Modellen wie dem Segment Anything Model (SAM) zu sehen ist.
  • Medizinische Bildanalyse: ViTs helfen dabei, subtile Muster zu erkennen, die auf Krankheiten in Scans wie Röntgenaufnahmen oder MRTs hinweisen, und können so die Diagnosegenauigkeit in der KI im Gesundheitswesen verbessern. Sie können zum Beispiel komplexe Tumorformen oder -verteilungen erkennen, die für lokal fokussierte Modelle eine Herausforderung darstellen würden.
  • Autonome Fahrzeuge: Das Verständnis des gesamten Verkehrsgeschehens, einschließlich entfernter Fahrzeuge, Fußgänger und Verkehrssignale, ist entscheidend für eine sichere Navigation. Die globale Kontextmodellierung von ViTs hilft dabei, ein umfassendes Szeneverständnis für KI-Anwendungen im Automobilbereich zu entwickeln.

ViTs werden zunehmend in Plattformen wie Ultralytics HUB und Bibliotheken wie Hugging Face Transformers integriert, wodurch sie für Forschung und Einsatz zugänglich werden. Sie können auch für den Einsatz von Edge AI auf Geräten wie NVIDIA Jetson optimiert werden.

ViT Vs. CNNs

Obwohl sowohl ViTs als auch CNNs zu den grundlegenden Architekturen des Computersehens gehören (siehe Geschichte der Sehmodelle), unterscheiden sie sich in ihrem Ansatz erheblich:

  • Verarbeitung: CNNs verwenden Faltungsoperationen mit gleitenden Kerneln, konzentrieren sich auf lokale Muster und bauen hierarchische Merkmale auf. ViTs nutzen die Selbstbeobachtung über Bildfelder hinweg und konzentrieren sich von Anfang an auf globale Beziehungen.
  • Induktive Verzerrung: CNNs haben starke eingebaute induktive Verzerrungen (wie Lokalität und Übersetzungsäquivarianz), die für Bilder geeignet sind und sie bei kleineren Datensätzen oft dateneffizienter machen. ViTs haben schwächere induktive Verzerrungen und benötigen in der Regel größere Datensätze (oder ausgefeilte Pre-Training-Strategien, wie sie von CLIP verwendet werden), um gut zu generalisieren.
  • Architektur: CNNs bestehen aus Faltungsschichten, Pooling-Schichten und vollständig verbundenen Schichten. ViTs verwenden die Standard-Transformer-Encoder-Struktur. Hybride Modelle, die Faltungsschichten mit Transformer-Köpfen/-Hälsen kombinieren (z. B. RT-DETR ), zielen darauf ab, die Stärken beider zu nutzen.

Die Wahl zwischen ViT und CNN hängt oft von der spezifischen Aufgabe, den verfügbaren Daten und den Rechenressourcen ab. ViTs zeichnen sich in der Regel aus, wenn große Mengen an Trainingsdaten zur Verfügung stehen, während CNNs wie die in der Ultralytics YOLO Familie sehr effektiv und effizient sind, insbesondere bei der Objekterkennung in Echtzeit auf eingeschränkten Geräten.

Alles lesen