Embedded Machine Learning: ML-Algorithmus statt klassischer Firmware

Anbieter zum Thema

Per maschinellem Lernen (ML) lassen sich viele Embedded Systeme auch ohne spezielle Firmware-Entwicklung entwickeln und austesten. Besonders Anwendungen, in denen ein bestimmter Zusammenhang zwischen den Eingangs- und Ausgangsdaten anhand wissensbasierter Regeln in einer Hochsprache codiert wurde, eigenen sich hervorragend für den ML-Einsatz.

DNP/AISS1 Embedded-Machine-Learning-Starterkit: Das Kit besteht aus einem kompakten Evaluierungsboard mit einem 32-Bit-ARMCortex-A5-Rechnermodul, einer 10/100Mbps-LAN-Schnittstelle sowie verschiedenen Sensoren (1x triaxialer Inertialsensor, 1x Umgebungssensor mit Temperatur, Luftdruck und Luftfeuchtigkeit, 1x Kompasssensorelement).
DNP/AISS1 Embedded-Machine-Learning-Starterkit: Das Kit besteht aus einem kompakten Evaluierungsboard mit einem 32-Bit-ARMCortex-A5-Rechnermodul, einer 10/100Mbps-LAN-Schnittstelle sowie verschiedenen Sensoren (1x triaxialer Inertialsensor, 1x Umgebungssensor mit Temperatur, Luftdruck und Luftfeuchtigkeit, 1x Kompasssensorelement).
(Bild: SSV Software Systems GmbH)

In eingebetteten Systemen wird meist eine in speziellen Hochsprachen erstellte Firmware genutzt, die den jeweils gewünschten Zusammenhang zwischen Ein- und Ausgangssignalen anhand von statischen Regeln herstellt, die auf lexikalisches Wissen basieren. Ein typischer Fall aus dem Predictive-Maintenance-Umfeld wäre etwa eine komplexe Sensorikapplikation zur Zustandsüberwachung eines elektrischen Antriebs mit Hilfe von triaxialen Beschleunigungs- und Winkelgeschwindigkeitssensoren: Die Embedded-Systems-Firmware im Sensorsystem verarbeitet die analogen Rohdaten der einzelnen Sensorelemente und liefert anhand eines programmierten Regel-basierten Messverfahrens (welche Frequenzen und Amplituden sind jeweils zulässig?) das gewünschte digitale Ausgangssignal.

Klassische Firmware-Entwicklungen für komplexe Embedded Systeme sind aufwändig und über die gesamte Produktlebensdauer betrachtet, relativ inflexibel. Jede noch so kleine Änderung der Anforderungen löst einen neuen Entwicklungszyklus aus. Durch die zahlreichen Weiterentwicklungen im Bereich der künstlichen Intelligenz (KI) ist nun ein weiterer Lösungsansatz möglich: Zwischen den Ein- und Ausgangsdaten eines Mikrorechners wird ein lernfähiger Machine-Learning-(ML)-Algorithmus geschaltet und mittels spezieller Trainingsdaten für eine bestimmte Aufgabenstellung konfiguriert. Dabei entsteht ein mathematisches Modell, das den jeweiligen Zusammenhang der Ein- und Ausgänge abbildet. Anforderungsänderungen werden durch eine erneute Trainingsphase und mit Hilfe zusätzlicher Referenzdaten umgesetzt. Grundsätzlich lässt sich mit dieser Vorgehensweise jedes Problem, dessen Zusammenhang zwischen Ein- und Ausgängen durch ein mathematisches Modell beschreibbar ist, lösen.

Verschiedene Machine-Learning-Varianten einsetzbar

Da die wesentlichen Grundlagen der KI und des maschinellen Lernens aus den 50er Jahren stammen, gibt es mittlerweile eine schwer überschaubare Algorithmenvielfalt. Insgesamt lässt sich das maschinelle Lernen in drei Bereiche gliedern:

