
Entwicklungsleitfaden für ML
Um die Entwicklung und Implementierung von ML Modellen zu erleichtern, wurden hier Entwicklungsrichtlinien erstellt, an denen sich bei der Entwicklung orientiert werden kann. Diese Richtlinien sollen als Wegweiser durch den Entwicklungsprozess dienen – von der Datenaufnahme bis hin zum Training und der Validierung der Modelle.
Der folgende "Entwicklungsleitfaden für ML" ist dazu gedacht, Entwicklern einen umfassenden Überblick über den Entwicklungsprozess von ML-Projekten zu geben. Diese können als Checkliste verwendet werden, um Entwicklern das Vorgehen der einzelnen Schritte zu vereinfachen. Sie beschreiben die wichtigsten Schritte, Methoden und Werkzeuge, die es in jedem Schritt des ML-Entwicklungsprozesses zu beachten gilt. Darüber hinaus beleuchten sie potenzielle Herausforderungen und geben Hinweise, wie diese effektiv bewältigt werden können. Um weitere Informationen zu den einzelnen Schritten zu erhalten, wird an den jeweiligen Stellen, auf die Kapitel in Maschinelles Lernen verwiesen. Ziel dieser Leitlinien ist es, die Realisierung von ML-Anwendungen zu vereinfachen und dabei zu unterstützen.
Die Auswahl und Vorbereitung von Daten ist ein kritischer Schritt bei der Entwicklung von datengetriebenen Projekten. Dabei spielen verschiedene Inputfaktoren eine wesentliche Rolle. Basierend auf diesen Faktoren wird ein Output angestrebt, der einen qualitativ hochwertigen Datensatz darlegt.
Input
Art der Datenquelle (frei verfügbare Datensätze oder speziell aufgenommene Daten)
Qualitätsanforderungen an die Daten
Datenvarianz und -quantität
Datenschutz- und Ethikrichtlinien
Output
Hochwertiger Datensatz
Breites Spektrum der erwarteten Daten
Ausreichend große Datenmenge
Fehlerbereinigte und optimierte Daten
Aktualisierte Daten bei Bedarf
Methoden
Datenaufnahme gemäß den Grundregeln (Realitätsnähe, Qualität, Varianz, Quantität, Fehlervermeidung, Aktualisierung, Datenschutz und Ethik)
Datenlabeling (händisch, supervised learning oder semi-supervised learning)
Format der Datenaufnahme (tabellarisch, Verzeichnisstruktur, Dateien mit Labels)
Beispielhafte Tools (Python-Bibliotheken)
Mögliche Probleme
Daten entsprechen nicht der Realität
Datenqualität ist unzureichend
Datenquantität ist zu gering
Systematische Fehler in den Daten
Datenschutz- und Ethikverletzungen bei der Datenaufnahme
In Schritt 2 steht die Transformation und Bereinigung der Rohdaten im Fokus. Diese Phase zielt darauf ab, potenzielle Fehler und Ungleichgewichte in den Rohdaten (Input) zu identifizieren und zu beheben, während relevante Merkmale extrahiert oder transformiert werden. Das Ergebnis dieses Schrittes sind aufbereitete und qualitativ hochwertige Daten.
Input
Rohdaten
Potenzielle Datenfehler und Ungleichgewichte
Merkmale, die extrahiert oder transformiert werden sollen
Output
Aufbereitete Daten, die der Realität entsprechen
Festgelegte Aufteilung in Trainings-, Validierungs- und Testdaten
Augmentierte Daten
Gleichmäßige Klassenrepräsentation
Extrahierte wichtige Merkmale
Normalisierte oder skalierte Daten
Methoden
Beispielhafte Tools (Python-Bibliotheken)
Mögliche Probleme
Ähnlichkeit zwischen Trainings-, Validierungs- und Testdaten (Generalisierungsprobleme)
Fehler in den Daten nach der Vorverarbeitung (reduzierte Modellgenauigkeit)
Schwierigkeiten bei der Feature-Extraktion (fehlerhafte Mustererkennung für Vorhersagen)
Im dritten Schritt, der Methoden- und Modellauswahl, steht die Entscheidung über die geeignete Vorgehensweise im Mittelpunkt. Das Ziel dieses Schrittes ist die präzise Auswahl einer passenden Methode und eines geeigneten Modells, um die gestellte Aufgabe effektiv zu lösen. Die Auswahl geschieht anhand der Aufgabenart, sowie dem Vorhandensein von Labels und ihrer Art sowie der Komplexität und der Varianz der Daten. Zusätzlich wird die Erklärbarkeit des Modells berücksichtigt, d. h., ob die Entscheidungen des Modells direkt nachvollzogen werden können.
Input
Art der Aufgabe (z. B. Bilderkennung, Textverarbeitung)
Sind Label vorhanden?
Art der Labels (Klassifikation oder Regression)
Komplexität und Varianz der Daten
Output
Auswahl einer geeigneten Methoden
Auswahl eines geeigneten Modells für die Aufgabe
Methoden
Auswahl des Modells basierend auf Daten und Aufgabe
Transfer Learning (Verwendung vortrainierter Modelle wie bspw. EfficientNet)
Anpassung der Modellgröße an die Daten- und Aufgabenkomplexität
Beispielhafte Tools
Mögliche Probleme
Falsche Modellauswahl für die Aufgabe
Im vierten Schritt, dem Modelltraining, liegt der Fokus auf neuronale Netze. Hier konzentrieren wir uns ausschließlich auf diese Methode, während in den umfassenderen TinyML-Inhalten auch andere ML-Methoden betrachtet werden. Der Prozess beginnt mit initialisierten Gewichten und Bias sowie Trainings- und Validierungsdaten. Ziel ist es, Konvergenz zu erreichen und Hyperparameter zu optimieren. Am Ende dieses Schrittes steht ein trainiertes neuronales Netzwerk mit angepassten Gewichten und Bias, ein validiertes Modell und optimierte Hyperparameter.
Input
Initialisierte Gewichte und Bias
Trainingsdaten und Validierungsdaten
Optimierungsziele (Konvergenz)
Hyperparameter (Lernrate, Batch-Größe, Anzahl der Epochen)
Output
Trainiertes neuronales Netz
Angepasste Gewichte und Bias
Validiertes Modell
Optimierte Hyperparameter
Methoden
Beispielhafte Tools
Mögliche Probleme
Schwierigkeiten bei der Wahl geeigneter Hyperparameter
Training erfordert viele Ressourcen und Zeit
Last updated