Hyperparameter Tuning for Machine Learning Model Optimization

Hyperparameter Tuning – Eine Frage der Einstellung

Tim Filzinger

Auch wenn maschinelles Lernen automatisierte Entscheidungen ermöglicht, gibt es bestimmte Eigenschaften der Modelle, die sie nicht selbstständig optimieren können. Genau diese sogenannten Hyperparameter nehmen jedoch erheblichen Einfluss auf die spätere Performance. Entwickler investieren daher viel Zeit und Energie, um von Beginn an die idealen Einstellungen festzulegen. Hyperparameter Tuning ist somit einer der wichtigsten Prozesse bei der Vorbereitung von KI-Projekten. Das gilt aber nur, wenn auch die Daten stimmen.

In dieser Hinsicht gibt es bedeutend mehr Wege, um die Modellgenauigkeit und -qualität zu optimieren. Das betrifft beispielsweise Feature Engineering oder Data Cleaning. Auch die konstante Einspeisung hochwertiger Daten durch menschliche Korrekturen (HITL) ist ein häufig angewandtes Konzept. Im Vergleich dazu zeichnet sich Hyperparameter Tuning durch die jeweils einmalige Durchführung aus. Die dabei getroffenen Entscheidungen erhalten somit besondere Tragweite.

Definition: Hyperparameter Tuning beschreibt die Suche nach der optimalen Anpassung eines Machine Learning Models vor dem Training.

Welche Hyperparameter gibt es?

Je komplexer eine Maschine, desto mehr Stellschrauben beeinflussen ihre Funktionsweise. Bei Machine Learning ist das nicht anders. Besonderes Augenmerk gilt vor allem jenen Faktoren, die kaum Spielraum für eine spätere Nachjustierung lassen. Nicht umsonst tragen diese Parameter das griechische Präfix “Hyper” – ihre Wichtigkeit steht über allen anderen. Einzige Ausnahme ist die zentrale Auswahl des Modelltyps, der zum geplanten Vorhaben passen muss, und bestimmt, welche Eigenschaften überhaupt beeinflussbar sind.

Folgende Hyperparameter können für nahezu jedes Machine Learning Model eine wichtige Rolle spielen:

Lernrate

Ein zentrales Konzept von maschinellem Lernen ist die iterative Wiederholung von Trainings-Prognosen, die eine (neuronale) Anpassung des Models zur Folge haben. Typischerweise findet dabei jeweils ein Abgleich mit einem festgelegten Zielwert statt, dem sich die Vorhersage annähern soll. Das führt letztlich zur Minimierung einer Verlustfunktion. Die Lernrate gibt die Schrittgröße dieser Optimierungen vor und nimmt damit Einfluss auf Geschwindigkeit und Effektivität des Trainings.

Batch Size

Dieser Hyperparameter beschreibt die Zahl der Samples bzw. Stichproben, die beim Training durchlaufen werden. Es handelt sich dabei um vordefinierte Teilmengen, sogenannte Batches, denen der Batch-Gradientenabstieg übergeordnet ist. Von diesem ist die Rede, wenn ein Lernalgorithmus das gesamte Data Set iteriert. Umfasst der Batch nur eine einzelne Stichprobe, spricht man vom stochastischen Gradientenabstieg. Dazwischen liegende Batch Sizes heißen Mini-Batch-Gradientenabstieg und umfassen häufig 32, 64 oder 128 Samples.

Epochen

Unabhängig von der Batch Size ist die Häufigkeit, in der dem Machine Learning Model das gesamte Data Set vorgelegt wird, von Bedeutung. Auch hier ist beim Tuning sorgfältig zwischen Anpassung und Generalisierbarkeit abzuwägen. Eine Epochen-Zahl von mehreren Hundert bis Tausend liegt im Bereich des Üblichen. Zu hohe Werte steigern die Performance beim Training lediglich auf Kosten eines möglichen Overfittings. Bei der Abwägung helfen Liniendiagramme oder Lernkurven, die Zeit und Anpassung des Models visualisieren.

Machine Learning curve of a neural network model
Allgemeine Lernkurve eines neuronalen Netzes. Quelle: Learning Curves in Machine Learning

Die derzeit leistungsfähigsten Modelle basieren auf Deep Learning und neuronalen Netzen. Hier sind zusätzlich zu den o.g. weitere, ausgewählte Hyperparameter relevant:

Anzahl der Schichten und Neuronen

Neuronale Netze sind in ihrer Funktionsweise stark von ihrem strukturellen Aufbau abhängig – man spricht dabei von Architektur. Denn auch wenn es sich eigentlich bloß um komplexe nichtlineare Funktionen handelt, lassen sie sich als räumliches Netz darstellen. Dieses baut auf die Zusammensetzung von Neuronenschichten auf, die mit steigender Anzahl und dichterer Vernetzung komplexere Berechnungen ermöglichen. Im Bereich des Natural Language Processing führt das beispielsweise zur Erfassung längerer Kontexte innerhalb natürlicher Sprache.

Regularisierung

Damit sind eine Reihe von Verfahren gemeint, die ebenfalls die Komplexität neuronaler Netze beeinflussen. Ziel ist jedoch deren vorübergehende Reduktion, um dadurch eine Überanpassung auf die Trainingsdaten, sogenanntes Overfitting, zu vermeiden. Das geschieht beispielsweise durch die L1- oder L2-Regularisierung, welche die Gewichte der Neuronen verringert, indem die Verlustfunktion angepasst wird. Beim Dropout erfolgt die Komplexitätsreduktion hingegen durch ein zufälliges Ausschlussverfahren einzelner Neuronen. Zwar ist Regularisierung von besonderer Bedeutung für neuronale Netze, die Anwendung auf andere Modelle ist unter bestimmten Umständen aber ebenfalls möglich.

Neben diesen eher allgemeinen Kategorien lassen sich einzelnen Algorithmen auch sehr spezielle Hyperparameter zuweisen:

Welche Techniken kommen zum Einsatz?

Es gibt grundsätzlich zwei verschiedene Vorgehensweisen, nach denen ein Hyperparameter Tuning vonstatten gehen kann: Beim manuellen Tuning erfolgen verschiedene Experimente unter Berücksichtigung abweichender Hyperparameter Settings. Ein Abgleich der jeweiligen Ergebnisse und Leistungsberichte führt schließlich zur Auswahl von Einstellungen. Ein typisches Beispiel ist die Manual Search, bei der Data Scientists intuitiv bzw. erfahrungsbasiert Werte auswählen und anpassen.

Das automatisierte Tuning zeichnet sich hingegen durch den Einsatz verschiedener Algorithmen aus, die eine optimale Kombination aus Hyperparametern berechnen sollen. Zumindest die Vorauswahl erfolgt hierbei allerdings ebenfalls manuell. Durch die Algorithmen ist der Grad der Kontrollierbarkeit etwas geringer, das gilt aber auch für den Zeit- und Aufwand. Besonders folgende Techniken eignen sich dafür:

Random Search

Der Name ist Programm. Aus einer vordefinierten, statistischen Verteilung für die einzelnen Hyperparameter erfolgt eine zufällige Auswahl von Werten. Daraus abgeleitete Konfigurationen dienen dem Training des Modells, das zugleich eine Bewertung durch verschiedene Evaluierungsmetriken durchläuft. Das bildet die Basis für kontinuierliche Anpassungen. Durch die Zufallsauswahl ist der Vorgang weniger rechenaufwendig als andere Methoden. Die Ergebnisse können sich dennoch sehen lassen.

Grid Search

Um möglichst viele Kombinationen unterschiedlicher Parameterwerte auszuprobieren, bietet sich deren Darstellung in einem Gitter (Grid) an. Dieses wird systematisch abgesucht, bis Einstellungen von der gewünschten Qualität identifiziert werden. Da die Verarbeitung eines vordefinierten bis gänzlich erschöpfenden Grids möglich ist, können besonders leistungsstarke Einstellungen generiert werden. Das geht allerdings auch mit einer entsprechenden Rechenintensität einher.

Bayesian Optimization

Diese Technik basiert auf dem Bayes-Theorem, das auch in Naive-Bayes-Klassifikatoren Anwendung findet. Grundannahme ist zunächst eine Zufallsfunktion, die sich kontinuierlich dem Optimum, also dem idealen Hyperparameter Setting annähern soll. Bei der Auswahl geeigneter Konfigurationen hilft eine Akquisitionsfunktion, die zwischen Exploration und Nutzung des Suchraums abwägt. Iterative Bewertungen der funktionellen Performance produzieren dabei Daten, die für die Anpassungen des Wahrscheinlichkeitsmodells genutzt werden.

