Willkommen zurück zu unserer Beitragsreihe über Machine Learning und die besonderen Fähigkeiten, die Edge Impulse den Entwicklern von Embedded-Systemen für die KI in ihren Produkten bietet. In unserem letzten Beitrag haben wir die Probleme erörtert, die bei der Entwicklung eines neuronalen Netzwerks auftreten können. Außerdem haben wir uns mit einigen der Tools beschäftigt, die Edge Impulse zur Bewertung der Qualität Ihrer Modelle anbietet. In diesem Beitrag stellen wir Ihnen nun die Datenexplorer-Ansicht vor. Der Datenexplorer ist vielleicht eine der visuell beeindruckendsten Ansichten und gibt Entwicklern einen leicht verständlichen Überblick darüber, wie gut das neuronale Netzwerk den Trainingsdatensatz auf einer Punkt-für-Punkt-Basis klassifiziert hat (Abbildung 1). Nehmen wir zum Beispiel an, dass ein Klassifizierer Vorhersagen aufgrund der Daten eines 3-Achsen-Beschleunigungsmessers (X, Y, und Z) macht. Edge Impulse stellt jeden Datenpunkt in einem dreidimensionalen Raster dar (2D-Raster bei nur zwei Variablen). Die Farben werden in Abhängigkeit davon kodiert, ob das Modell die Klassifizierung korrekt vorhergesagt hat oder nicht. Im Idealfall werden alle Datenpunkte mit einer ähnlichen Klassifizierung gruppiert. Darüber hinaus kann jeder Datenpunkt einzeln ausgewählt werden, so dass der Entwickler detaillierte Einblicke erhält, die insbesondere bei der Diagnose hilfreich sein können, warum ein Trainings- oder Prüfungspunkt falsch klassifiziert wurde.
Die Analyse des Betriebsverhaltens hängt auch von der gewählten Embedded-Plattform ab. Da jeder Mikrocontroller über unterschiedliche Hardware-Merkmale und Technische Daten verfügt, kann das Betriebsverhalten eines Modells erheblich variieren. Parameter wie die Betriebsfrequenz sowie die Größe und Geschwindigkeit des Speichers (Flash und RAM) gehören zu den wichtigsten Faktoren. Edge Impulse kann das Betriebsverhalten Ihres Modells in Echtzeit für zahlreiche führende Embedded-Plattformen berechnen. Edge Impulse gibt eine Einschätzung der Inferenzzeit, der RAM-Nutzung und der Nutzung des Flash-Speichers (Abbildung 2). Die Inferenzzeit ist die Zeit, die zwischen der Eingabe neuer Eingangsdaten in das neuronale Netzwerk und dem Zeitpunkt vergeht, zu dem das Modell einen Ausgang in Form einer vorhergesagten Klassifizierung des Signals liefert. Typischerweise wird diese Zeit in Millisekunden gemessen. Die RAM- und Flash-Nutzung wird als der für die Durchführung der Inferenz erforderliche Spitzenspeicher angegeben, der bei Embedded-Systemen häufig in Kilobytes angegeben wird.
Wir haben nun ein besseres Verständnis der Tools, die Edge Impulse bereitstellt, um den Funktionsumfang und das Betriebsverhalten von Machine-Learning-Modellen zu untersuchen. Wie bereits im vorherigen Beitrag erwähnt, gibt es zwei große übergreifende Problembereiche, die das Betriebsverhalten des Modells beeinträchtigen können. Zum einen tritt eine Überanpassung auf, wenn das Betriebsverhalten eines Modells in den Trainingsdaten außerordentlich gut ist, es aber nicht auf neue, ungesehene Daten verallgemeinert werden kann. Das Modell „merkt“ sich im Wesentlichen die Trainingsbeispiele. Zum anderen kommt es zu einer Unteranpassung, wenn ein Modell zu einfach ist, um die zugrunde liegenden Muster in den Trainingsdaten zu erfassen. Das Modell lernt nicht aus den Daten und hat Schwierigkeiten, genaue Vorhersagen für den Trainingssatz und neue Daten zu treffen.
Um der Überanpassung entgegenzuwirken, können verschiedene Techniken eingesetzt werden:
Um der Unteranpassung entgegenzuwirken, können Sie die folgenden Techniken anwenden:
Wie bereits erwähnt, besteht die Schwierigkeit bei der Feinabstimmung eines Modells in der Abwägung zwischen Bias und Varianz. Der Bias bezieht sich auf den Fehler, der durch die Annäherung eines realen Problems mit einem vereinfachten Modell entsteht. Ein Modell mit hohem Bias weist in der Regel eine Unteranpassung auf. Die Varianz hingegen bezieht sich auf die Empfindlichkeit des Modells gegenüber Schwankungen in den Trainingsdaten. Ein Modell mit hoher Varianz ist übermäßig komplex und erfasst das Rauschen in den Trainingsdaten, was zu einer Überanpassung führt. Zusätzlich zu den oben besprochenen Regularisierungstechniken können Kreuzvalidierung, Hyperparameterabstimmung und das Sammeln von vielfältigeren und repräsentativeren Trainingsdaten dazu beitragen, die optimale Balance zwischen Bias und Varianz zu finden.
Durch den Einsatz der von Edge Impulse zur Verfügung gestellten Tools zur Analyse von Modellen und die Kenntnis von Unteranpassung und Überanpassung sowie von Techniken zur Verringerung der Auswirkungen beider Faktoren können Sie sicherstellen, dass die von Ihnen erstellten Modelle genau sind und auf der von Ihnen gewählten Embedded-Plattform ein erstklassiges Betriebsverhalten aufweisen. In den folgenden Beiträgen der Edge Impulse Blogreihe werden wir uns damit befassen, wie Sie Echtzeit-Inferenzierung, Versionierung und sichere Bereitstellung Ihres Machine-Learning-Modells auf realen Bauelementen im Labor und in der Praxis durchführen können.
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.