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

Ein Vision Transformer (ViT) ist eine Art neuronale Netzwerkarchitektur, die von den ursprünglich für die Verarbeitung natürlicher Sprache (NLP) entwickelten Transformer-Modellen abgeleitet wurde. ViTs, die von Google in der Veröffentlichung "An Image is Worth 16x16 Words" vorgestellt wurden, wenden den Selbstbeobachtungsmechanismus des Transformers direkt auf Sequenzen von Bildfeldern an und behandeln die Bildverarbeitung als eine Aufgabe der Sequenzmodellierung. Dieser Ansatz bedeutete eine deutliche Abkehr von der Dominanz der Convolutional Neural Networks (CNNs) in der Computer Vision (CV).

Wie Vision Transformers funktionieren

Anstatt Bilder Pixel für Pixel mit Faltungsfiltern zu verarbeiten, unterteilt ein ViT ein Eingangsbild zunächst in nicht überlappende Bereiche fester Größe. Diese Felder werden dann in Vektoren zerlegt, linear eingebettet und mit Positionseinbettungen versehen, um die räumlichen Informationen zu erhalten (ähnlich wie bei der Kodierung von Wortpositionen im NLP). Diese Sequenz von Vektoren wird dann in einen Standard-Transformer-Encoder eingespeist, der Schichten mit mehreren Köpfen verwendet, um die Wichtigkeit der verschiedenen Patches im Verhältnis zueinander zu gewichten. Die endgültige Ausgabe des Transformer-Encoders wird in der Regel an einen einfachen Klassifizierungskopf (wie ein Multi-Layer Perceptron) für Aufgaben wie die Bildklassifizierung weitergeleitet. Mit dieser Architektur können ViTs weitreichende Abhängigkeiten und den globalen Kontext in einem Bild effektiv modellieren.

Relevanz und Anwendungen

Vision Transformers sind im modernen Deep Learning aufgrund ihrer Skalierbarkeit und ihrer beeindruckenden Leistung von großer Bedeutung, insbesondere bei umfangreichem Vortraining auf Datensätzen wie ImageNet oder noch größeren proprietären Datensätzen. Dank ihrer Fähigkeit, globalen Kontext zu modellieren, eignen sie sich für eine Vielzahl von Lebenslaufaufgaben, die über die grundlegende Klassifizierung hinausgehen, darunter:

ViTs werden zunehmend in Plattformen wie Ultralytics HUB und Bibliotheken wie Hugging Face Transformers integriert, so dass sie für Forschung und Einsatz mit Frameworks wie PyTorch und TensorFlow. Sie können auch für den Einsatz von Edge AI auf Geräten wie NVIDIA Jetson oder Google Edge TPU optimiert werden, indem Tools wie TensorRT.

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:

  • Induktive Neigung: CNNs haben eine starke induktive Neigung zu Lokalität und Übersetzungsäquivarianz durch ihre Faltungsund Pooling-Schichten. ViTs haben eine schwächere induktive Neigung und verlassen sich stärker auf das Lernen von Mustern aus Daten, insbesondere auf die Beziehungen zwischen entfernten Teilen eines Bildes durch Selbstbeobachtung.
  • Datenabhängigkeit: ViTs benötigen in der Regel große Mengen an Trainingsdaten (oder umfangreiches Pre-Training), um die modernsten CNNs zu übertreffen. Bei kleineren Datensätzen verallgemeinern CNNs aufgrund ihrer eingebauten Verzerrungen oft besser.
  • Berechnungsaufwand: Das Training von ViTs kann rechenintensiv sein und erfordert oft erhebliche GPU . Die Schlussfolgerungsgeschwindigkeit kann jedoch konkurrenzfähig sein, insbesondere bei größeren Modellen. RT-DETR bieten zum Beispiel eine Echtzeitleistung, haben aber einen höheren Ressourcenbedarf als vergleichbare CNN-basierte YOLO .
  • Globaler vs. lokaler Kontext: CNNs bauen hierarchische Merkmale aus lokalen Mustern auf. ViTs können globale Interaktionen zwischen Patches bereits in den ersten Schichten modellieren und so möglicherweise einen breiteren Kontext für bestimmte Aufgaben besser erfassen.

Die Wahl zwischen ViT und CNN hängt oft von der spezifischen Aufgabe, den verfügbaren Datensätzen und den Rechenressourcen ab. ViTs sind in der Regel dann am besten geeignet, wenn große Mengen an Trainingsdaten zur Verfügung stehen und der globale Kontext von entscheidender Bedeutung ist. CNNs, wie sie als Backbones in der Ultralytics YOLO Familie (z.B., YOLOv8, YOLOv10, YOLO11), sind nach wie vor sehr effektiv und effizient, insbesondere bei der Objekterkennung in Echtzeit auf eingeschränkten Geräten. Hybride Architekturen, die Faltungsfunktionen mit Transformatorschichten (wie in RT-DETR) kombinieren, sind ebenfalls vielversprechend und versuchen, die Stärken beider Ansätze zu nutzen. Die Feinabstimmung vortrainierter Modelle, ob ViT- oder CNN-basiert, ist eine gängige Praxis, die Techniken wie das Transferlernen nutzt.

Alles lesen