Anzeige

Embedded Machine Learning: Trainieren statt programmieren

Embedded-Systeme per Supervised Machine Learning für eine bestimmte Aufgabenstellung zu trainieren anstatt den gewünschten Zusammenhang zwischen den jeweiligen Eingangs- und Ausgangsdaten anhand wissensbasierter Regeln in einer Hochsprache zu codieren, ist für viele Anwendungen inzwischen die deutlich effektivere Alternative.

“ Mit Supervised-Machine-Learning-Algorithmen lassen sich innovative und preiswerte Sensorlösungen mit eingebetteten Systemen schaffen, in denen der Zusammenhang zwischen Eingangs- und Ausgangsgrößen aus Historiendaten gelernt wird. (Bild: SSV Software Systems GmbH)

“ Der Einsatz von Machine Learning für eine Embedded-System-Anwendung besteht aus zwei Phasen. In einer Trainingsphase werden aus den zum Embedded System gehörenden Sensoren zunächst Historiendaten erzeugt, die anschließend zur Modellung genutzt werden. (Bild: SSV Software Systems GmbH)

Die Problematik

In unzähligen eingebetteten Systemen wird eine in speziellen Hochsprachen erstellte Firmware genutzt, die den jeweils gewünschten Zusammenhang zwischen Ein- und Ausgangssignalen anhand von statischen Regeln herstellt, die auf lexikalischem Wissen basieren. Ein typischer Anwendungsfall aus dem Predictive-Maintenance-Umfeld wäre beispielsweise 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 regelbasierten 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 die Ein- und Ausgangsdaten eines Mikrorechners wird ein lernfähiger (Machine Learning) 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.

“ Durch einen ‚Trainieren statt programmieren‘ Lösungsansatz lassen sich z.B. universell nutzbare Machine-Learning-basierte Sensorkonzepte für das Machine Condition Monitoring realisieren. (Bild: SSV Software Systems GmbH)

Varianten des maschinellen Lernens

Da die wesentlichen Grundlagen der künstlichen Intelligenz 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 der Zuordnung der vorliegenden Datenpunkte zu bestimmten Gruppen (den Clustern). Die in der Mathematik zur Verfügung stehenden Methoden nutzen unterschiedliche Ansätze, wie z.B. das prototypische Bilden von Cluster-Zentren in einem n-dimensionalen kontinuierlichen Raum (K-means-Methodik) oder dichtebasierte Regionen als Zentrum eines möglichen Clusters (DBSCAN-Algorithmus). Darüber hinaus gibt es auch noch 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.

Das könnte Sie auch interessieren

Die kostenfreie Nachrichtenapp für die Industrie.Mit der App Industrial News Arena erfahren Sie wichtige Nachrichten aus Ihrer Branche sofort.

Hy-Line Communication präsentiert mit dem WGM160P ein sicheres, vollständig zertifiziertes Wi-Fi-Modul mit geringem Stromverbrauch, das speziell für IoT-Anwendungen entwickelt wurde. Das Modul enthält einen 2,4GHz-802.11- b/g/n-WLAN-Funkchip und eine 72MHz-Cortex-M4 MCU. Moderne Peripherie, wie ein Ethernet-MAC und ein Captouch, ermöglicht es ohne großen Hardwareaufwand zusätzliche Funktionalitäten hinzuzufügen.

Das Unternehmen hat seine RTOS Awareness erweitert und unterstützt nun auch Safertos von Wittenstein auf allen ARM-Prozessoren. Safertos ist ein pre-emptives, Safety Critical RTOS, das vorzertifiziert verfügbar ist für IEC61508 SIL3 und ISO26262 ASIL D. Das neue Softwarepaket enthält eine fertige Konfiguration für den Real Time Kernel.

Mit dem passiv gekühlten Spo-Book Rugged Ryzen bringt der Hardwarehersteller aus Nürnberg einen Mini-PC auf den Markt, der nicht nur eine performante Grafikleistung hat sondern zudem Outdoor- und Vehicle-tauglich ist. Das Herzstück bildet der AMD Ryzen V1807B Embedded-Prozessor mit 4×3,35GHz. Dieser vereint AMDs Zen-CPU- und Vega-GPU-Architekturen zu einer sogenannten APU (Accelerated Processing Unit).

Mit der Einführung von Hyperstones neuem X1 Low-Power-SSD-Controller erscheint die neueste Technologie von des Unternehmens -FlashXE Extended Endurance. FlashXE ist ein Featureset, das weitreichende Kalibrierungs-, Error Correction-, Fehlervermeidungs- und Refresh Mechanismen umfasst, um die maximale Zuverlässigkeit von NAND-Flash-basierten Speichersystemen zu gewährleisten.

Die Installation einer Festplatte oder SSD in einem herkömmlichen Wechselrahmen mit Tray oder Caddy kann lange dauern, besonders wenn Techniker erst die nötigen Schrauben und einen passenden Schraubenzieher finden müssen.

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige