Entdecke die Leistungsfähigkeit von Vision Transformers (ViTs) in der Computer Vision. Erfahre, wie sie die CNNs übertreffen, indem sie den globalen Bildkontext erfassen.
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.
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.
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:
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.
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:
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.