Internet der Dinge KI auf eingebetteten Systemen

Schlaue Alternativen in der Emdded-KI.
Schlaue Alternativen in der Emdded-KI.

KI auf Embedded-Geräten – das ist ein Problem, denn die Prozessoren sind schwach, die Speicher knapp. Aber es müssen nicht immer neuronale Netzwerke sein und der Anlernvorgang muss auch nicht auf den Embedded-Geräten stattfinden. Mit schlauen Alternativen ist Embedded-KI heute schon machbar.

Künstliche Intelligenz (KI) wird heute als eine wichtige Technologie für die Entwicklung des Internet der Dinge (IoT) und cyberphysikalischer Systeme (CPS) wie Roboter und autonome Fahrzeuge angesehen. Der intelligente Lautsprecher, der jetzt im Wohnzimmer vieler Haushalte steht, ist ein Beispiel für fortgeschrittene KI im Alltag – durch seine Fähigkeit, natürliche Sprache zu erkennen und qualitativ hochwertige Sprache zu synthetisieren. Dazu muss der Sprecher Daten an mehrere Hochgeschwindigkeitsrechner in entfernten Serverfarmen weitergeben. Die eingebettete Hardware ist zu begrenzt, um die Deep-Neural-Network-Algorithmen ausführen zu können, auf die sie sich stützen.

KI in der Anwendung

Die KI muss sich aber nicht auf den Einsatz in Hochleistungsrechnern in Serverfarmen beschränken. KI-Techniken werden nun auch zur Verwaltung des immens komplexen 5G-Funkprotokolls in Erwägung gezogen. Die Anzahl der Kanalparameter, die von Mobiltelefonen analysiert werden müssen, um optimale Datenraten zu liefern, hat die Fähigkeit der Ingenieure, effiziente Algorithmen zu entwickeln, überholt. Algorithmen, die auf Daten aus Feldversuchen trainiert wurden, haben sich als guter Weg herausgestellt, um die Ausgewogenheit verschiedener Einstellungen zu optimieren.
Wenn es darum geht, die reibungslose Funktion von Industrieanlagen in entlegenen Gebieten sicherzustellen, werden Algorithmen des Machine Learning, die auf eingebetteter Hardware laufen, zu einem mächtigen Werkzeug. Herkömmliche Algorithmen wie z. B. Kalman-Filter können mit linearen Beziehungen zwischen verschiedenen Arten von Eingangsdaten wie Druck, Temperatur und Vibration umgehen. Aber die Frühwarnungen vor Problemen werden oft durch Veränderungen in Beziehungen identifiziert, die hochgradig nichtlinear sein können.

Der geeignete Algorithmus

Systeme können auf Daten von funk¬tionstüchtigen und ausgefallenen Maschinen trainiert werden, um mögliche Probleme zu erkennen, wenn sie mit Echtzeitdaten gespeist werden. Ein neuronales Netzwerk ist dafür zwar eine beliebte Wahl, aber nicht die einzige verfügbare KI-Lösung. Es gibt viele Algorithmen, die angewendet werden können, und andere Methoden können für die jeweilige Aufgabe möglicherweise besser geeignet sein.

Eine mögliche Lösung ist künstliche Intelligenz auf der Basis von Regeln. Dabei wird statt des Machine Learning die Expertise von Fachleuten genutzt, die in einer Regelbasis codiert wird. Eine Inferenzmaschine analysiert die Daten mit Hilfe der Regeln und versucht, aus den aktuellen Bedingungen den Zustand der Maschine zu bestimmen, indem die größtmögliche Übereinstimmung mit den Regel detektiert wird. Ein regelbasiertes System hat einen geringen Rechenaufwand, aber die Entwickler werden auf Schwierigkeiten stoßen, wenn die Bedingungen mit einfachen Anweisungen nur schwer auszudrücken sind oder die Beziehungen zwischen Eingabedaten und Aktionen nicht gut verstanden werden. Letzteres gilt für die Sprach- und Bilderkennung, wo sich das maschinelle Lernen bewährt hat.

