Neuronale Architektur Suche nach effizienten rekurrenten Netzen für TinyML

  • Forschungsthema:Neural Architecture Search, TinyML, Recurrent Neural Networks
  • Typ:Masterarbeit
  • Betreuung:

    Dipl. Ing. Alexey Serdyuk

Neural Architecture Search of efficient Recurrent Networks for TinyML

Alexey Serdyuk

Kontext

TinyML ist ein Zweig des maschinellen Lernens, der sich auf die Erstellung von Modellen konzentriert, die klein genug sind, um auf stromsparenden, ressourcenbeschränkten Geräten wie Mikrocontrollern und Edge Devices zu funktionieren. TinyML ermöglicht eine breite Palette von Anwendungen, die eine Echtzeitreaktion und Energieeffizienz erfordern, wie z. B. die ständige Erkennung von visuellen und akustischen Weckwörtern, die vorausschauende Wartung von Industriemaschinen, die Trägheitsnavigation sowie die Erfassung und Erkennung von Handschriften auf Geräten. Die Ausführung neuronaler Netze auf winzigen Geräten ist jedoch aufgrund der extrem begrenzten Rechenressourcen, des verfügbaren Speichers und des Energiebudgets eine sehr schwierige Aufgabe. Rekurrente neuronale Netze sind eine typische Wahl für die geräteinterne Verarbeitung von Zeitserien. Obwohl die meisten modernen neuronalen Netzarchitekturen Feed-Forward sind, haben rekurrente neuronale Netze in der Regel einen kleineren RAM-Speicherbedarf als Faltungsnetze, wodurch sie sich perfekt für kleine Geräte eignen. Allerdings erfordern auch rekurrente Architekturen einen zusätzlichen Aufwand, um sie an spezifische Hardware anzupassen, was die Optimierung der Hyperparameter und der Netzwerkarchitektur einschließt. Diese Arbeit zielt darauf ab, die Methodik der hardwarebewussten neuronalen Architektursuche (NAS) für rekurrente neuronale Netze zu untersuchen.

Ziele 

In dieser Arbeit wird der Stand der Technik im Bereich der hardwarenahen NAS für Zeitreihenregressions- und Klassifikationsnetze erforscht. Basierend auf der Analyse der existierenden NAS-Ansätze für Faltungsneuronale Netze wird die Methodik für die hardwarebewusste Suche nach rekurrenten Neuronalen Netzen entwickelt. Anschließend wird die Architektursuche an einer Auswahl von synthetischen und realen Anwendungsdatensätzen durchgeführt. Schließlich werden die gefundenen Architekturen auf Mikrocontroller-basierten Plattformen eingesetzt und bewertet.

Voraussetzungen 

  • Erfahrung mit Deep Learning und einem der DL-Frameworks wie PyTorch oder Keras/TensorFlow
  • Erfahrung mit Python und C++
  • Motivation und selbständige Arbeitsweise