Künstliche Intelligenz : Fraunhofer gelingt Machine Learning für Sensoren

AIfES-Demonstrator zur Handschriftenerkennung. Alle Funktionen sind auf dem Arduino UNO integriert. Dieser liest die Sensorwerte des Touchpads ein führt die Ziffernerkennung durch und gibt das Resultat über das Display aus.
© Bild: Fraunhofer

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, heißt es bei der Fraunhofer Gesellschaft. 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.

Der Quellcode ist universal gültig

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", erklärt Pierre Gembaczka, wissenschaftlicher Mitarbeiter am Fraunhofer IMS.

Arbeiten auf dem eingebetteten System

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, heißt es in dem Beitrag der Forscher. 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 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.

Small Data statt Big Data

Weiter heißt es: 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.

Weiterer Pusch für Gestensteuerung

Ein weiterer Demonstrator kann komplexe Gesten erkennen, die in die Luft geschrieben werden. Die 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.