Maschinelles Lernen ist eng mit Optimierungsprozessen verbunden. Ein maschinell lernender Algorithmus wird versuchen, die Eingangsdaten möglichst gut zu klassifizieren oder sie anderweitig in einer sinnvolle Ordnung zu bringen. Ein Kurvenanpassungs-Algorithmus, der auf einer Technik wie der linearen Regression beruht, kann als der einfachste maschinelle Lernalgorithmus betrachtet werden: einer, der die Datenpunkte nutzt, um das am besten passende Polynom zu formulieren, das dann verwendet wird, um die wahrscheinlichste Ausgabe für einen gegebenen Eingangswert zu bestimmen. Die Kurvenanpassung ist nur für Systeme mit sehr geringen Zahl von Parametern geeignet. Echte maschinelle Lernanwendungen können mit komplexen, hochdimensionalen Problemen umgehen.

Noch weiter gehen Clustering-Algorithmen. Dabei werden Daten in Gruppen klassifiziert. Ein typischer Algorithmus führt eine Schwerpunktbildung durch, aber es werden auch viele andere Arten der Clusteranalyse beim maschinellen Lernen verwendet. Ein Schwerpunkt-Algorithmus verwendet den geometrischen Abstand zwischen den Datenpunkten, um festzustellen, ob sie in die eine oder andere Gruppe fallen (Bild 1). Die Cluster-analyse ist oft ein iterativer Prozess, bei dem verschiedene Kriterien angewendet werden, um zu bestimmen, wo Grenzen zwischen Clustern entstehen und wie eng verwandte Datenpunkte innerhalb eines einzelnen Clusters sein müssen. Die Technik eignet sich jedoch gut, um Muster in Daten zu identifizieren, die Fachleute nicht entdecken könnten. Eine weitere Möglichkeit, Daten in Klassen aufzuteilen, ist die Support Vector Machine (SVM), die mehrdimensionale Daten in Klassen entlang von Hyperebenen aufteilt, die mit Hilfe von Optimierungstechniken erzeugt werden.

Der Entscheidungsbaum ist das Mittel der Wahl, um geclusterte Daten einem Regelwerk zuzuführen. Ein Entscheidungsbaum bietet dem KI-Algorithmus die Möglichkeit, Dateneingaben zu verarbeiten, um eine Antwort zu entwickeln. Jeder Zweig im Baum kann durch Clusteranalyse der Eingabedaten ermittelt werden (Bild 2). Beispielsweise kann sich ein System ab einer bestimmten Temperatur anders verhalten, sodass ein unter anderen Bedingungen akzeptabler Druckwert auf ein Problem hinweisen kann. Ein Entscheidungsbaum kann diese Kombinationen von Bedingungen verwenden, um die auf die Situation am besten zutreffenden Regeln zu finden.

Es müssen nicht immer Deep Neural Networks sein

Obwohl Deep Neural Networks in der Regel leistungsfähige Hardware benötigen, um in Echtzeit zu laufen, gibt es einfachere Strukturen wie z. B. Adversal Neural Networks, die erfolgreich auf mobilen Robotern mit 32-bit- oder 64-bit-Prozessoren, wie sie in den Raspberry-Pi-Plattformen zu finden sind, implementiert wurden. Der entscheidende Vorteil des Deep Neural Network (DNN) liegt in der großen Anzahl von Schichten. Die Schichtstruktur ermöglicht es Neuronen, Verbindungen zwischen mehrdimensionalen Datenelementen zu codieren, die räumlich und zeitlich stark voneinander getrennt sein können, aber wichtige Beziehungen aufweisen, die sich während des Trainingsprozesses zeigen

