Paper · arXiv 2010.11929
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
Veröffentlicht cs.CVcs.AIcs.LG arXivPDF
Zusammenfassung in drei Zeilen
- 🎯 Convolutional Neural Networks haben Computer Vision aufgrund starker induktiver Biases dominiert, während Standard-Transformern eine direkte, skalierbare Anwendung auf 2D-Bilder fehlte.
- 🔧 Ein Bild wird in flache Patches fester Größe (z. B. 16x16) zerlegt, linear auf Token-Embeddings projiziert, mit Positions-Embeddings versehen und zusammen mit einem vorangestellten [class]-Token durch einen Standard-Transformer-Encoder geleitet.
- 📈 Nach dem Vortraining auf JFT-300M erzielt ViT-H/14 eine Top-1-Genauigkeit von 88,55 % auf ImageNet, 90,72 % auf ImageNet ReaL und 77,63 % auf VTAB – bei erheblich geringerem Rechenaufwand als vergleichbare CNNs.
Abstract
Während die Transformer-Architektur zum De-facto-Standard für Aufgaben der maschinellen Sprachverarbeitung geworden ist, bleiben ihre Anwendungen in der Computer Vision begrenzt. Im visuellen Bereich wird Attention entweder in Verbindung mit Convolutional Networks eingesetzt oder genutzt, um bestimmte Komponenten von Convolutional Networks zu ersetzen, während deren Gesamtstruktur beibehalten wird. Wir zeigen, dass dieses Vertrauen auf CNNs nicht notwendig ist und ein reiner Transformer, der direkt auf Sequenzen von Bild-Patches angewendet wird, bei Bildklassifizierungsaufgaben sehr gute Leistungen erbringen kann. Nach einem Vortraining auf großen Datenmengen und dem Transfer auf mehrere mittelgroße oder kleine Bilderkennungs-Benchmarks (ImageNet, CIFAR-100, VTAB usw.) erzielt der Vision Transformer (ViT) hervorragende Ergebnisse im Vergleich zu modernen Convolutional Networks und benötigt dabei für das Training deutlich weniger Rechenressourcen.
Original-Abstract (Englisch)
While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.
Leseleitfaden
Problem und Motivation
Faltungsarchitekturen (z. B. ResNet) bilden aufgrund fest einprogrammierter induktiver Biases wie Translationsäquivarianz und zweidimensionaler Lokalität seit Langem das Fundament moderner Computer Vision. Während sich Transformer in der natürlichen Sprachverarbeitung (NLP) dank Recheneffizienz und massiver Skalierbarkeit als Standard etablierten, kombinierten frühere Versuche zur Übertragung von Self-Attention auf Vision-Aufgaben die Attention-Mechanismen meist mit CNN-Backbones oder nutzten spezialisierte lokale bzw. axiale Attention-Muster, die sich auf Hardwarebeschleunigern nur schwer effizient skalieren ließen. Diese Arbeit untersucht, ob eine reine Transformer-Architektur, die mit minimalen Modifikationen direkt auf Sequenzen von Bild-Patches angewendet wird, mit modernen CNNs konkurrieren oder diese sogar übertreffen kann.
Kernideen
- Bilder als Wortsequenzen: Ein Bild wird in nicht überlappende Patches der Größe unterteilt. Die abgeflachten Patches werden analog zu NLP-Tokens behandelt.
- Minimaler induktiver Bias: Im Gegensatz zu CNNs, bei denen räumliche Lokalität und Translationsäquivarianz in jeder Schicht verankert sind, nutzt ViT globale Self-Attention über alle Patches hinweg. Die 2D-Struktur wird nur bei der Extraktion der Patches sowie bei der Interpolation der Positions-Embeddings für das Fine-Tuning bei höherer Auflösung herangezogen.
- Skalierung schlägt induktiven Bias: Ohne starken induktiven Bias schneidet ViT auf kleinen bis mittelgroßen Datensätzen (wie Standard-ImageNet ohne starke Regularisierung) schlechter ab als ResNets. Wird ViT jedoch auf großen Datensätzen vortrainiert (ImageNet-21k mit 14 Mio. Bildern oder JFT-300M mit 303 Mio. Bildern), erreicht oder übertrifft das Modell die Leistung von CNNs bei deutlich geringeren Trainings-FLOPs.
Methode
- Patch-Embedding und Konstruktion der Eingabe: Bei einer Patch-Größe von liefert ein Bild Patches. Jeder abgeflachte Patch wird über eine Matrix linear in die Dimension projiziert. Ein lernbares Klassifikationstoken wird vorangestellt, und lernbare 1D-Positions-Embeddings werden addiert:
- Transformer-Encoder-Schichten: Die Sequenz durchläuft identische Blöcke, die Multihead Self-Attention (MSA) und MLP-Blöcke abwechseln, unter Verwendung von Pre-LayerNorm (LN) und Residuenverbindungen:
- Repräsentation und Klassifikationskopf: Die Bildrepräsentation ergibt sich aus dem ersten Ausgabe-Token: Ein kleines MLP (mit einer verborgenen Schicht) dient beim Pre-Training als Klassifikationskopf und wird beim Fine-Tuning durch eine einzelne lineare Projektion () ersetzt.
- Fine-Tuning bei höherer Auflösung: Beim Fine-Tuning mit höheren Bildauflösungen (z. B. oder ) bleibt die Patch-Größe konstant, wodurch die Sequenzlänge steigt. Die vortrainierten 1D-Positions-Embeddings werden mittels bikubischer 2D-Interpolation an ihre ursprünglichen räumlichen Rasterpositionen angepasst.
Ergebnisse
- Vergleich zum Stand der Technik (SOTA):
- ViT-H/14, vortrainiert auf JFT-300M, erreichte 88,55 % auf ImageNet, 90,72 % auf ImageNet ReaL, 94,55 % auf CIFAR-100 und 77,63 % auf der VTAB-Suite (19 Aufgaben) bei einem Rechenaufwand von 2.500 TPUv3-Core-Tagen.
- ViT-L/16, vortrainiert auf JFT-300M, erzielte 87,76 % auf ImageNet mit nur 680 TPUv3-Core-Tagen; es übertraf damit BiT-L (ResNet152x4, 87,54 %, 9.900 TPUv3-Core-Tage) und näherte sich Noisy Student EfficientNet-L2 (88,4/88,5 %, 12.300 TPUv3-Core-Tage) an.
- Vortraining auf öffentlichen Datensätzen: ViT-L/16, vortrainiert auf ImageNet-21k, erreichte 85,30 % auf ImageNet.
- Trade-off zwischen Rechenaufwand und Leistung: In Skalierungsexperimenten auf JFT-300M dominierte der reine ViT die ResNets entlang der Pareto-Front und benötigte für eine vergleichbare Genauigkeit zwei- bis viermal weniger Rechenaufwand.
- Interne Repräsentationen: Tiefere Schichten enthalten Attention-Heads, die gleichzeitig über das gesamte Bild blicken, neben Köpfen mit geringer, stark lokalisierter Attention-Distanz. Die Attention-Distanz nimmt mit zunehmender Tiefe im Allgemeinen monoton zu.
Einschränkungen und offene Fragen
- Datenhunger: Ohne umfangreiche Pre-Training-Daten (ImageNet-21k oder JFT-300M) oder starke Regularisierung generalisiert ViT auf kleinen Datensätzen nur mäßig.
- Lücke beim selbstüberwachten Lernen: Erste Experimente mit Masked-Patch-Prediction erreichten 79,9 % auf ImageNet (ViT-B/16), was eine Lücke von 4 % im Vergleich zum überwachten Pre-Training bedeutete.
- Anwendung auf dichte Vorhersagen (Dense Prediction): Die ursprüngliche Arbeit konzentriert sich ausschließlich auf Klassifikation; die Anpassung reiner Patch-Transformer an dichte räumliche Aufgaben wie Objekterkennung und semantische Segmentierung bleibt ein aktives Forschungsfeld.
Schlüsselbegriffe
- Vision Transformer (ViT)
- Eine reine Transformer-Architektur, die ohne Faltungs-Merkmalsextraktion direkt auf Sequenzen nicht überlappender Bild-Patches für visuelle Aufgaben angewendet wird.
- Patch Embeddings
- Die -dimensionalen Repräsentationen, die durch lineare Projektion verflachter -Pixel-Patches in den latenten Raum des Modells entstehen.
- Classification Token ([class])
- Ein lernbares Token, das der Patch-Sequenz vorangestellt wird und dessen Ausgabezustand nach der letzten Transformer-Schicht als Gesamtrepräsentation des Bildes dient.
- Inductive Bias
- In die Architektur fest eingebaute Grundannahmen; bei CNNs umfassen diese räumliche Lokalität und Translationsäquivarianz, welche in ViT weitgehend fehlen.
- Position Embeddings
- Lernbare 1D-Vektoren, die zu den Patch-Embeddings addiert werden, um die räumliche Reihenfolge innerhalb der Sequenz beizubehalten.
- Attention Distance
- Die durchschnittliche räumliche Distanz im Bild, über die ein Attention-Head Informationen aggregiert; konzeptionell analog zur rezeptiven Feldgröße in CNNs.
- Hybrid Architecture
- Ein Modell, bei dem die Patch-Embedding-Projektion auf Feature-Maps angewendet wird, die aus einem vorgelagerten Convolutional-Backbone stammen, anstatt auf rohe Bildpixel.
- Visual Task Adaptation Benchmark (VTAB)
- Eine Benchmark-Suite aus 19 diversen Bildverarbeitungsaufgaben, unterteilt in die Kategorien Natural, Specialized und Structured, die mit 1.000 Beispielen pro Aufgabe evaluiert werden.
Fragen
Warum schneidet ViT auf kleineren Datensätzen wie ImageNet-1k schlechter ab als ResNet?
Transformern fehlen Faltungs-typische induktive Biases wie Lokalität und Translationsäquivarianz. Auf kleineren Datensätzen neigt ViT zu Overfitting, da es räumliche Beziehungen von Grund auf neu lernen muss; der fest integrierte induktive Bias von ResNets sorgt hingegen für eine höhere Stichprobeneffizienz bei begrenzten Datenmengen.
Wie geht ViT beim Fine-Tuning mit Bildern unterschiedlicher oder höherer Auflösung um?
ViT behält die Patch-Größe bei, wodurch sich die Gesamtsequenzlänge erhöht. Die vortrainierten 1D-Positions-Embeddings werden auf das ursprüngliche 2D-Raster zurückgeführt und mittels bikubischer 2D-Interpolation an die neue Rastergröße angepasst.
Verbessern 2D-Positions-Embeddings die Leistung von ViT gegenüber standardmäßigen 1D-Embeddings?
Nein. Die Autoren stellten fest, dass 2D-Koordinaten-Embeddings oder relative Positions-Embeddings nahezu identische Ergebnisse zu standardmäßigen, lernbaren 1D-Positions-Embeddings lieferten, da das Modell die 2D-Zeilen- und Spaltentopologie problemlos eigenständig erlernt.
Was ist der Unterschied zwischen ViT und der Hybrid-Architektur?
Der reine ViT zerlegt das rohe Eingabebild direkt in Patches der Größe und wendet eine lineare Projektion an. Das Hybridmodell leitet das Bild zunächst durch ein ResNet-Backbone und extrahiert die Patch-Tokens aus der resultierenden Zwischen-Feature-Map.
Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.