Rezension des Artikels Visual Transformers - ein neuer Ansatz zum Trainieren von Computer Vision-Modellen basierend auf visuellen Token

Diese Arbeit ist interessant, weil die Autoren einen neuen Ansatz zum Trainieren von Modellen in Bildern vorschlagen - um nicht nur Pixel und Windungen zu verwenden, sondern auch Bilder in Form von visuellen Token darzustellen und Transformatoren darauf zu trainieren. Im Vergleich zur Verwendung einer einfachen ResNet-Architektur reduziert der vorgeschlagene Ansatz die MAC (Multiplikations- und Akkumulationsoperationen) um das 6,9-fache und erhöht die Top-1-Genauigkeit beim ImageNet-Klassifizierungsproblem um 4,53 Punkte.



Bild



Motivationsansatz



Der allgemein akzeptierte Ansatz für Computer-Vision-Aufgaben besteht darin, Bilder als 3D-Array (Höhe, Breite, Anzahl der Kanäle) zu verwenden und Windungen auf sie anzuwenden. Dieser Ansatz hat mehrere Nachteile:



  • Nicht alle Pixel sind gleich. Wenn wir beispielsweise eine Klassifizierungsaufgabe haben, ist das Objekt selbst für uns wichtiger als der Hintergrund. Es ist interessant, dass die Autoren nicht sagen, dass Aufmerksamkeit bereits bei Computer-Vision-Aufgaben verwendet wird.
  • Faltungen funktionieren mit Pixeln, die weit voneinander entfernt sind, nicht gut genug. Es gibt Ansätze mit erweiterten Windungen und globalem Durchschnittspooling, aber sie lösen das Problem selbst nicht.
  • Faltungen sind in sehr tiefen neuronalen Netzen nicht effizient genug.


Infolgedessen schlagen die Autoren Folgendes vor: Konvertieren Sie Bilder in visuelle Token und senden Sie sie an den Transformator.



Bild



  • Zunächst wird ein reguläres Backbone verwendet, um Feature-Maps abzurufen
  • Als Nächstes wird die Feature-Map in visuelle Token konvertiert
  • Token werden Transformatoren zugeführt
  • Der Transformatorausgang kann für Klassifizierungsprobleme verwendet werden
  • Wenn Sie den Ausgang des Transformators mit einer Feature-Map kombinieren, können Sie Vorhersagen für Segmentierungsaufgaben erhalten


Unter den Arbeiten in ähnlichen Richtungen erwähnen die Autoren immer noch Aufmerksamkeit, beachten jedoch, dass Aufmerksamkeit normalerweise auf Pixel angewendet wird, was die Rechenkomplexität erheblich erhöht. Sie sprechen auch über Arbeiten zur Verbesserung der Effizienz neuronaler Netze, glauben jedoch, dass sie in den letzten Jahren immer weniger Verbesserungen erzielt haben, weshalb nach anderen Ansätzen gesucht werden muss.



Visueller Transformator



Schauen wir uns nun genauer an, wie das Modell funktioniert.



Wie oben erwähnt, verfügen die Backbone-Abrufe über Karten, die an die visuellen Transformatorschichten übergeben werden.



Jeder visuelle Transformator besteht aus drei Teilen: einem Tokenizer, einem Transformator und einem Projektor.



Tokenizer



Bild



Der Tokenizer ruft visuelle Token ab. Tatsächlich nehmen wir eine Feature-Map, führen eine Umformung in (H * W, C) durch und daraus erhalten wir Token. Die



Bild



Visualisierung der Koeffizienten für Token sieht folgendermaßen aus:



Bild



Positionscodierung



Wie üblich benötigen Transformatoren nicht nur Token, sondern auch Informationen über ihre Position.



Bild



Zuerst machen wir ein Downsample, dann multiplizieren wir mit den Trainingsgewichten und verketten mit Token. Um die Anzahl der Kanäle anzupassen, können Sie eine 1D-Faltung hinzufügen.



Transformator



Schließlich der Transformator selbst.



Bild



Kombinieren von visuellen Token und Feature-Map



Das macht Projektor.



Bild



Bild



Dynamische Tokenisierung



Nach der ersten Schicht von Transformatoren können wir nicht nur neue visuelle Token extrahieren, sondern auch diejenigen verwenden, die aus den vorherigen Schritten extrahiert wurden. Trainierte Gewichte werden verwendet, um sie zu kombinieren:



Bild



Verwenden visueller Transformatoren zum Erstellen von Computer-Vision-Modellen



