Der Arbeitsablauf für die Entwicklung von Lösungen, die Machine-Learning (ML)-Modelle verwenden, kann sehr komplex sein. Er lässt sich in drei Phasen unterteilen:
Im Mittelpunkt jeder Phase stehen Daten. Und Daten sind der Rohstoff, der die Entwicklung von ML-Modellen vorantreibt. Die Daten können aus einer Vielzahl von Quellen stammen, von Unternehmenssystemen bis hin zu Sensoren, die das Internet der Dinge (IoT) steuern. Es ist unmöglich, ML-Modelle verlässlich zu trainieren, ohne sich auf umfassende und zugängliche Datensätze zu stützen.
Daten müssen zunächst gesammelt, bereinigt, organisiert und katalogisiert werden, bevor sie zum Trainieren von ML-Modellen herangezogen werden können. Zwar können vortrainierte Modelle verwendet werden, doch haben diese den Nachteil, dass sie allgemein sind und möglicherweise präzisiert werden müssen, um für Ihren speziellen Anwendungsfall oder Ihre Betriebsumgebung gut zu funktionieren. So könnte beispielsweise ein Audioerkennungsmodell Schwierigkeiten damit haben, gewünschte Klänge zu erkennen, wenn es nicht mit Daten trainiert wurde, die aus seinem jeweiligen Einsatzbereich stammen. Der Grund dafür ist, dass unterschiedliche Umgebungsgeräusche das Modell beeinflussen könnten.
Erschwert wird das Ganze noch dadurch, dass IoT-Endpunktgeräte wie Mikrocontroller und FPGAs in Bezug auf ihre Speicher- und Prozessorleistung häufig stark eingeschränkt sind. Modelle zu erstellen, die auf derart eingeschränkten Architekturen laufen, ist eine zusätzliche Herausforderung. Mit der Einführung von TensorFlow Lite für CMSIS-NN-Mikrocontroller von Arm® wurden in jüngster Zeit große Fortschritte dabei erzielt, neuronale Netze auf Geräten mit geringem Stromverbrauch laufen zu lassen. Das Sammeln neuer Datensätze und das Trainieren neuer Modelle ist aber nach wie vor keine leichte Aufgabe. Zum Glück gibt es verschiedene Anbieter, die die Datenverarbeitung, das Modelltraining und die Bereitstellung so einfach wie möglich gestalten. Einer davon ist Edge Impulse, ein Unternehmen mit Sitz in San José, Kalifornien (USA).
Edge Impulse ist ein Cloud-basierter Dienst, der es Entwicklern ermöglicht, auf eine Vielzahl eingebetteter Plattformen zuzugreifen, um Sensordaten aus der Cloud zu erfassen, mithilfe dieser Daten ein TinyML-Modell zu trainieren und dieses dann zur Inferenzierung an das IoT-Gerät zurückzusenden (Abbildung 1). Dies geschieht intuitiv mithilfe einer Handvoll hervorragend konzipierter Tools und Workflows.
Abbildung 1: Edge Impulse ist ein Cloud-basiertes Tool, das die Komplexität der Arbeitsabläufe für Entwickler von Embedded Systems erheblich reduziert, wenn sie ihre Produkte mit Machine Learning (ML) ausstatten. (Quelle: Edge Impulse)
Im Laufe des nächsten Jahres werden wir uns die unterschiedlichen Software-Komponenten von Edge Impulse ansehen und auch, wie sie genutzt werden können, um die Entwicklung von maschinellen Lernalgorithmen für den Einsatz in Embedded Systems zu vereinfachen. Dieser Blog beschäftigt sich mit der Entwicklung eines rudimentären Modells, das die Beschleunigungsmesser auf einem Arduino Nano 33 BLE Sense Development Board wirkungsvoll einsetzt.
Die Übertragung von Sensordaten in die Cloud ist dank der zunehmenden Verbreitung von drahtlosen Internetverbindungen und vereinfachten Programmierwerkzeugen wie Anwendungsprogrammierschnittstellen (APIs) zu einer relativ trivialen Angelegenheit geworden. Edge Impulse setzt diese Entwicklungen wirksam ein, um die Datenaufnahme weiter zu beschleunigen (Abbildung 2).
Abbildung 2: Edge Impulse bietet mehrere Möglichkeiten, Trainings- und Testdaten in die Umgebung einzubringen, einschließlich .csv-Dateien mit Rohdaten. (Quelle: Edge Impulse)
Edge Impulse bietet drei Tools an, die diese erste Phase der ML-Pipeline unterstützen.
Abbildung 3: Development Boards, die nicht über eine eigene Internetverbindung verfügen, können Daten via USB an den mit dem Internet verbundenen Hostcomputer senden, der die Daten dann an Edge Impulse weiterleitet. (Quelle: Edge Impulse)
Edge Impulse bietet für eine Handvoll eingebetteter Development Boards mit integrierten Sensoren eine vorgefertigte Firmware an, die alle Sensordaten mit minimaler Einrichtung an den Aufnahmedienst sendet. Die Firmware sorgt für den größtmöglichen Nutzen der oben erwähnten Tools. Anschließend können Sie im Browser festlegen, welche Daten Sie für die Erstellung Ihres Modells verwenden möchten. Wir werden in einem zukünftigen Beitrag der Edge Impulse-Reihe von Mouser näher auf dieses Thema eingehen.
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.