Im vorherigen Kapitel unserer Edge Impulse-Reihe haben wir uns näher mit dem Create-Impulse-Workflow und Verarbeitungsblöcken beschäftigt. Zur Erinnerung: Mithilfe von Verarbeitungsblöcken werden einzigartige Merkmale aus den Rohdaten extrahiert, die wiederum in die Lernblöcke eingespeist werden. So wird ein benutzerdefiniertes Machine-Learning-Modell erstellt, das schließlich in Embedded-Systemen für Edge-Inferencing in Echtzeit eingesetzt werden kann. Es gibt verschiedene Arten von Verarbeitungsblöcken, die jeweils für unterschiedliche Arten von Daten geeignet sind, beispielsweise für Bilder, Ton und Beschleunigungsmesser.
In diesem Beitrag befassen wir uns mit Lernblöcken und dem Ausgabeblock als Abschluss des Create-Impulse-Workflows. In Edge Impulse bezeichnet der Begriff Lernblöcke die Algorithmen für das Machine Learning, die zum Trainieren von Modellen mit vorverarbeiteten Daten verwendet werden. Diese Algorithmen sind so konzipiert, dass sie aus den extrahierten Datenmerkmalen Muster und Beziehungen erkennen und auf der Grundlage dieser Erkenntnisse Vorhersagen oder Klassifizierungen vornehmen.
Den Edge Impulse-Nutzern stehen verschiedene „vorbereitete“ Lernblöcke zur Verfügung, die sich für unterschiedliche Anwendungsfälle eignen. Sie können auch gestapelt werden, um verschiedene Ergebnisse zu erzielen (Abbildung 1). Zu den wichtigsten standardmäßig verfügbaren Lernblöcken zählen unter anderem:
Wie bei den Verarbeitungsblöcken können Benutzer ihre eigenen benutzerdefinierten Lernblöcke in PyTorch, Keras oder scikit-learn erstellen und diese in die Edge Impulse-Trainingspipeline einbringen. Edge Impulse unterstützt eine Reihe gängiger Algorithmen für Machine Learning, darunter neuronale Netze, Entscheidungsbäume und Support Vector Machines. Das Verständnis der Feinheiten der verschiedenen Machine-Learning-Algorithmen ist von entscheidender Bedeutung, da Edge Impulse-Benutzer die Leistung des Verarbeitungsblocks durch die Konfiguration verschiedener Parameter erheblich beeinflussen können. Im Folgenden schauen wir uns die gängigsten Machine-Learning-Modelle genauer an:
Die Lernblöcke von Edge Impulse bieten eine Reihe von Algorithmen für Machine Learning, die für verschiedene Arten von Eingabedaten und unterschiedliche Anwendungsfälle geeignet sind. So können die Benutzer durch Auswahl des geeigneten Lernblocks für eine bestimmte Aufgabe Machine-Learning-Modelle erstellen, die für ihre spezifischen Anforderungen optimiert sind.
Damit ist der Aufbau der Impulstrainings-Pipeline abgeschlossen. Die Trainingsdaten können nun zum Trainieren des neuronalen Netzes verwendet werden, und wir können beginnen, die Leistung unseres Modells zu ermitteln (Abbildung 2). Die folgenden Schritte variieren je nach den verwendeten Lernblöcken.
Im nächsten Teil unserer Edge Impulse-Beitragsreihe beschäftigen wir uns mit der Verwendung der Edge Impulse-Trainingspipeline zur Analyse der Spektralkomponenten der Rohdaten und zur Erzeugung von Merkmalen, Anomalieerkennung und Klassifikatoren.
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.