In diesem Artikel möchte ich über die Hauptschwierigkeiten der Automatisierung des maschinellen Lernens, ihre Art und ihre Vorteile sprechen und auch einen flexibleren Ansatz betrachten, der es Ihnen ermöglicht, einige der Mängel zu beseitigen.
Automatisierung Per Definition ist Mikell P. Groover eine Technologie, mit der ein Prozess oder eine Prozedur mit minimalem menschlichem Aufwand durchgeführt wird. Durch die Automatisierung konnte seit langem eine höhere Produktivität erzielt werden, was häufig zu niedrigeren Kosten pro Produkteinheit führt. Die Automatisierungsmethoden sowie ihre Anwendungsbereiche verbessern sich rasch und haben sich in den letzten Jahrhunderten von einfachen Mechanismen zu Industrierobotern entwickelt. Die Automatisierung wirkt sich nicht nur auf die körperliche, sondern auch auf die intellektuelle Arbeit aus und erschließt relativ neue Bereiche, einschließlich maschinelles Lernen - automatisiertes maschinelles Lernen (auto ml, aml). Gleichzeitig hat die Automatisierung des maschinellen Lernens bereits in einer Reihe kommerzieller Produkte Anwendung gefunden (z. B. Google AutoML, SAP AutoML und andere).


