20.08.2018

Ein Machine-Learning-Modell ist letztendlich nichts anderes als eine (meist umfangreiche) mathematische Funktion. Alle relevanten Daten für die Vorhersage – sogenannte Features – werden als Parameter hineingegeben, und als Ausgabe erhält man einen vorhergesagten Wert. Es könnte sich beispielsweise um ein Modell für die Vorhersage der Restlebensdauer einer Maschine handeln, abhängig von verfügbaren Sensordaten.

Während des Trainingsprozesses werden automatisch Gewichtungen innerhalb des Modells verändert, sodass es zunehmend in der Lage ist, die gewünschte Beziehung zwischen Features und Vorhersage herzustellen. Was allerdings während des Trainingsprozesses unverändert bleibt, ist die grundlegende Architektur des Modells: die Struktur der Modellfunktion. Diese wird üblicherweise durch eine Person mit entsprechender Kompetenz gewählt, wobei jede Modellarchitektur wiederum einen eigenen Satz Stellschrauben mit sich bringt. Zum Beispiel:

  • Neuronale Netze: Anzahl und Anordnung der Units und Hidden Layers
  • Lineare Regression: Polynomgrad der gewählten Funktion

Diese Stellschrauben, die über den Trainingsprozess hinweg gleich bleiben, werden Hyperparameter genannt. Die Menge aller Kombinationsmöglichkeiten der Hyperparameter werden auch als Parameterraum bezeichnet. Da die Hyperparameter großen Einfluss auf die Genauigkeit des Modells haben, ist ihre Optimierung ein wichtiger Schritt in der Modellentwicklung und kann erheblich dazu beitragen, die Vorhersagegenauigkeit zu verbessern. 

Schwierigkeiten der manuellen Optimierung

Der simpelste Weg der Optimierung ist das manuelle Ausprobieren verschiedener Konfigurationen. Dieser stößt bei komplexeren Modellen allerdings schnell an seine Grenzen, wenn lange Trainingszeiten und -kosten nur eine begrenzte Anzahl von Versuchen ermöglichen. Zusätzlich dazu kann die Fachperson durch die resultierend langsame Feedbackschleife nur sehr bruchstückhaft an der Optimierung arbeiten.

Wie automatisierte Optimierung helfen kann

Automatisiertes Hyperparameter Tuning besitzt das Potenzial, annähernd optimale Konfigurationen im Parameterraum zu finden. Dabei werden Trainingsprozess und Modellarchitektur als Black Box angesehen, die mit einer spezifischen Hyperparameter-Konfiguration ausgeführt wird und die resultierende Modellgenauigkeit ausgibt. Um die Anzahl der Trainingsdurchläufe zu minimieren, werden typischerweise stochastische Methoden (Gauß-Prozesse / Bayes’sche Optimierung) verwendet, welche versuchen, gleichzeitig den Parameterraum zu erkunden und sich iterativ einem Optimum zu nähern.

Durch das Minimieren der Trainingsdurchläufe werden demnach Zeit und Rechenkosten gespart. Die Fachperson erhält die finalen Ergebnisse meist schneller und muss sich während der Optimierung nicht mit dem Prozess beschäftigen. 

Möglichkeiten der Durchführung

Es gibt eine Reihe an Open Source Software, die das Hyperparameter Tuning erleichtert. Populäre Kandidaten sind hier Ray Tune oder Talos. Darüber hinaus können eigene Lösungen implementiert werden, indem quelloffene Bibliotheken für Gauß-Prozesse genutzt werden (z. B. BayesianOptimization).

Jedoch bieten die meisten Cloud-Provider verwaltete Lösungen in ihren Machine-Learning-Diensten an. So erlaubt beispielsweise die ML Engine der Google Cloud Platform das Ausführen eines Hyperparameter Tunings für eigene Modelldefinitionen über eine kompakte Konfigurationsdatei. Falls für das Training des Modells bereits Cloud-Ressourcen verwendet werden, kann hier oft ohne großen Aufwand ein Mehrwert erzielt werden. Wenn eine hohe Vorhersagegenauigkeit das Ziel ist, lohnt sich ein automatisiertes Hyperparameter Tuning meist in jedem Fall.

Sie wollen mit Hyperparameter Tuning die Genauigkeit Ihrer Modelle optimieren? Wir beraten Sie gerne.