Forschungsprojekte
MQuaML: Multi-quality-based Selection Framework of Machine Learning Algorithms
Heutige Informationssysteme zeichnen sich durch eine kontinuierliche Zunahme der gemessenen und gespeicherten Daten aus. Folglich finden Machine Learning (ML) Algorithmen eine weit verbreitete Nutzung, da die Verarbeitung und Analyse solcher Daten genutzt werden können, um Prozesse zu optimieren. Insbesondere, ermöglichen sie Anomalien bei der Ausführung von Industrieprozessen erkennen, die Notwendigkeit von Wartungen vorhersagen, sowie typische Kandidaten für mögliche Prozess Automatisierung aufspüren.
Die hohe Flexibilität der ML-Algorithmen ist einer ihrer Vorteile. Das bedeutet zum einen, dass das gleiche Problem durch verschiedene Algorithmen oder gar Varianten desselben Algorithmus gelöst werden kann. Auf der anderen Seite, kann jeder Algorithmus mehrere Arten von Problemen zu lösen. Neben der Fähigkeit, eine gültige Lösung zu erhalten, ist die Optimalität das wichtigste Kriterium, da die Qualität der Ergebnisse in abhängig vom gewählten Algorithmus und seinen Parametern jeweils erheblich variieren kann. Dementsprechend ist der Vorteil der funktionellen Eigenschaften (die Ermittlung einer praktikablen Lösung mit verschiedenen ML Algorithmen) auch gleichzeitig ein Nachteil bezüglich der nicht-funktionale Eigenschaften (unübersichtliche Größe des Suchraumes).
Das Problem, den besten Algorithmus und besten Parameter zu finden, kann als Optimierungsproblem formuliert werden: Maximierung der Qualität des Ergebnisses bei gleichzeitiger Minimierung des Zeit- und Ressourcenaufwands. Entscheidend für die Aufwandsminimierung ist die automatisierte Lösung dieses Optimierungsproblems durch:
- Formalisierung von Problemen und Algorithmen, die diese lösen können.
- Auswählen eines optimalen Algorithmus, indem die Qualität des resultierenden Ergebnisses beurteilen wird.
Die existierenden Arbeiten im Bereich der Algorithmenauswahl basieren auf der Annahme, dass das Problem bereits bekannt ist und alle Algorithmen, unter denen ein optimales ausgewählt wird, in der Lage sind, die jeweilige Aufgabe zu lösen. Diese Annahme macht bestehende Ansätze zur Algorithmenauswahl in der Realität unbrauchbar.
Zunächst muss entschieden werden, welche Klasse von Algorithmen anwendbar ist und dann manuell unpassende zu filtern. Entsprechend versucht dieses Projekt, diesen Schritt zu automatisieren. Ein weiteres wichtiges Problem ist die Größe des Suchraumes, d. h. das ähnliche Probleme mit verschiedenen Algorithmen gelöst werden können, wobei jeder Algorithmus zusätzlich verschiedene Hyperparameterkonfigurationen haben kann. Die experimentelle Bewertung eines solchen Suchraumes ist sehr zeit- und ressourcenintensiv. Daher sind Ansätze gefragt, die mit geringstem Aufwand die optimale Konfiguration finden.
Das Hauptziel dieses Projektes ist die Maximierung der Qualität eines Ergebnisses, das durch einen ML-Algorithmus für die Lösung hochkomplexer Probleme zur Verfügung gestellt wird. Eine solche Komplexität wird entweder durch ein hohes Datenvolumen oder durch seine Struktur (z. B. hohe Anzahl von Merkmalen pro Dateneinheit) bestimmt.
Ziel dieses Projekts ist es, ein Framework für die automatisierte ML-Algorithmenauswahl und -parametrierung zu entwickeln. Konkret, besteht dieses aus zwei Hauptbestandteilen: der Algorithmenidentifikation und der Algorithmenauswahl. Beide Bestandteile verwenden neuartige Spezifikationen, die mit Hilfe domänenspezifischer Sprachen (DSL) beschrieben werden, die wiederum in diesem Projekt entwickelt werden. Diese DSLs beschreiben dabei: das zu lösende Problem, den Zielalgorithmus und den Suchraum (alle passenden Algorithmen und deren Parametrisierung). Das Kernstück der Algorithmenidentifikation ist ein Klassifikator, der anhand der Spezifikationen des Problems einen passenden verfügbaren Algorithmen auswählt, der in der Lage ist, es zu lösen. Die Algorithmenauswahl wiederum stellt einen Hyperparameter-Optimierer zur Verfügung, der den Suchraum nach dem bestmöglichen Algorithmus und dessen Parameterkonfiguration durchsucht. In der ML-Gemeinschaft hat dieser Prozess den Namen Metalearning und bezeichnet das Testen der Leistung von Algorithmen unter Berücksichtigung ihrer Parameter und Auswahl der besten Parametrisierung. Ein solches Vorgehen ist jedoch sehr Kosten ineffizient. Daher muss der Umfang der Auswahl und Parametrisierung reduzieren und gleichzeitig die Qualität einer ausgewählten Lösung maximiert werden. Diese Reduzierung kann durch einen aktiven Lernansatz erreicht werden, der ausgehend von den kleinsten Algorithmenkonfigurationen den Konfigurationsraum intelligent erforscht und versucht, eine optimale Algorithmuskonfiguration vorherzusagen. Nach Erreichen einer bestimmten Schwelle hat es genügend Kenntnisse über den Konfigurationsraum und bietet eine (annähernd) optimale Lösung.
Auf der einen Seite wird dieses Projekt eine große Bedeutung für die Zukunft des Projektpartners haben. Auf der anderen Seite, beschäftigt sich der Lehrstuhl für Softwaretechnologie in verschiedenen Forschungsprojekten mit dem Lösen von Optimierungsproblemen. Genauer hat zum Beispiel das SAB-finanzierte Projekt GUIDES das Ziel Unternehmensressourcenplanung signifikant zu verbessern. Diese setzt die Erstellung eines Zeitplans voraus, der Aufgaben auf die jeweiligen Maschinen zuweist bei gleichzeitiger Minimierung von Rechenzeit, Betriebskosten usw. Da das Problem der Terminplanung selbst ein NP-hartes Optimierungsproblem ist, muss auch hier ein großer Suchraum untersucht werden, um eine optimale Lösung zu finden. Um das Problem der Terminplanung zu lösen wird entweder ein Heuristik-basierten Ansatz oder ein ML-basierten Ansatz verwendet. Beide Ansätze sind jedoch stark von ihren Parametern abhängig, die mithilfe des hier vorgeschlagenen Frameworks ermittelt werden können. In ähnlicher Weise kann das Framework auch eingesetzt werden, um energieeffizientes Rechnen zu ermöglichen (DFG SFB 912 HAEC). Hierbei hat der Lehrstuhl für Softwaretechnologie das Ziel ein System für energieeffiziente, adaptive Ressourcenzuweisung bereit zu stellen. Die Ressourcenzuweisung selbst ist ein klassisches Optimierungsproblem, mit dem Ziel Softwarekomponenten, die eingehende Anfragen bearbeiten, optimal auf die verfügbaren Ressourcen und Hardwarekomponenten zu verteilen. Es stellt sich heraus, dass dieses Problem entweder präzise oder annähernd gelöst werden kann. Während genaue Methoden unter Skalierbarkeit leiden, werden die Näherungsansätze stark durch ihre Parametereinstellungen beeinflusst. Wiederum kann sowohl die Auswahl der Methode als auch deren Parametrisierung von dem hier vorgeschlagenen Framework automatisiert werden.
In gleicher Weise können die Ergebnisse dieses Projektes auch in die Arbeitsprozesse des ungeförderten Industriepartners DATEV eG integriert werden. Denn dieses Projekt wird die Probleme des Industriepartners zum einen als Lauf- zum anderen auch als Validierungsbeispiele nutzen. Somit sollten alle in der Anforderungsanalyse definierten Probleme durch das vorgegebene Framework gelöst werden können, insbesondere diejenigen der DATEV eG.
Darüber hinaus wird sich das in diesem Projekt implementierte Framework leicht mit aktuellen und zukünftigen Forschungen im Bereich des maschinellen Lernens verknüpfen lassen. Entsprechend wäre der nächste Schritt nach erfolgreichem Abschluss dieses Projekts, die Erweiterung auf weitere Arten von ML-Algorithmen (wie z. B.: Regression, Clustering, Deep Learning, usw.). Insbesondere könnten diese neuen Algorithmen leicht in das Framework integriert werden, da es Unabhängigkeit von der konkreten Implementierung des Algorithmus ist.
Diese Anpassung des vorgeschlagenen Frameworks an verschiedene Anwendungsbereiche wie Optimierung, energieeffizientes Rechnen und viele andere, stellt dabei eine interessante Aufgabe für zukünftige Forschungen dar, genauso wie die Unterstützung von Transfer Learning (Wiederverwendung eines bestehenden Modells in unterschiedlichen Domänen) oder Concept Drift (Modelle deren "Robustheit" im zeitlichen Verlauf schwankt).
- Gefördert von: BMBF
- Kontaktperson: Dmytro Pukhkaiev
- Webseite des Projekts: link
- Projektlaufzeit: 04/2018 bis 03/2020