Netzwerkpruning durch suchbare transformierbare Architektur

Das Netzwerkpruning reduziert die Rechenkosten eines überparametrisierten Netzes ohne Leistungsverlust. Gängige Pruning-Algorithmen definieren im Voraus die Breite und Tiefe der geprünten Netze und transferieren dann Parameter vom ungeprünten zum geprünten Netz. Um die Strukturbeschränkungen der geprünten Netze zu überwinden, schlagen wir vor, die neuronale Architektursuche direkt auf ein Netzwerk mit flexiblen Kanal- und Schichtgrößen anzuwenden. Die Anzahl der Kanäle/Schichten wird durch Minimierung des Verlusts der geprünten Netze gelernt. Das Feature Map des geprünten Netzes ist eine Aggregation von K Feature Map-Fragmenten (von K Netzen unterschiedlicher Größen generiert), die auf Basis einer Wahrscheinlichkeitsverteilung ausgewählt werden. Der Verlust kann nicht nur in die Netzwerkgewichte, sondern auch in die parametrisierte Verteilung zurückpropagiert werden, um die Größe der Kanäle/Schichten explizit anzupassen. Insbesondere wenden wir eine kanalweise Interpolation an, um das Feature Map mit unterschiedlichen Kanalgrößen während des Aggregationsprozesses auszurichten. Die maximale Wahrscheinlichkeit für die Größe in jeder Verteilung dient als Breite und Tiefe des geprünten Netzes, dessen Parameter durch Wissensübertragung, z.B. Wissensdistillierung, aus den ursprünglichen Netzen gelernt werden. Experimente auf CIFAR-10, CIFAR-100 und ImageNet zeigen die Effektivität unserer neuen Perspektive des Netzwerkprunings im Vergleich zu traditionellen Pruning-Algorithmen. Verschiedene Such- und Wissensübertragungsansätze wurden durchgeführt, um die Effektivität der beiden Komponenten zu demonstrieren. Der Quellcode befindet sich unter: https://github.com/D-X-Y/NAS-Projects.