Darüber hinaus beschreiben die Autoren, wie das Modell auf Computer-Vision-Probleme angewendet wird. Transformatorblöcke haben drei Hyperparameter: die Anzahl der Kanäle in der Merkmalskarte C, die Anzahl der Kanäle im visuellen Token Ct und die Anzahl der visuellen Token L.



Wenn sich die Anzahl der Kanäle beim Umschalten zwischen den Blöcken des Modells als ungeeignet herausstellt, werden 1D- und 2D-Faltungen verwendet, um die erforderliche Anzahl von Kanälen zu erhalten.

Verwenden Sie Gruppenfaltungen, um Berechnungen zu beschleunigen und die Größe des Modells zu verringern.

Die Autoren fügen dem Artikel ** Pseudocode ** -Blöcke hinzu. Der vollwertige Code wird voraussichtlich in Zukunft veröffentlicht.



Bildklassifizierung



Wir nehmen ResNet und erstellen darauf basierend Visual-Transformator-ResNets (VT-ResNet).

Wir verlassen die Stufe 1-4, setzen aber anstelle der letzten visuelle Transformatoren ein.



Backbone-Exit - 14 x 14 Feature Map, Anzahl der Kanäle 512 oder 1024 je nach VT-ResNet-Tiefe. Aus der Feature-Map werden 8 visuelle Token für 1024 Kanäle erstellt. Der Ausgang des Transformators geht zur Klassifizierung an den Kopf.



Bild



Semantische Segmentierung



Für diese Aufgabe wird das panoptische Feature-Pyramid-Netzwerk (FPN) als Basismodell verwendet.



Bild



In FPN arbeiten Faltungen mit hochauflösenden Bildern, sodass das Modell schwer ist. Die Autoren ersetzen diese Operationen durch einen visuellen Transformator. Wieder 8 Token und 1024 Kanäle.



Experimente



ImageNet-Klassifizierung



Trainieren Sie 400 Epochen mit RMSProp. Sie beginnen mit einer Lernrate von 0,01, steigen während 5 Aufwärmphasen auf 0,16 und multiplizieren dann jede Epoche mit 0,9875. Chargennormalisierung und Chargengröße 2048 werden verwendet: Etikettenglättung, AutoAugment, stochastische Tiefenüberlebenswahrscheinlichkeit 0,9, Ausfall 0,2, EMA 0,99985.



So viele Experimente musste ich durchführen, um all dies zu finden ...



In dieser Grafik sehen Sie, dass der Ansatz eine höhere Qualität mit einer reduzierten Anzahl von Berechnungen und der Größe des Modells ergibt. Artikeltitel



Bild



Bild



für verglichene Modelle:



ResNet + CBAM - Faltungsblock-Aufmerksamkeitsmodul

ResNet + SE - Quetsch- und Anregungsnetzwerke

LR-ResNet - Lokale Beziehungsnetzwerke zur Bilderkennung

StandAlone - Eigenständige Selbstaufmerksamkeit in

Bildverarbeitungsmodellen AA-ResNet - Aufmerksamkeitsverstärkte Faltungsnetzwerke

SAN - Erkundung der Selbstaufmerksamkeit für die Bilderkennung



Ablationsstudie



Um die Experimente zu beschleunigen, haben wir VT-ResNet- {18, 34} genommen und 90 Epochen trainiert.



Bild



Die Verwendung von Transformatoren anstelle von Windungen bietet den größten Gewinn. Die dynamische Tokenisierung anstelle der statischen Tokenisierung gibt ebenfalls einen großen Schub. Die Positionscodierung verbessert sich nur geringfügig.



Segmentierungsergebnisse



Bild



Wie Sie sehen können, ist die Metrik nur geringfügig gewachsen, aber das Modell verbraucht 6,5-mal weniger MAC.



Mögliche Zukunft des Ansatzes



Experimente haben gezeigt, dass der vorgeschlagene Ansatz es ermöglicht, effizientere Modelle (in Bezug auf die Rechenkosten) zu erstellen, die gleichzeitig eine bessere Qualität erzielen. Die vorgeschlagene Architektur funktioniert erfolgreich für verschiedene Aufgaben der Computer Vision, und es besteht die Hoffnung, dass ihre Anwendung dazu beitragen wird, Systeme mit Comuter Vision zu verbessern - AR / VR, autonome Autos und andere.



Die Überprüfung wurde von Andrey Lukyanenko, dem führenden Entwickler von MTS, vorbereitet.



All Articles