
Modelloptimierung
In diesem Kapitel stehen verschiedene Schlüsselthemen im Fokus, die essenziell für das erfolgreiche Training neuronaler Netze sind. Es werden die Hyperparameteroptimierung und Regularisierungstechniken genauer beleuchtet. In Abbildung 39 werden die Teile der Modelloptimierung hervorgehoben, um welche es in diesem Kapitel geht.
Regularisierungsmethoden
Die Vermeidung von Überanpassung, einem häufigen Problem in komplexen Modellen, spielt eine entscheidende Rolle bei der Regularisierung. Hierbei gibt es bspw. die Methoden L1- und L2-Regularisierung, die die Modellkomplexität durch unterschiedliche Ansätze reduzieren, sowie Dropout und Batch Normalization. Die Tendenz des Modells, sich den Trainingsdaten zu stark anzupassen, wird durch diese Methoden eingedämmt. Im Folgenden werden die genannten Methoden nochmals kurz beschrieben:
L1-Regularisierung (Lasso): Bei dieser Technik wird dem Verlustfunktionsausdruck die absolute Summe der Gewichte eines Modells hinzugefügt. Dies fördert die Spärlichkeit der Gewichte, wodurch unwichtige Merkmale zu null gesetzt werden und das Modell robuster gegenüber irrelevanten Informationen wird.
L2-Regularisierung (Ridge): Hier wird dem Verlustfunktionsausdruck die quadratische Summe der Gewichte eines Modells hinzugefügt. Dies hilft, große Gewichte zu vermeiden und fördert eine gleichmäßigere Verteilung, wodurch das Modell weniger anfällig für Überanpassung wird.
Dropout: Während des Trainings werden einige Neuronen zufällig entfernt. Jede Trainingsepoche werden neue Neuronen zufällig ausgewählt. Durch dieses "entfernen" einzelner Neuronen werden Redundanzen im neuronalen Netz minimiert, was zu einer verbesserten Generalisierung auf neuen Daten führt.
Batch Normalization: Batch Normalization ist eine Methode zur Normalisierung der Aktivierungen in den Schichten des neuronalen Netzes. Dies trägt dazu bei, dass die Aktivierungen in einem akzeptablen Bereich bleiben und das Training stabiler wird. Es wirkt auch als eine Form der Regularisierung, da es Überanpassung reduziert.
Hyperparameteroptimierung
Die Hyperparameteroptimierung ist ein wesentlicher Schritt im ML-Prozess, der darauf abzielt, die Leistung eines Modells zu verbessern, indem die besten Hyperparameterwerte aus einem definierten Suchraum gefunden werden. Hyperparameter werden vor dem Trainingsprozess definiert und beeinflussen die Struktur und das Verhalten des Modells.
Es gibt verschiedene Techniken zur Hyperparameteroptimierung, darunter:
Grid Search: Bei dieser Methode werden vordefinierte Werte für jeden Hyperparameter festgelegt, und das Modell wird für jede mögliche Kombination dieser Werte trainiert und bewertet. Dieser Ansatz ist einfach und gründlich, kann jedoch aufgrund des exponentiell wachsenden Suchraums bei vielen Hyperparametern rechenintensiv sein.
Random Search: Im Gegensatz zur Grid-Suche werden bei der Random-Suche zufällige Kombinationen von Hyperparameterwerten aus einem definierten Suchraum ausgewählt und bewertet. Dies kann effizienter sein als die Grid-Suche und kann gute Ergebnisse liefern, ohne den gesamten Suchraum durchsuchen zu müssen.
Bayesian Optimization: Diese Methode verwendet probabilistische Modelle, um den Suchraum der Hyperparameter zu erkunden. Basierend auf den durchgeführten Optimierungsdurchläufen können dann Vorhersagen darüber getroffen werden, welche Kombination von Hyperparametern die beste Leistung erzielen sollte. Auf diese Weise kann eine gezielte und effiziente Suche durchgeführt werden.
Evolutionäre Algorithmen: Inspiriert von der biologischen Evolution werden bei evolutionären Algorithmen eine Gruppe von Modellen erzeugt und über mehrere Generationen hinweg durch Mutationen und Rekombinationen weiterentwickelt. Die Modelle mit den besten Leistungen werden ausgewählt und weiter verbessert, bis eine zufriedenstellende Leistung erreicht ist.
Die Hyperparameteroptimierung ist oft ein iterativer Prozess, der mehrere Durchläufe des Trainings und der Bewertung des Modells erfordert, bis die gewünschte Leistung erreicht ist. Es ist zu beachten, die Hyperparameter auf einem separaten Validierungsdatensatz zu optimieren, um eine Überanpassung an die Trainingsdaten zu vermeiden.
Mehr erfahren: scikit-learn/Tuning the hyper-parameters of an estimator, Machine Learning Mastery/Hyperparameter Optimization With Random Search and Grid Search, Medium/A Conceptual Explanation of Bayesian Hyperparameter Optimization for Machine Learning, Medium/L1 and L2 Regularization Methods, buildin/L1 and L2 Regularization Methods, Explained, harvard-edge/AI Training
Last updated