Willkommen zurück zu unserer Beitragsreihe über die Erstellung von Machine-Learning-Modellen für Embedded-Systeme mit Edge Impulse. In den ersten vier Blogbeiträgen haben wir uns mit der Erstellung einer Trainingspipeline beschäftigt, die auf verschiedene Datentypen wie Bilder, Töne und Sensoren wie Beschleunigungssensoren ausgerichtet ist. Wir haben gezeigt, wie Trainingsrohdaten von Sensoren gesammelt werden und wie eine Trainingspipeline erstellt wird. Durch die Verarbeitung der Trainingsrohdaten in der Pipeline entsteht unser erster Versuch eines benutzerdefinierten neuronalen Netzwerkmodells, das nun unter realen Bedingungen mit Echtzeitdaten verwendet werden kann. Dies wird oft als Inferenzierung bezeichnet.
Aus verschiedenen Gründen kann unser anfängliches Modell jedoch Probleme mit sich bringen, die sich negativ auf seine Leistung auswirken. Wie bei allen guten technischen Verfahren sind Testen, Validieren und Abstimmen entscheidende Schritte für die Entwicklung eines robusten und effizienten Modells für Machine Learning. Edge Impulse bringt natürlich alle notwendigen Tools dafür mit. In den folgenden Blogbeiträgen werden wir den Prozess und die Tools zur Analyse der Leistung von Machine-Learning-Modellen untersuchen und die Modelle so abstimmen, dass sie eine optimale Leistung erzielen.
Zunächst wollen wir einige der negativen Aspekte beim Training eines Machine-Learning-Modells untersuchen. Vereinfacht gesagt, entstehen diese Probleme dadurch, dass zum Trainieren von Modellen nur eine begrenzte Menge an Daten verwendet wird und es unverhältnismäßig aufwändig, wenn nicht gar unmöglich wäre, alle möglichen Eingabeszenarien für unsere Trainingsumgebung bereitzustellen. Daher wird ein in der Praxis eingesetztes Modell während der Inferenz mit ziemlicher Sicherheit auf Eingaben stoßen, die das Modell verwirren könnten – man sollte nicht vergessen, dass die Ausgaben wahrscheinlichkeitsbasiert sind. Grundsätzlich lassen sich zwei Kategorien von Problemen unterscheiden:
Abbildung 1: Überanpassung liegt vor, wenn ein Modell bei den Trainingsdaten sehr gut abschneidet, aber nicht auf neue, unbekannte Daten verallgemeinert werden kann. (Quelle: Green Shoe Garage)
Abbildung 2: Unteranpassung tritt auf, wenn ein Modell zu sehr vereinfacht ist, um die zugrunde liegenden Muster in den Trainingsdaten zu erfassen. (Quelle: Green Shoe Garage)
Diese Faktoren bilden zusammen die Grundlage eines Konzepts, das als „Verzerrung-Varianz-Dilemma“ (auch Bias-Variance-Trade-off genannt) bezeichnet wird. Das bedeutet, dass Überanpassung und Unteranpassung beim Machine Learning über ein Verzerrung-Varianz-Dilemma miteinander verbunden sind. Ein Modell mit hohem Verzerrungsgrad (Unteranpassung) vereinfacht das Problem zu sehr, während ein Modell mit hoher Varianz (Überanpassung) das Problem zu sehr verkompliziert. Das Ziel ist es, ein Gleichgewicht herzustellen, indem man ein Modell findet, das sich gut verallgemeinern lässt, ohne zu einfach oder zu komplex zu sein.
Edge Impulse bietet mehrere Tools, mit denen Sie die Leistung Ihres Machine-Learning-Modells während des gesamten Entwicklungszyklus überprüfen können. So wird die Leistung des Modells bei der Entwicklung eines Klassifizierers beispielsweise auf mehrere Arten bewertet. Zunächst werden Genauigkeit und Verlust bewertet. Die Genauigkeit ist der Prozentsatz der Testdaten, die richtig klassifiziert wurden. Wenn der Trainingssatz beispielsweise aus 50 Katzen- und 50 Hundebildern besteht und das Modell 97 von 100 Bildern richtig klassifiziert, liegt die Genauigkeit bei 97 %. Der Verlust ist ein verwandtes, wenn auch etwas nebulöseres Maß. Der Verlust bezieht sich auf die Zuverlässigkeit der Vorhersagen. Beide Modelle treffen 95 % ihrer Vorhersagen richtig, aber das Modell mit dem geringeren Verlust (also mit mehr Vertrauen in die Vorhersagen) wird als das bessere Modell angesehen. Je geringer der Verlust, desto zuverlässiger ist das Modell für die gegebenen Eingaben. Sowohl die Genauigkeit als auch der Verlust können je nach den verschiedenen Testdatensätzen, mit denen das Modell getestet wird, variieren. Daher kann ein umfangreicher Trainingsdatensatz zu einer guten Analyse von Genauigkeit und Verlust beitragen.
Als Nächstes folgt eine Konfusionsmatrix, mit der die Wahrscheinlichkeit ausgedrückt wird, dass ein neues Eingangssignal als eine der möglichen Klassen klassifiziert wird, die während des Trainings ermittelt wurden (Abbildung 3). Im Idealfall würden alle Signale in 100 % der Fälle richtig und in 0 % der Fälle falsch klassifiziert werden. Dies ist jedoch schwer zu erreichen, wenn sich mehrere mögliche Klassifizierungen nur in kleinen Nuancen voneinander unterscheiden. Die Konfusionsmatrix liefert auch eine Zahl, die als F1-Score bezeichnet wird. Der F1-Score ist eine Leistungskennzahl, die häufig beim Machine Learning und bei Klassifizierungsaufgaben verwendet wird. Es handelt sich dabei um ein Maß für die Genauigkeit eines Modells, bei dem sowohl die Präzision als auch die Wiedererkennung berücksichtigt werden. Präzision ist der Anteil wahrer positiver Vorhersagen, d. h. korrekt identifizierter positiver Proben, an allen positiven Vorhersagen des Modells. Die Wiedererkennung ist der Anteil der richtigen positiven Vorhersagen an allen tatsächlich positiven Stichproben. Ein F1-Wert von 1,00 wird als ideal angesehen.
Abbildung 3: Edge Impulse kann mehrere Analyseverfahren durchführen, beispielsweise eine Konfusionsmatrix Ihres Modells, um die Leistung des Modells zu bestimmen. (Quelle: Green Shoe Garage)
Wir beschließen das Thema hier für den Moment. Im nächsten Blogbeitrag werden wir uns mit den Tools beschäftigen, die Edge Impulse zur Bewertung der Qualität Ihres selbst erstellten Machine-Learning-Modells an Bord hat. Dabei werden wir auch untersuchen, wie sich die Auswirkungen von Überanpassung und Unteranpassung abmildern lassen.
Michael Parks, P.E. ist der Eigentümer von Green Shoe Garage, einem Entwicklungsstudio für kundenspezifische Elektronik und Technologieberatung im Süden von Maryland. Er produziert den S.T.E.A.M. Power-Podcast (ein Podcast über MINT-Themen), mit dem er die Öffentlichkeit für technische und wissenschaftliche Fragen sensibilisieren möchte. Michael ist außerdem zugelassener Ingenieur im Bundesstaat Maryland und hat einen Master-Abschluss in Systemtechnik von der Johns Hopkins University.