- Vision Transformers (ViTs) sind eine Klasse von Deep-Learning-Modellen, die bei Bildklassifizierungsaufgaben Spitzenleistungen erzielen
- Sie wenden die für die Verarbeitung natürlicher Sprache (NLP) entwickelte Transformer-Architektur auf Bilddaten an
- Dieser Leitfaden hilft mit Visualisierungen und einfachen Erklärungen dabei zu verstehen, wie diese Modelle funktionieren und wie der Datenfluss aussieht, wenn die Daten das Modell durchlaufen
Hauptinhalte
- Ein Bild wird in gleich große Patches der Größe p x p aufgeteilt
- Der codierte Vektor jedes Patches hat die feste Größe d
- Übrig bleibt ein Array der Größe n x d (n ist die Anzahl der Bild-Patches, d die Größe des Patch-Embeddings)
- Um das Modell effektiv zu trainieren, wird das Array der Patch-Embeddings um einen zusätzlichen Vektor erweitert, den sogenannten Klassifizierungs-Token (
cls-Token)
- Da keine Positionsinformationen vorhanden sind, werden zufällig initialisierte Positions-Embedding-Vektoren hinzugefügt
- Nach dem Hinzufügen der Positions-Embedding-Vektoren wird ein Array der Größe (n+1) x d als Eingabe in den Transformer gegeben
- Im Inneren des Transformers
- 10.1 Die Eingabe-Patch-Embedding-Vektoren des Transformers werden linear in mehrere große Vektoren eingebettet: Q – Query-Vektoren, K – Key-Vektoren, V – Value-Vektoren
- 10.2 Zur Berechnung der Attention-Scores A werden alle Query-Vektoren Q mit allen Key-Vektoren K multipliziert
- 10.3 Nachdem die Attention-Score-Matrix A entstanden ist, wird auf jede Zeile die Funktion
softmax angewendet, sodass die Summe jeder Zeile 1 ergibt
- 10.4 Um die aggregierten Kontextinformationen für den ersten Patch-Embedding-Vektor zu berechnen, wird auf die erste Zeile der Attention-Matrix fokussiert und ihre Einträge als Gewichte für den Value-Vektor V verwendet
- 10.5 Dieser Prozess wird nun für alle Zeilen der Attention-Score-Matrix wiederholt, wodurch N+1 Vektoren aggregierter Kontextinformationen entstehen (einer pro Patch plus einer für den Klassifizierungs-Token). Damit ist der erste Attention-Head abgeschlossen
- 10.6 Da es sich um Multi-Head-Attention handelt, wird der gesamte Prozess aus den Schritten 10.1 bis 10.5 mit einem anderen QKV-Mapping erneut durchgeführt
- 10.7 Letzter Schritt der Attention-Schicht. Die Heads werden zusammengeführt und auf Vektoren der Größe d abgebildet, also derselben Größe wie die Patch-Embeddings
- 10.8 Nach den vorherigen Schritten ist die Attention-Schicht abgeschlossen, und es bleibt die gleiche Anzahl an Embeddings in exakt derselben Größe wie am Eingang
- 10.9 Transformer verwenden häufig Residual Connections, was einfach bedeutet, die Eingabe der vorherigen Schicht zur Ausgabe der aktuellen Schicht zu addieren
- 10.10 Als Ergebnis der Residual Connection (Addition) entsteht ein Vektor derselben Größe
- 10.11 Diese Ausgabe durchläuft ein Feedforward-Neuronales-Netzwerk mit nichtlinearer Aktivierungsfunktion
- 10.12 Nach dem Transformer-Schritt gibt es noch eine weitere Residual Connection, die hier jedoch ausgelassen wird. Damit ist die Transformer-Schicht abgeschlossen. Das Ergebnis ist, dass der Transformer eine Ausgabe in derselben Größe wie die Eingabe erzeugt
- Anschließend wird der gesamte Berechnungsablauf des Transformers, also die Schritte 10.1 bis 10.12, mehrfach wiederholt (z. B. 6-mal)
- Der letzte Schritt besteht darin, die Ausgabe des Klassifizierungs-Tokens zu identifizieren. Dieser Vektor wird im letzten Schritt des Vision Transformers verwendet
- Im letzten Schritt werden dieser Klassifizierungs-Ausgabe-Token und ein weiteres vollständig verbundenes neuronales Netzwerk verwendet, um die Klassifizierungswahrscheinlichkeiten des Eingabebildes vorherzusagen
- Vision Transformer werden mit der Standard-Cross-Entropy-Loss-Funktion trainiert, die die vorhergesagten Klassenwahrscheinlichkeiten mit den tatsächlichen Klassenlabels vergleicht
- Das Modell wird mit Backpropagation und Gradient Descent trainiert und aktualisiert seine Modellparameter so, dass die Loss-Funktion minimiert wird
1 Kommentare
Da der von Ihnen vorgestellte Artikel aus meiner Sicht von Erläuterungen zusammen mit Bildern profitiert, habe ich mit Erlaubnis des Autors den Originaltext übersetzt: