Vision Transformer (ViT)
Erkunde die Stärke von Vision Transformers (ViT). Lerne, wie Self-Attention und Patch-Tokenisierung die Computer Vision jenseits von CNNs mit Ultralytics revolutionieren.
Ein Vision Transformer (ViT) ist eine Deep-Learning-Architektur, die die ursprünglich für die Natural Language Processing (NLP) entwickelten Self-Attention-Mechanismen zur Lösung visueller Aufgaben anpasst. Im Gegensatz zu einem traditionellen Convolutional Neural Network (CNN), das Bilder durch eine Hierarchie lokaler Pixelgraster verarbeitet, behandelt ein ViT ein Bild als eine Sequenz diskreter Patches. Dieser Ansatz wurde durch die wegende Forschungsarbeit "An Image is Worth 16x16 Words" populär gemacht, die zeigte, dass reine Transformer-Architekturen in der Computer Vision (CV) eine Spitzenleistung erzielen können, ohne sich auf Faltungsschichten zu verlassen. Durch die Nutzung globaler Aufmerksamkeit können ViTs weitreichende Abhängigkeiten über ein gesamtes Bild hinweg ab der allerersten Schicht erfassen.
Wie Vision Transformer funktionieren#
Die fundamentale Innovation des ViT ist die Art und Weise, wie es Eingabedaten strukturiert. Um ein Bild mit einem Standard-Transformer kompatibel zu machen, zerlegt das Modell die visuellen Informationen in eine Sequenz von Vektoren, was nachahmt, wie ein Sprachmodell einen Satz von Wörtern verarbeitet.
-
Patch Tokenization: Das Eingabebild wird in ein Raster aus quadratischen Feldern fester Größe unterteilt, typischerweise 16x16 Pixel. Jedes Quadrat wird zu einem Vektor abgeflacht und wird effektiv zu einem visuellen Token.
-
Linear Projection: Diese abgeflachten Patches werden durch eine trainierbare lineare Schicht geleitet, um dichte Embeddings zu erstellen. Dieser Schritt bildet die Rohpixelwerte in einen hochdimensionalen Raum ab, den das Modell verarbeiten kann.
-
Positional Encoding: Da die Architektur Sequenzen parallel verarbeitet und kein inhärentes Verständnis von Reihenfolge oder Raum besitzt, werden den Patch-Embeddings lernbare positionale Encodings hinzugefügt. Dies ermöglicht es dem Modell, räumliche Informationen darüber beizubehalten, wohin jedes Patch im Originalbild gehört.
-
Self-Attention Mechanism: Die Sequenz tritt in den Transformer-Encoder ein, wo Self-Attention es jedem Patch ermöglicht, gleichzeitig mit jedem anderen Patch zu interagieren. Dies versetzt das Netzwerk in die Lage, globalen Kontext zu erlernen und zu verstehen, wie ein Pixel in der oberen linken Ecke mit einem in der unteren rechten zusammenhängt.
-
Classification Head: Für Aufgaben wie die Bildklassifizierung wird der Sequenz häufig ein spezielles "Class-Token" vorangestellt. Der finale Ausgabezustand dieses Tokens dient als aggregierte Repräsentation des Bildes, die dann in einen Klassifizierer wie ein multilayer perceptron (MLP) eingespeist wird.
Vision Transformer vs. CNNs#
Während beide Architekturen darauf abzielen, visuelle Daten zu verstehen, unterscheiden sie sich erheblich in ihrer operativen Philosophie. CNNs besitzen eine starke "induktive Voreingenommenheit", die als Invarianz gegenüber Translation bekannt ist, was bedeutet, dass sie inhärent annehmen, dass lokale Merkmale (wie Kanten und Texturen) unabhängig von ihrer Position wichtig sind. Dies macht CNNs äußerst dateneffizient und effektiv bei kleineren Datensätzen.
Umgekehrt haben Vision Transformers eine geringere bildspezifische Voreingenommenheit. Sie müssen räumliche Beziehungen von Grund auf unter Verwendung massiver Mengen an Trainingsdaten wie den JFT-300M- oder vollständigen ImageNet-Datensätzen erlernen. Auch wenn dies das Training rechenintensiver macht, ermöglicht es ViTs, sich bemerkenswert gut zu skalieren; bei ausreichenden Daten und Rechenleistung können sie CNNs übertreffen, indem sie komplexe globale Strukturen erfassen, die lokale Faltungen übersehen könnten.
Praxisanwendungen#
Die Fähigkeit, globalen Kontext zu verstehen, macht ViTs besonders nützlich für komplexe Umgebungen mit hohen Anforderungen.
- Medical Image Analysis: In der Healthcare-KI werden ViTs verwendet, um hochauflösende Scans wie MRIs oder histopathologische Schnitte zu analysieren. Zum Beispiel kann ein ViT bei der Tumorerkennung subtile texturale Anomalien im Gewebe mit breiteren strukturellen Veränderungen im gesamten Schnitt korrelieren und maligne Muster identifizieren, die die lokale Verarbeitung übersehen könnte.
- Satellite Imagery and Remote Sensing: ViTs zeichnen sich bei der Satellitenbildanalyse aus, bei der sich die Beziehungen zwischen Objekten über große Distanzen erstrecken. Das Verknüpfen einer Entwaldungsfläche mit einer weit entfernten Holzfällerstraße erfordert beispielsweise das Verstehen des "großen Ganzen" einer Landschaft – eine Aufgabe, bei der die globale Aufmerksamkeit eines ViTs das begrenzte rezeptive Feld von Standard-CNNs übertrifft.
Nutzung von Transformern mit Ultralytics#
Die ultralytics-Bibliothek unterstützt Transformer-basierte Architekturen, am prominentesten den RT-DETR (Real-Time Detection Transformer). Während das Flaggschiff YOLO26 wegen seiner Balance aus Geschwindigkeit und Genauigkeit auf Edge-Geräten oft bevorzugt wird, bietet RT-DETR eine leistungsstarke Alternative für Szenarien, die den globalen Kontext priorisieren.
Das folgende Python-Beispiel demonstriert, wie ein vortrainiertes Transformer-basiertes Modell geladen und eine Inferenz durchgeführt wird:
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()Ausblick auf die Zukunft#
Die Forschung entwickelt sich rasant weiter, um die hohen Rechenkosten von ViTs zu bewältigen. Techniken wie FlashAttention machen diese Modelle schneller und speichereffizienter. Darüber hinaus werden hybride Architekturen, die die Effizienz von CNNs mit der Aufmerksamkeit von Transformern kombinieren, immer üblicher. Für Teams, die diese fortgeschrittenen Workflows verwalten möchten, bietet die Ultralytics Platform eine einheitliche Umgebung, um Daten zu annotieren, komplexe Modelle über die Cloud zu trainieren und sie auf verschiedenen Endpunkten bereitzustellen.






