South Africa - Flag South Africa

Incoterms:DDU
Duty, customs fees and taxes are collected at time of delivery.

Please confirm your currency selection:

US Dollars
Free shipping on most orders over $150 (USD)
All major credit cards accepted

Euros
Free shipping on most orders over 150 € (EUR)
All major credit cards accepted

South African Rand
Free shipping on most orders over R2 000 (ZAR)
American Express not accepted as a method of payment

British Pounds
Free shipping on most orders over £150 (GBP)
All major credit cards accepted

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Grundlagen von Edge Impulse – Teil 6 Mike Parks

Grundlagen von Edge Impulse – Teil 6: Leistung von Machine-Learning-Modellen verbessern

(Quelle: eireenz- stock.adobe.com)

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.

Abbildung 1: Der Datenexplorer von Edge Impulse bietet einen visuellen Modus, um zu evaluieren, wie ein Machine-Learning-Modell die Trainingsdaten klassifiziert. (Quelle: Green Shoe Garage)

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.

Abbildung 2: Edge Impulse kann die Inferenzzeit, die RAM-Nutzung und die Nutzung des Flash-Speichers eines Machine-Learning-Modells abschätzen. (Quelle: Green Shoe Garage)

Verbesserung der Modellleistung

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.

Umgang mit Überanpassung (Overfitting)

Um der Überanpassung entgegenzuwirken, können verschiedene Techniken eingesetzt werden:

  • Erhöhen Sie die Anzahl der Trainingsdaten und die Vielfalt, um den Problemraum besser zu repräsentieren.
  • Vereinfachen Sie die Modellarchitektur, indem Sie die Anzahl der Parameter reduzieren oder Methoden wie die Auswahl von Merkmalen oder die Reduzierung der Dimensionalität anwenden. Bei der Verwendung eines 3-Achsen-Beschleunigungsmessers muss das Modell beispielsweise die nicht benötigten Achsen ignorieren und nur die Bewegung in zwei Ebenen berücksichtigen.
  • Wenden Sie Verfahren wie Dropout oder frühzeitiges Anhalten während des Trainings an, um zu verhindern, dass sich das Modell zu sehr auf bestimmte Merkmale stützt oder die Trainingsdaten zu sehr iteriert.
  • Verwenden Sie Regularisierungstechniken wie die L1- oder L2-Regularisierung, um Abzüge für übermäßig komplexe Modelle vorzunehmen. Die mathematischen Grundlagen von L1 (auch Lasso-Regularisierung genannt) und L2 (auch Ridge-Regularisierung genannt) würden den Rahmen dieses Artikels sprengen. Wenn Sie den Verdacht haben, dass Ihr Modell eine Überanpassung aufweist, können Sie während des Trainings Techniken anwenden, um dies auszugleichen. Konkret bedeutet das die Anwendung eines so genannten Regularisierungsterms auf die Verlustfunktion des Modells während des Trainings. Die L1-Regularisierung sorgt für mehr Sparsamkeit und kann bei der Auswahl von Merkmalen hilfreich sein. Die L2-Regularisierung fördert kleine Gewichtungen ungleich Null und kann helfen, eine Überanpassung zu verhindern. Mehr zu beiden Themen erfahren Sie in einem Folgebeitrag.

Umgang mit Unteranpassung (Underfitting)

Um der Unteranpassung entgegenzuwirken, können Sie die folgenden Techniken anwenden:

  • Erhöhen Sie die Komplexität des Modells, indem Sie weitere Parameter, Ebenen oder Features hinzufügen. Mit anderen Worten: Suchen Sie nach Möglichkeiten, um Unterschiede zwischen den von Ihnen ausgewählten Klassifizierungen zu ermitteln.
  • Trainieren Sie das Modell für mehr Zeiträume (Epochen) oder erhöhen Sie die Kapazität des Modells.
  • Ziehen Sie die Verwendung einer leistungsfähigeren oder flexibleren Modellarchitektur in Betracht.

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.

Fazit

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.



« Zurück


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.


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen