Deep Learning Optimizer

Was ist der EYYES Deep Learning Optimizer?

Der Deep Learning Optimizer ist ein Service zur Optimierung von neuronalen Netzen. Neuronale Netze benötigen im Einsatz viel Speicher und Rechenleistung. Für viele Anwendungen, speziell im Embedded Systems Bereich, stellte dies lange Zeit eine Hürde dar. Heute kann durch den gezielten Einsatz von arithmetischen und topologischen Optimierungsverfahren wie Quantisierung und Pruning die Komplexität (für gewöhnlich) um ein Vielfaches verringert werden ohne negative Auswirkungen auf die Qualität.

Optimierung – Batchnorm Fusion

Für das Training des Neuronalen Netzes werden zusätzliche Layer im Neuronalen Netz benötigt. Diese Trainingslayer können in einem Optimierungsschritt mit den eigentlichen Layern des Neuronalen Netzes fusioniert werden. Somit kann die Komplexität des Neuronalen Netzes und die Anzahl der notwendige Speicherzugriffe reduziert werden.

  • Dieser Optimierungsschritt hat keine Auswirkungen auf die Qualität, da die fusionierten Convolution Layer und äquivalent zu den Convolution Layer und Batchnormalization Sub Layern sind.

Optimierung – Filter Pruning

Durch das Entfernen von einzelnen Convolution Filtern mit keinem oder geringem Einfluss auf die Detektionsqualität kann die Gesamtanzahl an Parametern und benötigten Operationen bis zu 15% reduziert werden.

  • Dieser optionale Optimierungsschritt verändert die Qualität des CNNs nur in äußerst geringen Maße. Der maximale Qualitätsverlust kann zu Beginn des Pruningverfahrens festgelegt werden.

Quantisierung

Die Umstellung der Arithmetik des Neuronalen Netzes von Fließkommaarithmetik auf Festkommaarithmetik ist notwendig, da die Hardwareressourcen hinsichtlich Fließkommaoperationen begrenzt sind. Berechnungen im Festkommaformat können deutlich schneller verarbeitet werden.

  • Das von EYYES entwickelte Quantisierungsverfahren setzt den Fokus auf Geschwindigkeit sowie Genauigkeit und ermöglicht die Portierung der CNNs auf den EYYES Deep Learning IP Core.

Nutzen und Vorteil des Optimizers

Durch die Optimierung von neuronalen Netzen kann günstigere oder energieeffizientere Hardware für die Anwendung eingesetzt werden. Durch Post-Training-Optimization kann das kosten- und zeitintensive Model Training normal stattfinden:

  • Keine aufwendigen Experimente während des Trainingsvorgangs
  • Volle Konzentration auf die Qualität
  • Für die Optimierung werden keine zusätzlichen Bilddaten benötigt
  • 17-50% geringere Quantisierungsverluste