Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Eingehende Analyse der Funktionsprinzipien und Eigenschaften des Vision Transformer (VIT)-Modells

Eingehende Analyse der Funktionsprinzipien und Eigenschaften des Vision Transformer (VIT)-Modells

王林
王林nach vorne
2024-01-23 08:30:241302Durchsuche

什么是Vision Transformer(VIT)?Vision Transformer模型详解

Vision Transformer (VIT) ist ein von Google vorgeschlagenes Transformer-basiertes Bildklassifizierungsmodell. Im Gegensatz zu herkömmlichen CNN-Modellen stellt VIT Bilder als Sequenzen dar und lernt die Bildstruktur durch Vorhersage der Klassenbezeichnung des Bildes. Um dies zu erreichen, unterteilt VIT das Eingabebild in mehrere Patches, verkettet die Pixel in jedem Patch über Kanäle und führt dann eine lineare Projektion durch, um die gewünschten Eingabeabmessungen zu erreichen. Schließlich wird jeder Patch zu einem einzelnen Vektor zusammengefasst, der die Eingabesequenz bildet. Durch den Selbstaufmerksamkeitsmechanismus von Transformer ist VIT in der Lage, die Beziehung zwischen verschiedenen Patches zu erfassen und eine effektive Merkmalsextraktion und Klassifizierungsvorhersage durchzuführen. Diese Methode der serialisierten Bilddarstellung bringt neue Ideen und Effekte für Computer-Vision-Aufgaben.

Das Vision Transformer-Modell wird häufig bei Bilderkennungsaufgaben wie Objekterkennung, Bildsegmentierung, Bildklassifizierung und Aktionserkennung verwendet. Darüber hinaus eignet es sich für generative Modellierung und Multi-Modell-Aufgaben, einschließlich visueller Grundlagen, visueller Fragebeantwortung und visueller Argumentation.

Wie klassifiziert Vision Transformer Bilder?

Bevor wir uns mit der Funktionsweise von Vision Transformers befassen, müssen wir die Grundlagen der Aufmerksamkeit und der Mehrkopfaufmerksamkeit im ursprünglichen Transformer verstehen.

Transformer ist ein Modell, das einen Mechanismus namens Selbstaufmerksamkeit verwendet, der weder CNN noch LSTM ist. Es erstellt ein Transformer-Modell und übertrifft diese Methoden deutlich.

Der Aufmerksamkeitsmechanismus des Transformer-Modells verwendet drei Variablen: Q (Abfrage), K (Schlüssel) und V (Wert). Einfach ausgedrückt berechnet es die Aufmerksamkeitsgewichtung eines Abfrage-Tokens und eines Schlüssel-Tokens und multipliziert den mit jedem Schlüssel verknüpften Wert. Das heißt, das Transformer-Modell berechnet die Zuordnung (Aufmerksamkeitsgewichtung) zwischen Abfrage-Token und Schlüssel-Token und multipliziert den mit jedem Schlüssel verknüpften Wert.

Definieren Sie Q, K, V so, dass sie als einzelner Kopf berechnet werden. Im Mehrkopf-Aufmerksamkeitsmechanismus hat jeder Kopf seine eigene Projektionsmatrix W_i^Q, W_i^K, W_i^V, und sie berechnen die Projektion Verwendung dieser Matrizen bzw. Aufmerksamkeitsgewichte für Merkmalswerte.

Der Mehrkopf-Aufmerksamkeitsmechanismus ermöglicht es, sich jedes Mal auf unterschiedliche Weise auf verschiedene Teile der Sequenz zu konzentrieren. Das bedeutet:

Das Modell kann Positionsinformationen besser erfassen, da sich jeder Kopf auf einen anderen Teil der Eingabe konzentriert. Ihre Kombination sorgt für eine kraftvollere Darstellung.

Jeder Header erfasst auch unterschiedliche Kontextinformationen über eindeutig zugeordnete Wörter.

Da wir nun den Funktionsmechanismus des Transformer-Modells kennen, werfen wir einen Blick zurück auf das Vision Transformer-Modell.

Vision Transformer ist ein im Oktober 2020 vorgeschlagenes Modell, das Transformer auf Bildklassifizierungsaufgaben anwendet. Die Modellarchitektur ist nahezu identisch mit der des ursprünglichen Transformers, wodurch Bilder wie bei der Verarbeitung natürlicher Sprache als Eingabe behandelt werden können.

Das Vision Transformer-Modell verwendet Transformer Encoder als Basismodell, um Merkmale aus Bildern zu extrahieren, und übergibt diese verarbeiteten Merkmale zur Klassifizierung an das Multi-Layer-Perceptron-Kopfmodell (MLP). Da die Rechenlast des Basismodells Transformer bereits sehr groß ist, zerlegt der Vision Transformer das Bild in quadratische Blöcke als leichten „Fenster“-Aufmerksamkeitsmechanismus, um solche Probleme zu lösen.

Das Bild wird dann in quadratische Patches umgewandelt, die abgeflacht und durch eine einzelne Feedforward-Ebene geschickt werden, um eine lineare Patch-Projektion zu erhalten. Um die Klassifizierung von Bits zu erleichtern, indem lernbare Klasseneinbettungen mit anderen Patch-Projektionen verkettet werden.

Zusammenfassend bilden diese Patch-Projektionen und Positionseinbettungen eine größere Matrix, die bald durch den Transformer-Encoder geleitet wird. Die Ausgabe des Transformer-Encoders wird dann zur Bildklassifizierung an das mehrschichtige Perzeptron gesendet. Die Eingabefunktionen erfassen das Wesentliche des Bildes sehr gut, wodurch die Klassifizierungsaufgabe des MLP-Kopfs erheblich vereinfacht wird.

Leistungsbenchmark-Vergleich von ViT vs. ResNet vs. MobileNet

Während ViT ein hervorragendes Potenzial beim Erlernen hochwertiger Bildfunktionen aufweist, leidet es unter schlechter Leistung und Genauigkeitssteigerungen. Die geringfügige Verbesserung der Genauigkeit rechtfertigt nicht die schlechtere Laufzeit von ViT.

Bezogen auf das Vision Transformer-Modell

  • Fein abgestimmter Code und vorab trainiertes Vision Transformer-Modell sind auf GitHub von Google Research verfügbar.
  • Das Vision Transformer-Modell ist auf ImageNet- und ImageNet-21k-Datensätzen vorab trainiert.
  • Das Vision Transformer (ViT)-Modell wurde in einem Konferenzforschungspapier mit dem Titel „An Image is Worth 16*16 Words: Transformers for Image Recognition at Scale“ vorgestellt, das auf der ICLR 2021 veröffentlicht wurde.

Das obige ist der detaillierte Inhalt vonEingehende Analyse der Funktionsprinzipien und Eigenschaften des Vision Transformer (VIT)-Modells. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:163.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen