ScaDS Logo

CENTER FOR
SCALABLE DATA ANALYTICS
AND ARTIFICIAL INTELLIGENCE

Wer ist Schroeder? Finde es heraus! 🎥 

by Peter Winkler & Norman Koch

 Hintergrund:
  • Sowohl klassische Simulationsmethoden als auch Neuronale Netze besitzen eine Vielzahl von Hyperparametern,
    die Genauigkeit, Effizienz und Übertragbarkeit der Methode maßgeblich bestimmen.
  • Bei klassischen Simulationen werden die Hyperparameter üblicherweise durch Anpassung an Messwerte bestimmt.
  • Bei Neuronalen Netzen bestimmen die Hyperparameter Netzstruktur, Datenfluss, Aktivierungsfunktionen,
    Optimierungsalgorithmen, etc.
  • Die gängigen Methoden um Hyperparameter zu bestimmen sind intuitives Probieren,
    Grid Search oder Random Search.
Motivation:
  • Omniopt soll für eine breite Klassen von Problemen (sowohl klassische Simulationen als auch Neuronale Netze) anwendbar sein.
  • Die Hyperparameter werden mit einem parallelisierbaren stochastischen Minimierungsalgorithmus (TPE) bestimmt,
    wobei die GPUs des HPC Systems Taurus verwendet werden.
  • Nutzende sollen dafür ihr Anwendung als »black box« zu Verfügung stellen, sowie eine Zielfunktion, der das Ergebnis möglichst nahe kommen soll.
Funktionsweise: 
  • In einer .ini-Datei, werden die zu optimierenden Hyperparameter (z. B. Anzahl Epochen, Anzahl Hidden Layers, Batch-Sizes, . . . )
    bestimt sowie ihre Parametergrenzen (Minimum, Maximum) angegeben. 👉 Konfigurationsdatei erzeugen
  • Die Anzahl der Hyperparameter ist dabei im Prinzip beliebig. In der Praxis werden aktuell bis zu zehn Parameter empfohlen (weitere Tests erforderlich).
  • Der Bayes’sche stochastische Optimierungsalgorithmus TPE berechnet pro Optimierungsschritt die Zielfunktionen
    für eine Schar von Parameterverteilungen im Parameterraum.
  • Der Nutzende muss eine Version seines Programms zur Verfügung stellen, die die Werte der zu optimierenden
    Hyperparameter einliest und die Zielfunktion ausgibt.
  • Bei Neuronalen Netzen kann als Zielfunktion entweder der Loss oder eine andere (anschaulichere) Größe (z. B. F1 measure) verwendet.
  • Parallelisierung und Verteilung der Rechnungen auf den GPUs des Taurus erfolgt automatisch.
Besonderheiten:
  • Während das Programm optimiert, ist kein weiterer Eingriff erforderlich.
  • Man kann live in der Konsole den aktuellen Stdout verfolgen.
  • Der Overhead von Omniopt ist minimal und praktisch kaum spürbar.
  • Omniopt ist robust, es überprüft und installiert alle Abhängigkeiten automatisch
    und behebt viele Probleme im Hintergrund, ohne dass man überhaupt merkt, dass sie aufgetreten sind. 

Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! uns für weitere Informationen! 

Quellen:
  • Bergstra, J., Yamins, D., Cox, D. D. (2013) Making a Science of Model
    Search: Hyperparameter Optimization in Hundreds of Dimensions for Vision
    Architectures. TProc. of the 30th International Conference on Machine
    Learning (ICML 2013), June 2013, pp. I-115 to I-23.
    https://github.com/hyperopt/hyperopt
  • OpenMoji License: CC BY-SA 4.0