HaftungsausschlussDieser Artikel gibt nicht vor, auf diesem Gebiet dogmatisch zu sein, und ist die Vision des Autors.
Automatisiertes maschinelles Lernen
Die Aufgaben im Bereich Datenverarbeitung und maschinelles Lernen sind mit vielen Faktoren verbunden, die sich aufgrund der Komplexität des Systems ergeben und deren Lösung erschweren. Dazu gehören ( laut Charles Sutton ):- Das Vorhandensein von Unsicherheit und Unsicherheit, was zu einem Mangel an a priori Kenntnis der Daten und der gewünschten Abhängigkeiten führt. Somit ist das Forschungselement immer vorhanden.
- "Tod durch tausend Schnitte." In der Praxis müssen Sie beim Aufbau einer Pipeline für die Datenverarbeitung und -analyse und die anschließende Modellierung viele große und kleine Entscheidungen treffen. Ist es beispielsweise erforderlich, die Daten zu normalisieren, wenn ja, welche Methode und welche Parameter sollte diese Methode haben? Usw.
- Das Vorhandensein von Rückkopplungsschleifen aufgrund von Unsicherheit. Je länger das Eintauchen in die Aufgabe und die Daten dauert, desto mehr können Sie über sie lernen. Dies führt dazu, dass Sie einen Schritt zurücktreten und Änderungen an den vorhandenen Verarbeitungs- und Analysemechanismen vornehmen müssen.
- Darüber hinaus sind die Ergebnisse von Modellen, die durch Algorithmen für maschinelles Lernen erhalten wurden, nur eine Annäherung an die Realität, d.h. offensichtlich nicht genau.
Somit kann der Prozess des Erhaltens einer vollständigen Pipeline der Datenverarbeitung und -analyse als ein komplexes System (d. H. Ein komplexes System) betrachtet werden.Komplexes SystemPeter Sloot, « » « », . , () , , () , () .. , , .
Einerseits erschwert das Vorhandensein dieser Faktoren sowohl die Lösung von Problemen mit maschinellem und tiefem Lernen als auch deren Automatisierung. Andererseits ermöglichen uns die ständig wachsenden und zunehmend zugänglichen Computerfunktionen, mehr Ressourcen für die Aufgabe bereitzustellen.
Gemäß dem gemeinsamen CRISP-DM-Standard besteht der Lebenszyklus eines Datenanalyseprojekts iterativ aus sechs Hauptphasen: Verstehen einer Geschäftsaufgabe, Verstehen und Studieren von Daten (Datenverstehen), Verarbeiten von Daten (Datenaufbereitung), Modellieren ( Modellierung), Qualitätsbewertung (Bewertung) und praktische Anwendung (Bereitstellung, Anwendung). In der Praxis können heute nicht alle diese Schritte effektiv automatisiert werden.Die meisten Werke oder vorhandenen Bibliotheken (h2o, auto-sklearn, autokeras) konzentrieren sich auf die Modellierung der Automatisierung und teilweise auf die Qualitätsbewertung. Die Ausweitung des Ansatzes zur Automatisierung der Datenverarbeitung ermöglicht jedoch die Abdeckung mehrerer Phasen (die beispielsweise im Google AutoML-Dienst angewendet wurden).Formulierung des Problems
Die Aufgaben des maschinellen Lernens mit einem Lehrer können durch verschiedene Methoden gelöst werden, von denen die meisten auf die Minimierung der Verlustfunktion reduziert sind oder Maximieren der Wahrscheinlichkeitsfunktion um eine Schätzung der Parameter zu erhalten basierend auf dem verfügbaren Beispiel - Trainingsdatensatz ::oder θ^m=argminθm(J(yt;θm))wo θm- trainierte Modellparameter (z. B. Koeffizienten bei Regression).Um die Automatisierung nicht nur auf die Modellierung zu beschränken, kann der Anwendungsbereich der Methode auf andere Phasen der Pipeline ausgedehnt werden. Zum Beispiel, um die Entscheidungsfindung über die anzuwendenden Datenverarbeitungsmethoden zu automatisieren, ein Modell oder deren Kombinationen auszuwählen und nahezu optimale Hyperparameter auszuwählen.Wir veranschaulichen das, was beschrieben wird, anhand eines einfachen Beispiels, in dessen Rahmen zwischen zwei Datenverarbeitungsmethoden ( Standard-Skalierer und Quantil-Skalierer ) und zwei Modellen ( Zufallswald und neuronales Netzwerk ) gewählt werden kann, einschließlich der Auswahl einiger Hyperparameter. Die Auswahlstruktur kann als Baum dargestellt werden:
Jede getroffene Auswahl ist ein Parameter des Systems, während der Baum selbst zum Raum möglicher Parameter wird. Ein solcher Blick auf das Problem ermöglicht es uns, auf die Abstraktionsebene aufzusteigen und die Aufgabe zu formulieren, die endgültige Pipeline einschließlich der Datenverarbeitungsmethoden, Modelle und ihrer Parameter zu erhalten, um eine Funktion zu minimieren oder zu maximieren:ω^=argmaxω(L(yt,ycv;ω))oder ω^=argminω(J(yt,ycv;ω))wo ω- nicht lernende Parameter, ycv- verzögerte Kontrollauswahl (Datensatz zur Kreuzvalidierung).Die Hauptvorteile einer solchen Lernautomatisierung sind:- Auswahl einer größeren Anzahl von Systemparametern bei Vorhandensein eines Eingabepunkts im Rahmen eines einzelnen Optimierungsprozesses.
- Automatisierungsroutine, die den Forscher oder Entwickler vor den "tausend Schnitten" bewahrt.
- "Demokratisierung" des maschinellen Lernens durch seine Automatisierung, die es vielen Laien ermöglicht, viele Methoden anzuwenden.
Die Automatisierung ist jedoch nicht ohne Nachteile:- Mit zunehmender Anzahl von Parametern wächst auch ihr Platz, was früher oder später zu einer kombinatorischen Explosion führt, die die Entwicklung von Algorithmen und eine Erhöhung der Anzahl von Rechenressourcen erfordert.
- Vollautomatische Methoden bieten nicht immer eine flexible Lösung, die auf dem „Black-Box“ -Prinzip basiert und die Kontrolle über das Ergebnis verringert.
- Der Parameterraum ω ist nichtlinear und weist eine komplexe Struktur auf, was den Optimierungsprozess erschwert.
Von der Automatisierung zur Halbautomatisierung
Um so viele Vorteile wie möglich zu erhalten und gleichzeitig eine Reihe von Mängeln zu beseitigen, insbesondere aufgrund des Wunsches, zusätzliche Kontrolle über die Lösung zu erlangen, kamen wir zu einem Ansatz namens semi-auto ml. Dies ist ein relativ neues Phänomen auf diesem Gebiet, das indirekt durch eine schnelle Analyse von Google Trends belegt werden kann:
Das Erreichen eines solchen Kompromisses kann bedingt mit verschiedenen Methoden des Schaltens in Automobilgetrieben verglichen werden (nämlich Schaltmethoden, jedoch nicht deren interne Struktur):Im Rahmen der Arbeit an internen Projekten haben wir ein Tool entwickelt, mit dem wir das Problem des halbautomatischen maschinellen Lernens auf der Grundlage eines hybriden funktional-deklarativen Konfigurationssystems lösen können. Dieser Konfigurationsansatz verwendet nicht nur Standarddatentypen, sondern auch Funktionen aus gängigen modernen Bibliotheken für maschinelles und tiefes Lernen. Mit dem Tool können Sie die Erstellung einfacher Datenverarbeitungsmethoden, das grundlegende Design von Features (Feature Engineering), die Auswahl von Modellen und deren Hyperparametern automatisieren und Berechnungen für einen Spark- oder GPU-Cluster durchführen. Die Auflistung formalisiert das Beispiel weiter oben in diesem Artikel. Das Beispiel verwendet einfache Modelle von sk-learn und hyperopt (die sogar einen unbedeutenden Beitrag zum Open Source-Code geleistet haben) zur Parameterverteilung und -optimierung.'preprocessing': {
'scaler': hp.choice('scaler', [
{
'func': RobustScaler,
'params': {
'quantile_range': (10, 90)
}},
{
'func': StandardScaler,
'params': {
'with_mean': True
}}
]),
},
'model': hp.choice('model', [
{
'func': RandomForestClassifier,
'params': {
'max_depth': hp.choice('r_max_depth', [2, 5, 10]),
'n_estimators': hp.choice('r_n_estimators', [5, 10, 50])
}
},
{
'func': MLPClassifier,
'params': {
'hidden_layer_sizes': hp.choice('hidden_layer_sizes', [1, 10, 100]),
'learning_rate_init': hp.choice('learning_rate_init', [0.1, 0.01])
}
},
])
Ein solches halbautomatisches System, einschließlich eines Konfigurationsmechanismus, ermöglicht die Erstellung vorbereiteter Standardszenarien in Fällen, in denen beispielsweise eine bestimmte Modellfamilie besser zur Lösung von Problemen geeignet ist. Dies kann insbesondere das Kredit-Scoring umfassen. Ein solcher Schritt erfordert jedoch zusätzliche Forschung zu einer Vielzahl ähnlicher Aufgaben. Wenn Sie am Suchmechanismus arbeiten, ist es auch möglich, das Gleichgewicht im Bias-Varianz-Kompromiss-Dilemma automatisch aufrechtzuerhalten, indem gleichzeitig die Werte der optimierten Funktion sowohl in den Trainings- als auch in den Kreuzvalidierungsstichproben berücksichtigt werden.Fazit
Der völlige Mangel an Automatisierung ist in der Praxis ziemlich selten, da selbst das Aufzählen der Werte eines Hyperparameters in einem Zyklus bereits ein Schritt in Richtung Automatisierung ist. Gleichzeitig ist die vollständige Automatisierung des gesamten Pipeline-Bauprozesses heute praktisch nicht mehr erreichbar. Dementsprechend werden bei der Entwicklung der meisten modernen Projekte Automatisierungsansätze bewusst oder unbewusst angewendet.Die Verwendung des halbautomatischen maschinellen Lernens ermöglicht eine effizientere Nutzung der Ressourcen eines Forschers oder Entwicklers aufgrund der Automatisierung einer Routine, ohne einen wesentlichen Teil der Flexibilität bei der Arbeit zu beeinträchtigen. Wie wir sehen, erfordert die vorgeschlagene Lösung die Teilnahme einer Person, wodurch der Raum möglicher Systemparameter begrenzt wird. Darüber hinaus ermöglicht die Einführung von Standardszenarien, die auf der Grundlage des Konfigurationssystems erhalten wurden, die Verwendung nicht nur partieller Automatisierungsansätze, sondern auch vollständiger Ansätze, die keine menschliche Beteiligung erfordern.