Supervised Learning: Überwachtes maschinelles Lernen. Die meisten der gegenwärtig in der Praxis genutzten Machine-Learning-Algorithmen, wie zum Beispiels CNNs (Convolutional Neural Networks) gehören zu dieser Kategorie. Bei diesem Verfahren ist der Zusammenhang zwischen den Eingangs- und Ausgangsgrößen anhand von Historiendaten im Vorfeld bekannt. Insofern haben wir es mit einem Mapping der Eingangsdaten auf den Ausgang zu tun, wie es auch bei unzähligen klassischen Embedded-System-Programmieraufgaben der Fall ist. Der jeweils zum Einsatz kommende Algorithmus muss zunächst trainiert werden. Dabei entsteht ein Modell. Für die Trainingsphase werden gelabelte (Historien-) Daten benötigt. Bei einer sinnvollen Abstimmung zwischen den Daten und dem jeweils gewählten Algorithmus sowie einer ausreichenden Trainingsdatenmenge von guter Qualität lassen sich anschließend mit Hilfe bisher unbekannter Datenwerte relativ genaue diskrete Klassifizierungs- oder kontinuierliche Regressionswerte vorhersagen. Typische Anwendungsbeispiele für überwachtes Lernen sind die Objekterkennung in Bilddaten (Mustererkennung) und die Vorhersage des Energiebedarfs einer Maschine. Die in der Trainingsphase des Supervised Machine Learnings entstehenden Modelle sind statisch und müssen bei Bedarf durch ein erneutes Training an veränderte Bedingungen angepasst werden.

Unsupervised Learning: Unüberwachtes maschinelles Lernen. Dieses Verfahren wird bei Bedarf auf Daten mit unbekannten Zusammenhängen angewendet, um in den Eingangsdaten mit Rechnerunterstützung nach Mustern (Clustern) und den Grenzen zwischen den gefundenen Clustern zu suchen. Insofern spricht man bei dieser Kategorie des maschinellen Lernens auch häufig von Clusteranalysen, also die Zuordnung der vorliegenden Datenpunkte zu bestimmten Gruppen (den Clustern). Die in der Mathematik zur Verfügung stehenden Methoden nutzen Ansätze wie z. B. das prototypische Bilden von Cluster-Zentren in einem n-dimensionalen kontinuierlichen Raum (K-means-Methodik) oder Dichte-basierte Regionen als Zentrum eines möglichen Clusters (DBSCAN-Algorithmus). Darüber hinaus gibt es hierarchische Clusterverfahren. Die gefundenen Ähnlichkeitsstrukturen und die per Clusteranalyse festgelegten Gruppen können in der Praxis als Vorlage zum Labeln der bisher unbekannten Daten für ein anschließendes Supervised Machine Learning dienen.

Reinforcement Learning: Bestärkendes maschinelles Lernen. Beim Reinforcement Learning (RL) steht die Interaktion eines lernenden Agenten mit seiner Umwelt im Mittelpunkt. Mit Hilfe des RL können Computer nicht nur Brettspiele wie Schach oder Go gewinnen. Diese Methodik des maschinellen Lernens spielt inzwischen auch für Embedded Systeme in der Robotik und bei autonom agierenden Logistiksystemen, z. B. vollautonome Flurförderzeuge wie Gabelstapler eine sehr wichtige Rolle. Des Weiteren nutzen Staubsaug- oder Rasenmähroboter im Haus oder Garten beispielsweise den zum RL gehörenden Q-Learning-Algorithmus, um ohne fremde Hilfe den Weg zur Ladestation zu finden usw. Die Zusammenhänge beim RL sind relativ einfach: Die Umwelt des Agenten, die von diesem beeinflusst werden kann, besitzt eine bestimmte Anzahl von Zuständen. Jede Aktion des Agenten führt zu einem anderen Umweltzustand, für den der Agent als „Reinforcement“ eine Belohnung erhält – z. B. einen Wert zwischen 0 und 100. Anhand der Belohnungsintensität kann der Algorithmus selbstständig eine Strategie mit der besten Abfolge von Schritten erlernen, die zum jeweiligen Ziel führt. Genaugenommen könnte man das Reinforcement Learning auch dem unüberwachten maschinellen Lernen zuordnen. Auf Grund der völlig unterschiedlichen Algorithmen und Daten, die vor dem Lernen zur Verfügung stehen müssen, wird allerdings das maschinelle Lernen in drei Teilgebiete gegliedert.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung
Bildergalerie