Ein Nachteil des DNN ist nicht nur der Rechenaufwand, sondern auch die enorme Datenmenge, die für das Training benötigt wird. Deshalb werden auch andere Algorithmen wie die auf Gaußschen Prozessen beruhenden Algorithmen von KI-Forschern untersucht. Diese nutzen die Wahrscheinlichkeitsanalyse von Daten, um Modelle zu erstellen, die ähnlich wie neuronale Netze funktionieren, aber wesentlich weniger Trainingsdaten erfordern. Der Erfolg des DNN macht es jedoch kurzfristig zu einem Schlüsselkandidaten für den Umgang mit komplexen mehrdimensionalen Eingaben wie Bildern, Videos und Streaming-Samples von Audio- oder Prozessdaten.

Eine Möglichkeit in Anwendungen mit komplexen Anforderungen kann sein, einen einfachen KI-Algorithmus im eingebetteten Gerät zu verwenden, um nach Ausreißern in den Eingabedaten zu suchen und dann Dienste aus der Cloud anzufordern, die die Daten genauer analysieren, um eine genauere Antwort zu liefern. Eine solche Aufteilung würde dazu beitragen, die Echtzeit-Performance aufrechtzuerhalten, die Datenmenge, die über große Entfernungen übertragen werden muss, zu begrenzen und einen kontinuierlichen Betrieb auch bei vorübergehenden Netzwerkausfällen zu gewährleisten. Geht eine Verbindung verloren, kann das eingebettete System die verdächtigen Daten zwischenspeichern, bis sich die Möglichkeit ergibt, sie von einem Cloud-Service überprüfen zu lassen.

KI-Anbieter in der Cloud

Amazon Web Services (AWS) und IBM gehören zu den Unternehmen, die ihren Kunden Cloud-basierte KI-Services anbieten. AWS bietet Zugang zu einer breiten Palette von Hardware-Plattformen, die für das maschinelle Lernen geeignet sind, einschließlich universeller Server-Blades, GPU-Beschleuniger und FPGAs. Die DNNs, die in der Cloud laufen, können mit Open-Source-Frameworks wie Caffe und Tensorflow erstellt werden, die inzwischen bei KI-Praktikern weit verbreitet sind.
IBM hat direkte Schnittstellen von seiner Watson-AI-Plattform zu Boards wie dem Raspberry Pi entwickelt, sodass es einfach ist, einen Prototypen mit einer Machine-Learning-Anwendung zu erstellen, bevor man sich auf eine endgültige Architektur festlegt. ARM bietet eine ähnliche Verbindung zu Watson über seine mbed-IoT-Geräteplattform.

Auch wenn die KI wie eine neue Grenze im Computing erscheint, ermöglichen die Verfügbarkeit von High-Performance-Boards wie dem Raspberry Pi zu niedrigen Kosten und der Zugriff auf Cloud-basierte Machine-Learning-Dienste, dass Embedded-Entwickler direkten Zugriff auf die gesamte Bandbreite der in den vergangenen Jahrzehnten entwickelten maschinellen Lernalgorithmen haben. Die Kombination aus Onboard-Verarbeitung und Cloud Computing stellt sicher, dass Embedded-Entwickler immer auf dem Laufenden bleiben und die intelligentesten Lösungen anbieten können.

 

Der Autor

 

Cliff Ortmeyer

ist Ingenieur der Elektrotechnik und seit 26 Jahren in verschiedenen Positionen im Bereich Engineering und Marketing tätig. Er ist seit sechs Jahren bei Premier Farnell tätig, zuletzt als Global Head of Technology Product Marketing and Solutions Development. Zuvor arbeitete er für STMicroelectronics und Coilcraft in den Bereichen Anwendungstechnik, Markt- und Geschäftsentwicklung. Sein aktueller Fokus liegt auf der Rolle neuer Technologien und Trends und deren Auswirkungen auf die Zukunft der Erschließung neuer Märkte wie IoT durch Hersteller und Ingenieure.