Institut für Technik der Informationsverarbeitung (ITIV)

Optimierung eines Hardwarebeschleunigers für neuronale Netze mit Hilfe eines Learning Agents

Optimierung eines Hardwarebeschleunigers für neuronale Netze mit Hilfe eines Learning Agents

.
Optimierung von neuronalen Netzen mit Pruning
.
Unsere Test- und Implementierungsumgebung

Umfeld

In den letzten Jahren haben neuronale Netze insbesondere in der Bildverarbeitung vermehrt Einsatz gefunden. Auch wenn heutzutage die Daten verfügbar sind, fehlt es immer noch an rechenstarker Hardware. Aus diesem Grund wird von fast allen Institutionen an Hardwarebeschleunigern gearbeitet. Die aktuelle Herausforderung ist eine effiziente Ausführung der Berechnungen.

Am ITIV wird dazu an „Pruning“ geforscht, also dem Einsparen von Operationen, welche das Ergebnis nicht signifikant beeinflussen. Insbesondere die Frage nach den Faktoren welche nicht signifikant sind, bedarf noch viel Forschung. Dieses Thema soll im Rahmen dieser Arbeit betrachtet werden.

 

Aufgabe

Konkret soll in der Arbeit die o.g. Schwelle für das Pruning mit Hilfe eines sog. „Learning Agents“ gefunden werden. Dieser soll im Idealfall nach Metriken wie Performance und Ergebnis-Genauigkeit diese festlegen. Im ersten Schritt ist eine exemplarische Implementierung in Python mit Tensorflow / Keras angestrebt. Anschließend kann dies in einen Co-Design Prozess mit der Hardware integriert werden.

Dabei kann die Arbeit in die folgenden Teilschritte gegliedert werden:

  • Einarbeitung in das Aufgabenumfeld, neuronale Netze, Frameworks und Pruning
  • Entwicklung eines Konzepts und einer exemplarischen Implementierung
  • Test und Evaluation des Verfahrens
  • Ggf. Co-Design Prozess mit einer am ITIV bestehenden Hardware-Architektur

 

Voraussetzungen

  • Interesse an: Machine Learning und dem Verständnis auf einer tiefen Ebene
  • Kenntnisse in Python oder C/C++ werden vorausgesetzt, Vorkenntnisse in genereller Softwareentwicklung und Machine Learning sind von Vorteil