Automatisiertes maschinelles Lernen (AutoML)

Wenn Sie ein neues Projekt für maschinelles Lernen (ML) starten, fragen Sie sich vielleicht, ob das manuelle Training die einzige Option ist, um ein ML-Modell zu erstellen. Beim manuellen Training schreiben Sie Code mit einem ML-Framework, um ein Modell zu erstellen. Dabei wählen Sie aus, welche Algorithmen untersucht werden sollen, und passen die Hyperparameter iterativ an, um das richtige Modell zu finden.

Natürlich müssen Sie nicht nur über das Modelltraining nachdenken. In der Praxis erfordert das Erstellen eines Modells für maschinelles Lernen vom Prototyp bis zur Produktion repetitive Aufgaben und spezielle Fähigkeiten. Ein einfacher explorativer ML-Workflow sieht in etwa so aus:

Abbildung 1: Ein einfacher Workflow für maschinelles Lernen.
Abbildung 1. Einfacher explorativer Workflow für maschinelles Lernen

Wiederkehrende Aufgaben: Der ML-Workflow kann sich aus wiederkehrenden Aufgaben und Tests zusammensetzen. Bei der Modellentwicklung müssen Sie beispielsweise in der Regel verschiedene Kombinationen von Algorithmen und Hyperparametern ausprobieren, um das am besten geeignete Modell zu ermitteln. Beim manuellen Training schreiben Sie speziellen Code, um das Modell zu trainieren. Anschließend passen Sie den Code an, um mit verschiedenen ML-Algorithmen und Hyperparametern zu experimentieren und so das beste Modell zu finden. Bei kleinen oder explorativen Projekten ist dieser manuelle Vorgang möglicherweise kein Problem, aber bei größeren Projekten können diese sich wiederholenden Aufgaben zeitaufwendig sein.

Spezialisierte Fähigkeiten: Die manuelle Entwicklung eines ML-Modells erfordert spezielle Fähigkeiten. In der Praxis hat nicht jedes Team, das ein Modell für maschinelles Lernen entwickeln möchte, diese Fähigkeiten. Wenn ein Team keinen Data Scientist hat, ist diese Arbeit manuell möglicherweise gar nicht möglich.

Glücklicherweise können bestimmte Schritte bei der Modellentwicklung automatisiert werden, um den Aufwand für sich wiederholende Aufgaben und den Bedarf an Fachkenntnissen zu reduzieren. Die Automatisierung dieser Aufgaben ist das Thema dieses Moduls zum automatisierten maschinellen Lernen (AutoML).

Was ist AutoML?

AutoML ist ein Verfahren, mit dem bestimmte Aufgaben in einem Workflow für maschinelles Lernen automatisiert werden. AutoML ist eine Reihe von Tools und Technologien, die das Erstellen von Modellen für maschinelles Lernen schneller und für eine größere Gruppe von Nutzern zugänglicher machen. Automatisierung kann zwar während des gesamten ML-Workflows hilfreich sein, die Aufgaben, die oft mit AutoML in Verbindung gebracht werden, sind jedoch Teil des Modellentwicklungszyklus, der in Abbildung 1 dargestellt ist. Zu diesen wiederkehrenden Aufgaben gehören:

  • Data Engineering
    • Feature Engineering.
    • Auswahl von Merkmalen.
  • Training
    • Einen geeigneten ML-Algorithmus identifizieren
    • Auswahl der besten Hyperparameter
  • Analyse
    • Bewertung der während des Trainings generierten Messwerte anhand von Test- und Validierungs-Datasets.

Mit AutoML können Sie sich auf Ihr ML-Problem und Ihre Daten konzentrieren, anstatt sich um die Auswahl von Funktionen, die Abstimmung von Hyperparametern und die Auswahl des richtigen Algorithmus kümmern zu müssen.