Der Weg zum Ziel: Machine Learning im Embedded-Einsatz

Beim Einsatz eines Supervised Machine Learning auf eingebetteten Systemen lässt sich für bestimmte Zielapplikationen inzwischen ein deutlich größerer Nutzen als durch die bisher üblichen Softwareentwicklungsprozesse erzielen. Für Aufgabenstellungen, bei denen der Zusammenhang zwischen den Ein- und Ausgangsdaten vorher bekannt oder aus größeren Datenmengen automatisch erlernbar ist, muss nicht unbedingt eine anwendungsbezogene Firmware entwickelt werden. Es kann stattdessen auch ein Standard-Algorithmus für überwachtes Lernen auf dem Embedded System implementiert werden, der dann mit gelabelten Beispieldaten im Hinblick auf die Aufgabenstellung trainiert oder mit einem extern trainierten Modell versorgt wird.

Vergleicht man die Schritte einer programmierten Condition-Monitoring-Lösung für einen elektrischen Antrieb mit dem Machine-Learning-Ansatz, ergibt sich folgendes Bild:

  • Sensorrohdatenerfassung: Hier gibt es praktisch keinen Unterschied zwischen den Lösungsansätzen. Sensordatenerfassung, Digitalisierung und die Auswahl der Zahlendarstellung (Integer- oder Floating Point-Format) ist in jedem Fall zu codieren.
  • Datenvorverarbeitung: Für Schwingungsdaten, wie in Bild 1 dargestellt, ist in der Regel eine FFT (Fast Fourier Transform) vor der eigentlichen Datenanalyse sinnvoll. Auch dieser Algorithmus zur diskreten Fourier-Transformation ist in beiden Fällen per Firmware zu implementieren.
  • Automatische Datenanalyse: Hier gibt es wesentliche Unterschiede. Die Programmierung einer Datenanalyse setzt voraus, dass dem Entwicklerteam das Wissen um die Frequenzen und Amplituden, die einen bestimmten Antriebszustand kennzeichnen, mit allen Details zur Verfügung steht. Beim Machine-Learning-Ansatz ist das nicht erforderlich. Genaugenommen spielt noch nicht einmal die Antriebscharakteristik selbst eine Rolle.
  • Ergebnisweitergabe: Mit welcher physikalischen und logischen Schnittstelle, z. B. Ethernet und Profinet, das Ergebnis der Datenanalyse weitergegeben wird, ist ebenfalls Lösungsansatz-agnostisch.

Automatische Datenanalyse mit ML schnell umsetzbar

Abschließend lässt sich feststellen, dass insbesondere die automatische Datenanalyse einer Zustandsüberwachungs-Sensorikapplikation mit Hilfe des maschinellen Lernens sehr viel einfacher, schneller und flexibler realisiert werden kann, als eine manuell ausprogrammierte Embedded-Lösung. Für den einfachen Einstieg in das Thema steht mit dem DNP/AISS1 ein Embedded-Machine-Learning-Starterkit mit einem triaxialem Inertialsensor und einem komplett vorinstalliertem Machine-Learning-Einsteigerbeispiel für das zur Condition Monitoring Verfügung. Nähere Details zu dem Machine-Learning-Kit können Sie dem zugehörigen Whitepaper entnehmen.

* Klaus-Dieter Walter ist CEO für der SSV Software Systems GmbH in Hannover.

Artikelfiles und Artikellinks

(ID:46188643)