Embedded Machine Learning: Trainieren statt programmieren

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.

Seiten: 1 2Auf einer Seite lesen

Thematik: Allgemein
SSV Software Systems GmbH
www.ssv-embedded.de

Das könnte Sie auch Interessieren

Bild: PiBond Oy
Bild: PiBond Oy
PSI Institut und PiBond kooperieren

PSI Institut und PiBond kooperieren

PiBond, Hersteller von Materialien für die Halbleiterindustrie, hat mit dem Paul Scherrer Institut PSI, Forschungsinstitut für Natur- und Ingenieurwissenschaften in der Schweiz, eine Vereinbarung über Technologielizenzen und strategische Zusammenarbeit unterzeichnet, um die Entwicklung von lithografischen Werkstoffen der nächsten Generation sowie zukünftige Halbleiterinnovationen voranzutreiben.