Evolutionsoptimierung

Sogenannte evolutionäre Algorithmen sind von darwinistischen Prinzipien inspiriert und eignen sich damit besonders für Optimierungsprobleme. Bei der Anwendung auf Hyperparameter Tuning bilden die Programme Populationen von möglichen Einstellungen. Durch Mutation, Kombination und Selektion entsteht anschließend ein schrittweise verbessertes Hyperparameter Set. Konfigurationen, die nicht der vorher festgelegten Fitness entsprechen, werden hingegen sukzessive aussortiert.

Mit Cross Validation die Performance bewerten

Beim Hyperparameter Tuning besteht die komplexeste Frage in der Entscheidung für eine bestimmte Modellanpassung. Teil des Vorgangs ist neben den dargestellten Techniken daher auch der Vergleich verschiedener Konfigurationen, um die Model Performance für ungesehene Daten zu bewerten. Ein Overfitting würde die spätere Genauigkeit und Flexibilität negativ beeinflussen. Um das zu vermeiden, kommt oftmals die Resampling-Technik Cross Validation zum Einsatz. Das verwendete Data Set wird dabei so transformiert, dass es neuartigen Daten nahekommt. 

Typischerweise geschieht das durch ein Splitting in k (Anzahl) verschiedene Teilmengen (k-folds). Auf jedes Fold wird das Model abwechselnd trainiert und mit einem separaten Set zur Validierung abgeglichen. Zur Bewertung der Performance dienen letztlich iterative Durchschnittswerte von Metriken wie dem F1-Score. Der Vorgang lässt sich für beliebig viele Hyperparameter Einstellungen wiederholen. Erst wenn die Data Scientists und Machine Learning Experts zufrieden mit den Ergebnissen sind, ist das Model bereit für die eigentliche Trainingsphase mit einem größeren Datensatz.

fold values in cross validation
Verteilung von Trainings- und Validierungssets. k=5 oder 10 Folds gelten als üblich. Quelle: Cross-validation

Herausforderungen

Bei Hyperparameter Tuning handelt es sich um einen äußerst komplexen Vorgang, der spezialisierte Algorithmen und ein hohes Maß an Expertise bei deren Auswahl und Anwendung erfordert. Selbst erfahrene Data Scientists stoßen dabei regelmäßig auf bedeutende Herausforderungen. Dazu gehört mit der Abwägung zwischen Anpassung und Generalisierbarkeit erneut das typische Kernproblem von Machine Learning.

challenges of hyperparameter tuning before training

Overfitting und Overengineering

Bei all den unzähligen Anpassungsmöglichkeiten, kann es leicht passieren, dass man es mit dem Tuning übertreibt. Das hemmt auf zweierlei Arten die Generalisierbarkeit: Zum einen kann durch zu viele Iterationen eine Überanpassung auf ein kleines Data Set oder gar Fold erfolgen. Andererseits führen auch zu ausdifferenzierte Einstellungen zu verminderter Flexibilität in der späteren Anwendung. Eine eigenständige Überwindung hinderlicher Hyperparameter durch das Model selbst ist per Definition nicht möglich.

Suchraum und Ressourcen

Die Berechnungen sind bei vielen der eingesetzten Techniken mit einem großen Bedarf an Rechenleistung verbunden. Dieser steigt linear zu der Größe des analysierten Suchraums, der wiederum die Qualität der Ergebnisse mitbestimmt. Das ist der Grund, warum z. B. Grid Search mit der umfangreichen Gitterdarstellung eine hocheffektive, aber auch teure Technik ist. Manual oder Random Search haben hingegen so ziemlich das beste “Preis-Leistungs-Verhältnis”.

Abhängigkeiten

Viele Hyperparameter lassen sich nicht komplett differenziert betrachten und optimieren. Stattdessen kommt es oft zu gegenseitiger Beeinflussung, wenn versucht wird, eine einzelne Größe anzupassen. Besonders in Hinblick auf neuronale Netze sind diese Abhängigkeiten komplexer geworden. Die Neuronen und Schichten werden beispielsweise durch Regularisierung, insbesondere Dropout, beeinflusst, da das Netz räumlich reduziert wird. Das verdeutlicht noch einmal die Notwendigkeit von hoher Expertise, Erfahrung und Intuition.

Wie groß ist der Nutzen von Hyperparameter Tuning?

Die Wahl und das Tuning geeigneter Hyperparameter hat ohne Zweifel maßgeblichen Einfluss auf die zu erwartende Model Performance. Das zeigt sich beispielsweise in einer Studie der saudi-arabischen Forscher Hoque und Aljamaan (2021): Mithilfe eines Wilcoxon-Tests haben sie Machine Learning Models in ihrer Vorhersagegenauigkeit hinsichtlich Aktienkursen verglichen – teils mit und teils ohne Tuning. Das Ergebnis: signifikant genauere Prognosen nach vorheriger Abstimmung der Hyperparameter. Aber: Zugrunde lag ein hochqualitativer Datensatz, der mit der Sliding Window Technique aufwändig angepasst wurde.

Eine weitere Studie (Weegar et alt. 2016) betont die Wichtigkeit dieses Vorgangs. Selbst die einfachste Modifizierung von Features im Data Set führte hier zur Outperformance von vermeintlich besseren Modellen. Über die Bedeutsamkeit von sinnvoll strukturierten und passenden Daten kommt letztlich auch das aufwändigste Hyperparameter Tuning nicht hinaus. Es zählen besonders der informative Gehalt und die Zusammenhänge, die ein Machine Learning Model im Training erkennen soll. Erst in Kombination entsteht der finale Nutzen.

Anwendung optimierter Modelle

Da es sich bei Hyperparameter Tuning um ein grundlegendes Konzept von Machine Learning handelt, gibt es nicht den einen Use Case, der besonders hervorzuheben wäre. Jede einzelne KI-Applikation erfordert die Implementierung fein abgestimmter und funktionaler Modelle. Auf dem Konfuzio-Marktplatz findet sich davon eine Vielzahl – bereits getunet, trainiert und direkt einsatzbereit. Die branchenspezifischen Einsatzmöglichkeiten reichen von Medical NER über Immobilienexposés bis hin zu Wertpapierabrechnungen.

Um die passenden Hyperparameter haben sich unsere Experten gekümmert.

Jetzt registrieren und kostenlos testen

Fazit

Die richtigen Einstellungen vorzunehmen ist unverzichtbare Basis eines jeden Technologie-Projekts. Geht es um Machine Learning, kennt man diesen Vorgang als Hyperparameter Tuning. Im Fokus stehen dabei jene Eigenschaften, die sich im Laufe eines Lernprozesses nicht mehr verändern ließen. Das betrifft beispielsweise die Lernrate, die Neuronenzahl oder die Batch Size. Typische Techniken sind neben manueller Anpassung beispielsweise Grid Search oder die Bayesian Optimization.

Egal welches Verfahren konkret zum Einsatz kommt, ein hohes Maß an Erfahrung und Expertise der Data Scientists ist stets vorausgesetzt. Das wirkt sich auch auf die Qualität der im Training verwendeten Datenbasis aus, die die erreichbare Performance stark mitbestimmt. Besonders, wenn diese Ressourcen nicht vorhanden sind, bietet sich die Nutzung angepasster KI-Plattformen wie Konfuzio an.

Sie möchten eigene KI-Modelle weiter optimieren? Senden Sie uns gern eine Nachricht. Unsere Experten freuen sich auf den Austausch.

    Über mich

    Weitere Artikel

    PDF Texterkennung Bild

    So erleichtert die PDF Texterkennung Ihr Leben

    Sie kennen es bestimmt, Sie haben eine Vielzahl an Dateien auf Ihrem Handy oder Laptop gespeichert und suchen nach einer...

    Zum Artikel
    NotebookLM

    News: KI-App NotebookLM von Google vorgestellt

    Zwei Monate lang haben KI-Interessierte auf die Testphase von Googles “Project Tailwind” gewartet - einer App zur KI-gestützten Organisation von...

    Zum Artikel

    Prozesse automatisieren – RPA, ETL oder Software?

    Wiederkehrende Aufgaben kosten Unternehmen viel Zeit und Ressourcen. Es ist daher kein Wunder, dass immer mehr Firmen diese Prozesse automatisieren....

    Zum Artikel
    Arrow-up