Transformer in Transformer

Der Transformer ist eine neue Art von neuronalen Architekturen, die Eingabedaten mithilfe des Aufmerksamkeitsmechanismus in leistungsfähige Merkmale kodiert. Grundsätzlich teilen visuelle Transformers die Eingabebilder zunächst in mehrere lokale Patchs auf und berechnen anschließend sowohl deren Repräsentationen als auch deren Beziehungen zueinander. Da natürliche Bilder aufgrund ihrer hohen Komplexität reich an Details und Farbinformationen sind, ist die Granularität dieser Patch-Unterteilung nicht fein genug, um Merkmale von Objekten unterschiedlicher Skalen und Positionen effektiv zu extrahieren. In dieser Arbeit weisen wir darauf hin, dass auch die Aufmerksamkeit innerhalb dieser lokalen Patchs für die Entwicklung hochleistungsfähiger visueller Transformer von entscheidender Bedeutung ist, und untersuchen eine neue Architektur namens Transformer iN Transformer (TNT). Konkret betrachten wir die lokalen Patchs (z. B. 16×16) als „visuelle Sätze“ und teilen sie weiter in kleinere Patchs (z. B. 4×4) als „visuelle Wörter“ auf. Die Aufmerksamkeit jedes Wortes wird dann mit den anderen Wörtern innerhalb des jeweiligen visuellen Satzes mit vernachlässigbarem Rechenaufwand berechnet. Merkmale sowohl der Wörter als auch der Sätze werden zusammengefasst, um die Repräsentationsfähigkeit zu verbessern. Experimente an mehreren Benchmarks belegen die Wirksamkeit der vorgeschlagenen TNT-Architektur: So erreichen wir eine Top-1-Accuracy von 81,5 % auf ImageNet, was etwa 1,7 Prozentpunkte über der Leistung des derzeit besten visuellen Transformers mit vergleichbarem Rechenaufwand liegt. Der PyTorch-Code ist verfügbar unter https://github.com/huawei-noah/CV-Backbones, und der MindSpore-Code unter https://gitee.com/mindspore/models/tree/master/research/cv/TNT.