Heute gibt es eine Vielzahl von Softwarelösungen für das maschinelle Lernen, doch diese sind in der Regel nur für den PC verfügbar und nutzen Python als Programmiersprache. Eine Lösung, die das Ausführen und Trainieren von neuronalen Netzen auch auf eingebetteten Systemen, wie z. B. Mikrocontrollern, ermöglicht, liegt aktuell nicht vor. Es kann jedoch hilfreich sein, das Training direkt auf dem eingebetteten System durchzuführen – etwa wenn sich ein implantierter Sensor selbst kalibrieren soll. Die Vision ist eine sensornahe KI, die direkt in ein Sensorsystem integriert werden kann. Mit AIfES (Artificial Intelligence for Embedded Systems) hat ein Forscherteam am Fraunhofer IMS diese Vision umgesetzt und eine Machine-Learning-Bibliothek in der Programmiersprache C entwickelt, die auf Mikrocontrollern lauffähig ist, darüber hinaus aber auch andere Plattformen wie PC, Raspberry PI oder Android unterstützt. Die Bibliothek umfasst aktuell ein voll konfigurierbares künstliches neuronales Netz (KNN), das bei Bedarf auch tiefe Netze für das Deep Learning erzeugen kann. Ein KNN ist der Versuch, das menschliche Gehirn mit Algorithmen mathematisch nachzubilden, um funktionale Zusammenhänge für Algorithmen erlernbar zu machen. AIfES wurde speziell für eingebettete Systeme optimiert. »Wir haben den Quellcode auf ein Minimum reduziert, dadurch lässt sich das KNN direkt auf dem Mikrocontroller oder auf dem Sensor, also dem eingebetteten System, trainieren. Außerdem ist der Quellcode universal gültig, er lässt sich für nahezu jede Plattform kompilieren. Da immer die gleichen Algorithmen genutzt werden, ist ein KNN, das z. B. auf dem PC erstellt wurde, einfach auf einen Mikrocontroller portierbar. Dies ist bislang mit kommerziell erhältlichen Softwarelösungen so noch nicht möglich«, sagt Dr. Pierre Gembaczka, wissenschaftlicher Mitarbeiter am Fraunhofer IMS.
Schutz der Privatsphäre
Ein weiteres Alleinstellungsmerkmal der sensornahen KI des Fraunhofer IMS: Bislang werden Künstliche Intelligenz und neuronale Netze vor allem für Bildverarbeitung und Spracherkennung eingesetzt. Bei einigen Systemen verlassen die Daten die lokalen Systeme. In der Cloud, auf externen Servern, werden dann z. B. Stimmprofile verarbeitet, da die Rechenleistung der lokalen Systeme nicht immer ausreicht. »Bei diesem Vorgang ist die Wahrung der Privatsphäre schwierig, zudem werden Unmengen an Daten übertragen. Wir wählen daher einen anderen Ansatz und gehen weg von maschinellen Lernverfahren in der Cloud hin zu maschinellen Lernverfahren direkt auf dem eingebetteten System. Da keine sensiblen Daten das System verlassen, kann der Datenschutz garantiert werden und die zu übertragene Datenmenge wird deutlich reduziert«, sagt Burkhard Heidemann, Gruppenleiter »Embedded Systems« am Fraunhofer IMS. »Natürlich können keine riesigen Deep Learning Modelle auf einem eingebetteten System realisiert werden, somit beschäftigen wir uns verstärkt mit der geschickten Merkmalsextraktion zur Reduktion der Eingangssignale.« Indem die Forscherinnen und Forscher die KI direkt auf den Mikrocontroller bringen, lässt sich ein Gerät mit zusätzlichen Funktionen ausstatten, ohne dass teure Hardwareänderungen nötig sind.
Daten reduzieren
AIfES fokussiert sich nicht auf die Verarbeitung großer Datenmengen, vielmehr werden nur die erforderlichen Daten übertragen, um sehr kleine neuronale Netze aufzubauen. »Wir folgen nicht dem Trend, der hin zur Verarbeitung von Big Data geht, sondern wir beschränken uns auf die absolut nötigen Daten und etablieren quasi eine Mikrointelligenz auf dem eingebetteten System, die die jeweiligen Aufgaben lösen kann. Wir entwickeln für jedes Problem neue Datenvorverarbeitungsstrategien und Merkmalsextraktionen, um möglichst kleine KNN realisieren zu können. Dies gewährleistest dann auch ein nachträgliches Lernen auf dem Controller selbst«, erläutert Gembaczka.
Mit mehreren Demonstratoren wurde dies bereits praktisch umgesetzt. So realisierte das Forscherteam eine Erkennung von handgeschriebenen Ziffern auf einem günstigen 8-bit Mikrocontroller (Arduino Uno). Dies war technisch nur möglich, da eine neuartige Merkmalsextraktion entwickelt wurde. Ein weiterer Demonstrator kann komplexe Gesten erkennen, die in die Luft geschrieben werden. Die Wissenschaftlerinnen und Wissenschaftler des IMS haben hierfür ein System, bestehend aus einem Mikrocontroller und einem absoluten Orientierungssensor entwickelt, das in die Luft geschriebene Zahlen erkennt. »Eine mögliche Anwendung hierfür wäre die Bedienung eines Wearables«, so die Forscher. »Damit diese Form der Kommunikation funktioniert, schreiben verschiedene Personen mehrfach die Ziffern von null bis neun. Das neuronale Netz erhält diese Trainingsdaten, lernt sie und identifiziert sie im nächsten Schritt selbstständig. Es sind nahezu alle Figuren trainierbar, nicht nur Zahlen.« Eine Steuerung des Geräts per Spracherkennung ist damit hinfällig, das Wearable ließe sich mit einer Geste steuern, die Privatsphäre bliebe geschützt.
Den Anwendungsmöglichkeiten von AIfES sind kaum Grenzen gesetzt: So könnte ein Armband mit integrierter Gestenerkennung etwa zur Beleuchtungssteuerung in Gebäuden genutzt werden. Aber nicht nur das Erkennen einer Geste ist möglich, sondern auch die Überwachung, wie gut eine Geste ausgeführt wurde. Im Reha- oder Fitnessbereich könnte man Übungen und Bewegungsabläufe bewerten, wenn kein Trainer anwesend ist. Da keine Kamera oder Cloud genutzt wird, bleibt die Privatsphäre geschützt. AIfES ist in vielen Bereichen einsetzbar: Automotiv, Medizin, Smart Home, Industrie 4.0
Dezentralisierte KI
Weitere Vorteile von AIfES: Mit der Bibliothek lässt sich die Rechenleistung dezentralisieren, indem zum Beispiel kleine eingebettete Systeme die Daten vor der Verarbeitung übernehmen und einem höher geordneten System die Ergebnisse zur Verfügung stellen. Auf diese Weise reduziert sich die zu übertragende Datenmenge beträchtlich. Darüber hinaus ist ein Netzwerk aus kleinen lernfähigen Systemen realisierbar, die Aufgaben untereinander aufteilen.
Deep Learning
AIfES enthält aktuell ein neuronales Netz mit einer sogenannten Feedforward-Struktur, das auch tiefe neuronale Netze ermöglicht. »Unsere Lösung ist so programmiert, dass wir mit einer einzigen Funktion ein komplettes Netz beschreiben können«, erklärt Gembaczka. Die Integration weiterer Netzformen und Strukturen sind aktuell in der Entwicklung. Außerdem entwickeln der Forscher und seine Kollegen neben weiteren Lernalgorithmen und Demonstratoren Hardwarekomponenten für neuronale Netze. Das Fraunhofer IMS arbeitet derzeit an einem RISC-V Mikroprozessor, der einen Hardwarebeschleuniger speziell für neuronale Netze besitzen soll. AIfES wird in einer speziellen Version für diese Hardware optimiert, damit sich diese Ressource optimal nutzen lässt.
Vom 25. bis 27. Juni 2019 präsentiert das Forscherteam einen energieautarken Stromsensor im integrierter KI auf der Messe Sensor & Test in Nürnberg.