HyperAIHyperAI
vor einem Monat

PackNet: Hinzufügen mehrerer Aufgaben zu einem einzelnen Netzwerk durch iteratives Pruning

Arun Mallya; Svetlana Lazebnik
PackNet: Hinzufügen mehrerer Aufgaben zu einem einzelnen Netzwerk durch iteratives Pruning
Abstract

Dieses Papier stellt eine Methode vor, mit der mehrere Aufgaben einem einzelnen tiefen neuronalen Netzwerk hinzugefügt werden können, ohne dass es zu katastrophalischem Vergessen kommt. Inspiriert von Techniken zur Netzwerkkürzung nutzen wir Redundanzen in großen tiefen Netzen, um Parameter freizugeben, die dann für das Lernen neuer Aufgaben eingesetzt werden können. Durch iteratives Kürzen und erneutes Trainieren des Netzwerks gelingt es uns, sequentiell mehrere Aufgaben in ein einzelnes Netzwerk zu "verpacken" (pack), wobei wir einen minimalen Leistungsverlust und minimales Speicheroverhead sicherstellen. Im Gegensatz zu früheren Arbeiten, die Proxy-Verlustfunktionen verwenden, um die Genauigkeit bei älteren Aufgaben aufrechtzuerhalten, optimieren wir stets für die aktuelle Aufgabe. Wir führen umfangreiche Experimente an einer Vielzahl von Netzarchitekturen und großen Datensätzen durch und beobachten eine viel größere Robustheit gegen katastrophales Vergessen als in früheren Arbeiten. Insbesondere gelingt es uns, drei feingranulare Klassifizierungsaufgaben einem einzigen VGG-16-Netzwerk, das auf ImageNet trainiert wurde, hinzuzufügen und Genauigkeiten nahe an denen von jeweils separat trainierten Netzwerken für jede Aufgabe zu erreichen. Der Quellcode ist unter https://github.com/arunmallya/packnet verfügbar.