Verfahren zur Reduktion von neuronalen Netzen - Analyse und Automatisierung

Aus SDQ-Institutsseminar
Vortragende(r) Tobias Viehmann
Vortragstyp Masterarbeit
Betreuer(in) Victor Pankratius
Termin Fr 13. Dezember 2019
Vortragsmodus
Kurzfassung In den vergangenen Jahren sind vermehrt Anwendungen von Neuronalen Netzen (NN) entstanden. Ein aktuelles Problem ist der beachtliche Ressourcenbedarf an Speicher, Rechenkapazität oder Energie, den nicht nur die Trainingsphasen, sondern auch die Anwendungsphasen von neuronalen Netzen erfordern. Aus diesem Grund ist eine erfolgreiche Verbreitung von neuronalen Netzen auf ressourcenbeschränkten Plattformen mit geringer Leistung momentan noch mit zahlreichen Herausforderungen verbunden.

Die vorliegende Arbeit untersucht diese Problematik und stellt Techniken vor, wie vollständig trainierte neuronale Netze möglichst unter Erhaltung der Genauigkeit in der Anzahl ihrer Neuronen und Verbindungen reduziert werden können. Mithilfe von Experimenten in TensorFlow und Keras wird gezeigt, welche dieser Verfahren sich im Kontext von verschiedenen Praxisbeispielen eignen. Weiterhin beschreibt die Arbeit einen neuen Ansatz SNARE (Score-based Neural Architecture REduction) mit dem Ziel, eine Reduktion nicht nur auf einzelnen Schichten, sondern auf gesamten Netzwerken automatisiert durchzuführen. Die Tool-Implementierung von SNARE analysiert dazu zunächst die Struktur von trainierten Keras NNs mit TensorFlow Backend. Unter der Berücksichtigung von verschiedenen Kriterien wie dem FLOP-Beitrag werden anschließend iterativ Schichten ausgewählt, Reduktionsoperationen angewendet und durch erneutes Trainieren entstandene Fehler kompensiert.

Ergebnisse zeigen, dass SNARE auf einer LeNet5-Architektur bei einem Genauigkeitsverlust von 0,39% eine Parameterreduktion um den Faktor 35 erreicht. Zusätzlich erzielte SNARE auf einem NN zur Erkennung von menschlichen Bewegungen aus mobilen Sensordaten eine Reduktionsrate von 245 bei gleicher Genauigkeit.