Machen Sie sich mit den bei Amazon verfügbaren Strategien zur Hyperparameter-Optimierung vertraut SageMaker - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Machen Sie sich mit den bei Amazon verfügbaren Strategien zur Hyperparameter-Optimierung vertraut SageMaker

Beim Erstellen komplexer Machine-Learning-Systeme wie neuronaler Deep-Learning-Netzwerke ist es unmöglich, alle möglichen Kombinationen zu untersuchen. Hyperparameter-Tuning kann Ihre Produktivität steigern, indem Sie viele Varianten eines Modells ausprobieren. Es sucht automatisch nach dem besten Modell, indem es sich auf die vielversprechendsten Kombinationen von Hyperparameterwerten innerhalb der von Ihnen angegebenen Bereiche konzentriert. Um gute Ergebnisse zu erzielen, müssen Sie die richtigen Bereiche für die Untersuchung auswählen. Diese Seite enthält eine kurze Erläuterung der verschiedenen Hyperparameter-Tuning-Strategien, die Sie mit Amazon SageMaker verwenden können.

Verwenden Sie das APIReferenzhandbuch, um zu verstehen, wie Sie mit dem Hyperparameter-Tuning interagieren. Sie können die auf dieser Seite beschriebenen Optimierungsstrategien mit HyperParameterTuningJobConfigund HyperbandStrategyConfigAPIsverwenden.

Anmerkung

Da der Algorithmus selbst stochastisch ist, konvergiert das Hyperparameter-Tuning-Modell möglicherweise nicht in der Lage, die beste Antwort zu finden. Dies kann auch dann der Fall sein, wenn die bestmögliche Kombination von Werten innerhalb der von Ihnen ausgewählten Bereiche liegt.

Wenn Sie die Rastersuche verwenden, wählt die Hyperparameteroptimierung Kombinationen von Werten aus dem Bereich der kategorialen Werte aus, den Sie bei der Erstellung des Jobs angeben. Bei Verwendung der Grid-Suchstrategie werden nur kategoriale Parameter unterstützt. Sie müssen den MaxNumberOfTrainingJobs-Parameter nicht angeben. Die Anzahl der durch den Tuning-Job erstellten Trainingsjobs wird automatisch als Gesamtzahl der möglichen unterschiedlichen kategorialen Kombinationen berechnet. Falls angegeben, MaxNumberOfTrainingJobs sollte der Wert von der Gesamtzahl der möglichen unterschiedlichen kategorialen Kombinationen entsprechen.

Wenn Sie die Zufallssuche verwenden, wählt die Hyperparameteroptimierung eine zufällige Kombination von Hyperparameterwerten in den Bereichen aus, die Sie für jeden Trainingsjob angeben, den sie startet. Die Auswahl der Hyperparameterwerte hängt nicht von den Ergebnissen früherer Trainingsjobs ab. Dadurch können Sie die maximale Anzahl gleichzeitiger Trainingsjobs ausführen, ohne die Leistung der Optimierung zu beeinträchtigen.

Ein Beispiel für ein Notizbuch, das die Zufallssuche verwendet, finden Sie im Notizbuch Zufallssuche und Hyperparameterskalierung mit SageMaker XGBoost automatischem Modeltuning.

Bayessche Optimierung

Die Bayes'sche Optimierung behandelt die Abstimmung der Hyperparameter wie ein Regressionsproblem . Mit einer vorgegebenen Reihe von Eingabefunktionen (den Hyperparametern) optimiert die Hyperparameter-Optimierung ein Modell für die Metrik, die Sie auswählen. Um ein Regressionsproblem zu lösen, werden beim Hyperparameter-Tuning Vermutungen darüber angestellt, mit welchen Hyperparameterkombinationen wahrscheinlich die besten Ergebnisse erzielt werden. Anschließend werden Trainingsjobs ausgeführt, um diese Werte zu testen. Nach dem Testen eines Satzes von Hyperparametern wird beim Hyperparameter-Tuning mittels Regression der nächste Satz von Hyperparametern zum Testen ausgewählt.

Das Hyperparameter-Tuning verwendet eine SageMaker Amazon-Implementierung der Bayesschen Optimierung.

Bei der Auswahl der besten Hyperparameter für den nächsten Trainingsauftrag durch die Hyperparameter-Optimierung werden alle bisher bekannten Fakten zum Problem in Betracht gezogen. Manchmal wird eine Kombination aus Hyperparameter-Werten ausgewählt, die eng an die Kombination angelehnt ist, die den bisher besten Trainingsauftrag geliefert hat, um die Leistung inkrementell zu verbessern. Auf diese Weise können beim Hyperparameter-Tuning die bekanntesten Ergebnisse verwendet werden. In anderen Fällen wird eine Reihe von Hyperparameter-Werten mit großem Abstand zu den bisher getesteten Werten ausgewählt. Auf diese Weise kann es den Bereich der Hyperparameterwerte erkunden und versuchen, neue Bereiche zu finden, die noch nicht gut verstanden sind. Diese Abwägung von Erkunden und Nutzen ist bei vielen Machine-Learning-Problemen gängige Praxis.

Weitere Informationen zur Bayes-Optimierung finden Sie hier:

Hyperband

Hyperband ist eine auf Multi-Fidelity basierende Optimierungsstrategie, bei der Ressourcen dynamisch neu zugewiesen werden. Hyperband verwendet sowohl Zwischen- als auch Endergebnisse von Trainingsaufgaben, um Epochen gut genutzten Hyperparameterkonfigurationen neu zuzuweisen, und stoppt automatisch diejenigen, die unterdurchschnittlich abschneiden. Es lässt sich auch problemlos skalieren, um viele parallel Trainingsjobs nutzen zu können. Diese Funktionen können die Abstimmung von Hyperparametern im Vergleich zu Strategien zur zufälligen Suche und Bayes-Optimierung erheblich beschleunigen.

Hyperband sollte nur zur Optimierung iterativer Algorithmen verwendet werden, die Ergebnisse auf unterschiedlichen Ressourcenebenen veröffentlichen. Hyperband kann beispielsweise verwendet werden, um ein neuronales Netzwerk für die Bildklassifizierung zu optimieren, das nach jeder Epoche Genauigkeitsmetriken veröffentlicht.

Weitere Informationen über Hyperband finden Sie unter den folgenden Links:

Hyperband mit vorzeitigem Stopp

Trainingsaufträge können vorzeitig abgebrochen werden, wenn es unwahrscheinlich ist, dass sie die objektive Metrik des Hyperparameter-Tuning-Auftrags verbessern. Dies kann dazu beitragen, die Rechenzeit zu reduzieren und eine Überanpassung Ihres Modells zu vermeiden. Hyperband verwendet einen fortschrittlichen internen Mechanismus, um vorzeitiges Stoppen anzuwenden. Der Parameter TrainingJobEarlyStoppingType in der HyperParameterTuningJobConfig API muss auf eingestellt sein, OFF wenn Sie die interne Hyperband-Funktion für frühes Stoppen verwenden.

Anmerkung

Die Hyperparameter-Optimierung verbessert Ihr Modell möglicherweise nicht. Es ist ein fortschrittliches Tool für die Entwicklung von Maschinenlösungen. Es sollte daher als Teil des wissenschaftlichen Entwicklungsprozesses betrachtet werden.