Poly-NL: Lineare Komplexität Nicht-lokale Schichten mit Polynomen

Raumbezogene Selbst-Attention-Schichten in Form von Non-Local-Blöcken führen in Convolutional Neural Networks langreichweitige Abhängigkeiten ein, indem sie paarweise Ähnlichkeiten zwischen allen möglichen Positionen berechnen. Solche paarweisen Funktionen liegen der Wirksamkeit von Non-Local-Schichten zugrunde, bestimmen jedoch auch eine Komplexität, die bezüglich der Eingabegröße sowohl im Raum als auch in der Zeit quadratisch ansteigt. Dies stellt einen erheblich einschränkenden Faktor dar, der die praktische Anwendbarkeit von Non-Local-Blöcken bereits bei mittelgroßen Eingaben erheblich behindert. Bisherige Arbeiten konzentrierten sich darauf, die Komplexität durch Modifikation der zugrundeliegenden Matrixoperationen zu reduzieren. In dieser Arbeit zielen wir jedoch darauf ab, die volle Ausdruckskraft von Non-Local-Schichten beizubehalten, während gleichzeitig die Komplexität linear gehalten wird. Wir überwinden die Effizienzbeschränkung von Non-Local-Blöcken, indem wir diese als Spezialfälle von Polynomfunktionen dritten Grades interpretieren. Diese Erkenntnis ermöglicht es uns, neuartige schnelle Non-Local-Blöcke zu formulieren, die die Komplexität von quadratisch auf linear reduzieren, ohne dabei an Leistung einzubüßen, indem jede direkte Berechnung paarweiser Ähnlichkeiten durch elementweise Multiplikationen ersetzt wird. Die vorgeschlagene Methode, die wir als „Poly-NL“ bezeichnen, erreicht Leistungen, die mit den besten aktuellen Ansätzen bei Aufgaben der Bilderkennung, Instanzsegmentierung und Gesichtserkennung konkurrieren, und weist gleichzeitig erheblich geringeren Rechenaufwand auf.