Nicht alle Patchs sind das, was Sie benötigen: Beschleunigung von Vision Transformatoren durch Token-Umorganisationen

Vision Transformers (ViTs) verwenden alle Bildsegmente als Token und bilden zwischen ihnen Multi-Head Self-Attention (MHSA). Die vollständige Nutzung dieser Bildtoken führt zu überflüssigen Berechnungen, da nicht alle Token in der MHSA aufmerksam sind. Beispiele hierfür sind Token, die semantisch bedeutungslose oder ablenkende Bildhintergründe enthalten, die nicht positiv zur Vorhersage des ViTs beitragen. In dieser Arbeit schlagen wir vor, die Bildtoken während des Feed-Forward-Prozesses von ViT-Modellen neu zu organisieren, was während des Trainings in den ViT integriert wird. Für jede Vorwärtsinferenz identifizieren wir die aufmerksamen Bildtoken zwischen den MHSA- und FFN-Modulen (d.h., dem Feed-Forward-Netzwerk), wobei dies durch die entsprechende Klassentoken-Aufmerksamkeit gesteuert wird. Anschließend organisieren wir die Bildtoken neu, indem wir die aufmerksamen Token beibehalten und die inaktiven Token fusionieren, um die nachfolgenden MHSA- und FFN-Berechnungen zu beschleunigen. Dadurch verbessert unsere Methode EViT die ViTs aus zwei Perspektiven. Erstens reduziert unsere Methode bei gleicher Anzahl an Eingabetoken die Berechnungskosten für MHSA und FFN, um eine effizientere Inferenz zu ermöglichen. Zum Beispiel steigert sich die Inferenzgeschwindigkeit von DeiT-S um 50%, während seine Erkennungsgenauigkeit für ImageNet-Klassifikation nur um 0,3% abnimmt. Zweitens ermöglicht unsere Methode bei gleichbleibenden Rechenkosten den ViTs, mehr Bildtoken als Eingabe zu verarbeiten, um die Erkennungsgenauigkeit zu erhöhen, wobei diese Token aus höheraufgelösten Bildern stammen. Ein Beispiel hierfür ist eine Steigerung der Erkennungsgenauigkeit von DeiT-S um 1% für ImageNet-Klassifikation bei denselben Rechenkosten wie ein unveränderter DeiT-S. Gleichzeitig führt unsere Methode keine zusätzlichen Parameter in den ViTs ein. Experimente mit Standardbenchmarks zeigen die Effektivität unserer Methode. Der Code ist unter https://github.com/youweiliang/evit verfügbar.