Glossar

Vision Transformer (ViT)

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

Ein Vision Transformer (ViT) ist eine Art neuronaler Netzarchitektur, die von den ursprünglich für die Verarbeitung natürlicher Sprache (NLP) entwickelten Transformer-Modellen übernommen wurde. Die von Google-Forschern in dem Papier "An Image is Worth 16x16 Words" vorgestellten ViTs 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 eine ViT ein Eingabebild zunächst in nicht überlappende Bereiche fester Größe. Diese Felder werden dann in Vektoren abgeflacht, linear eingebettet und mit Positionseinbettungen ergänzt, um räumliche Informationen zu erhalten (ähnlich wie Wortpositionen in NLP kodiert werden). Diese Sequenz von Vektoren wird dann in einen Standard-Transformator-Encoder eingespeist, der Schichten von Multi-Head-Self-Attention verwendet, um die Wichtigkeit der verschiedenen Patches relativ 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. Diese Architektur ermöglicht es ViTs, weitreichende Abhängigkeiten und den globalen Kontext innerhalb eines Bildes effektiv zu modellieren.

Relevanz und Anwendungen

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

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

ViT Vs. CNNs

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

  • Induktive Neigung: CNNs besitzen eine starke induktive Neigung zu Lokalität und Übersetzungsäquivarianz durch ihre Faltungsund Pooling-Schichten. ViTs haben eine schwächere induktive Neigung, da sie sich stärker auf das Lernen von Mustern aus Daten verlassen, 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: Die Ausbildung von ViTs kann rechenintensiv sein und erfordert oft erhebliche GPU-Ressourcen. Die Inferenzgeschwindigkeit kann jedoch konkurrenzfähig sein, insbesondere bei größeren Modellen. RT-DETR-Modelle bieten beispielsweise Echtzeitleistung, können aber einen höheren Ressourcenbedarf haben als vergleichbare CNN-basierte YOLO-Modelle.
  • Globaler vs. lokaler Kontext: CNNs bauen hierarchische Merkmale aus lokalen Mustern auf. ViTs können globale Interaktionen zwischen Patches aus den frühesten Schichten modellieren, wodurch ein breiterer Kontext für bestimmte Aufgaben möglicherweise effektiver erfasst werden kann.

Die Wahl zwischen ViT und CNN hängt oft von der spezifischen Aufgabe, den verfügbaren Datensätzen und den Rechenressourcen ab. ViTs zeichnen sich im Allgemeinen aus, wenn große Mengen an Trainingsdaten verfügbar sind und der globale Kontext von größter Bedeutung ist. CNNs, wie die in der YOLO-Familie von Ultralytics (z. B. YOLOv8, YOLOv10, YOLO11) verwendeten, sind nach wie vor äußerst effektiv und effizient, insbesondere bei der Objekterkennung in Echtzeit auf eingeschränkten Geräten. Hybride Architekturen, die Faltungsmerkmale mit Transformatorschichten (wie bei RT-DETR) kombinieren, stellen ebenfalls eine vielversprechende Richtung dar 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 Transfer-Lernen verwendet.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert