Embedded Machine Learning Intelligenz am Sensor

Innovationen im Bereich der künstlichen Intelligenz und des ­maschinellen Lernens sind nicht nur mit Hilfe von Cloud-Services ­nutzbar. Sie lassen sich auch in Embedded-Systeme integrieren, um beispielsweise Predictive Maintenance direkt im Sensor zu realisieren.

Die führenden Cloud-Anbieter haben in den vergangenen Jahren viel Geld investiert, um spezielle Datenanalysefunktionen, künst­liche neuronale Netze für Deep Learning sowie andere Machine-Learning-Algorithmen als Dienste auf Ihren Plattformen zur Verfügung zu stellen. Die Angebotsvielfalt und das intensive IT-­typische Marketing blieben nicht ohne Folgen. Immer mehr industrielle IoT-Anwendungen nutzen offensichtlich Sensor-to-Cloud-Konzepte zur Datenauswertung. Dabei werden Sensor-Rohdaten an eine Cloud-Serviceplattform im Internet übertragen, um dort mit Hilfe intelligenter Algorithmen aus dem Umfeld der künstlichen Intelligenz (KI) werthaltige Informationen zu gewinnen, die sich zum Beispiel für Effizienzverbesserungen und Kosteneinsparungen per vorausschauender Instandhaltung nutzen lassen. Auch ohne Betrachtung der Kosten- und Echtzeitaspekte lassen sich für solche Lösungen drei Problembereiche identifizieren.

KI in der Cloud: Drei Probleme

  • Datenmengen- und Bandbreiten­problematik: Die Sensor-Rohdaten werden praktisch in die Cloud gestreamt. Durch Vibrations-, Beschleunigungs-, Schall- und Bildsensoren können sehr große Datenmengen anfallen – aus einer Sekunde Mikrofondaten eines Antriebselements entstehen bei einer Abtastrate von 14,4 kHz insgesamt 14.400 Datenpunkte, die in die Cloud müssen. In einer Maschine oder Anlage können viele solcher Sensordatenquellen gleichzeitig aktiv sein.
  • Verfügbarkeit von Cloud und Kommunikationsverbindung: Weder die Cloud selbst noch die Kommunika­tionsverbindung zwischen Sensor und Cloud besitzen eine 100-%-Verfügbarkeit. Insofern werden nicht alle Sensordaten in der Cloud ankommen bzw. dort zur weiteren Verarbeitung gespeichert. Zufällige auf Grund von Anomalien auftretende Messwerte, die auf ein Lebensdauer-relevantes Ereignis schließen lassen (z. B. Spannungsspitzen, die Kondensatoren beschädigen oder andere messbare Einflussgrößen, die Schäden verursachen können), sollten für die Auswertung aber nicht verloren gehen. Ansonsten lassen sich bevorstehende Maschinen- bzw. Anlagenstillstände durch die Algorithmen in der Cloud nicht sicher vorhersagen.
  • Cloud-Provider-Abhängigkeit (Pro­vider-Lock-in): Da sich die Serviceschnittstellen, Algorithmenimplementierung und Programmierschnittstellen (APIs) einzelner Anbieter erheblich voneinander unterscheiden und der Plattform-übergreifende KI-Datenaustausch beim gegenwärtigen Stand der Technik nahezu unmöglich ist, entsteht durch die Cloud-Anbindung der Sensoren einer Maschine oder Anlage eine große Abhängigkeit vom jeweiligen Serviceprovider. Wird eine Machine-Learning-Anwendung erfolgreich in der Praxis genutzt, ist ein späterer »Umzug« zu einem anderen Provider nur noch mit sehr großem finanziellem Aufwand möglich. Des Weiteren existieren keine Verfügbarkeitsgarantien für die einzelnen Services und APIs. Bei einem angenommenen Lebenszyklus für hochverfügbare Maschinen und Anlagen von beispielsweise 15 Jahren sind Probleme mit Migrationskosten zu erwarten.

Darüber hinaus gibt es besonders in der Industrie-4.0-Welt immer noch viele Unternehmen, die es aufgrund von Si­cherheitsüberlegungen grundsätzlich ablehnen, Maschinen- und Anlagen­daten an eine Cloud zu übermitteln.

Vielfalt 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. Die Cloud-Anbieter konzentrieren sich zurzeit in erster Linie auf Algorithmen für Supervised Machine Learning, ganz besonders auf das sogenannte Deep Learning mit künstlichen neuronalen Netzen.
Insgesamt lässt sich das maschinelle Lernen in drei Bereiche gliedern (Bild 1):

Supervised Learning
Überwachtes maschinelles Lernen: Die meisten der gegenwärtig in der Praxis genutzten Machine-Learning-Algorithmen, wie zum Beispiels CNNs (Convo­lutional Neural Networks) gehören zu dieser Kategorie. Bei diesem Verfahren ist der Zusammenhang zwischen den Eingangs- und Ausgangsgrößen an Hand 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 jeweilige 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 anhand 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
Das unüberwachte maschinelle Lernen 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 hier 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 unterschiedliche Ansätze, wie z. B. das prototypische Bilden von Clusterzentren in einem n-dimensionalen kontinuier­lichen Raum (K-means-Methodik) oder Dichte-basierte 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. Staubsaug- oder Rasenmähroboter im Haus oder Garten nutzen beispielsweise den zum RL gehörenden Q-Learning-Algorithmus, um ohne fremde Hilfe den Weg zur Ladestation zu finden.

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. Aufgrund 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.