Machine Learning für Maker
Einführung in Tiny Machine Learning
Kaum ein Thema hat in den letzten Jahren so viel Aufmerksamkeit in der Technikszene erhalten wie der Einzug von KI in unseren Alltag. Neben den Modellen, die mit immer größeren Datenmengen gefüttert und tage- oder wochenlang trainiert werden, gibt es noch einen weiteren Trend in der KI-Forschung: Immer kleinere und optimiertere Modelle ermöglichen die Anwendung von KI auf den kleinsten Geräten, wenn herkömmliche Algorithmen nicht mehr ausreichen. In dieser Beitragsserie laden wir Sie dazu ein, Sensoren aus Ihrer Bastelkiste dazu zu verwenden, intelligente Sensorknoten für Ihr Zuhause zu erstellen.
Was ist TinyML?
Beim Tiny Machine Learning befinden sich die Machine-Learning-Modelle direkt auf dem Mikrocontroller am Sensor oder sogar in Sensoren, die eine Signalverarbeitungseinheit haben. Das bedeutet, dass die Sensordaten nicht wie zuvor üblich an ein Gateway oder einen Server gestreamt und die Daten dort verarbeitet werden, sondern dass die gesamte Datenverarbeitung direkt am Sensor geschieht und höchstens die Entscheidung weitergegeben wird. Im Gegensatz zu anderen Systemen haben Mikrocontroller nur sehr wenig Speicher- und Rechenleistung. Durch diese extreme Ressourcenbeschränkung müssen die Modelle stark optimiert werden, sodass sie häufig nur wenige Kilobyte Speicherplatz einnehmen und Low-Power-Anwendungen im Vordergrund stehen.
Als maschinelles Lernen, Machine Learning oder auch ML bezeichnen wir im Folgenden den Teilbereich der künstlichen Intelligenz, der sich mit den Methoden und Werkzeugen auseinandersetzt, die aus Trainingsdaten mathematische Modelle erstellen, um neue Daten automatisiert auszuwerten.
Neben TinyML begegnen Ihnen im Internet vielleicht noch weitere, ähnliche Begriffe:
- Embedded AI: Auch hier geht es darum, dass ein Modell auf einem ressourcenbeschränkten Gerät eingebettet wird und die Datenverarbeitung somit lokal stattfindet. Im Gegensatz zu TinyML kann es sich dabei aber auch um komplexere Hardware wie beispielsweise Raspberry Pis handeln. Der Fokus liegt auch weniger auf der Optimierung des Energiebedarfs.
- Edge AI: Bei diesem Begriff liegt der Fokus darauf, dass die Datenverarbeitung lokal, also am Rand eines Netzwerks stattfindet. Die Daten werden nicht gestreamt. Die Größe des Modells und die Zielhardware spielen eine untergeordnete Rolle.
Vor allem, weil die Begriffe nah beieinanderliegen und sich zum Teil überschneiden können, werden sie teilweise auch synonym verwendet.
Wozu brauchen wir TinyML?
Wenn die Datenverarbeitung von Sensordaten mit herkömmlichen Algorithmen nicht mehr ausreicht, die Auswertung dennoch lokal stattfinden soll, können Ansätze aus dem maschinellen Lernen eingesetzt werden. Dass nicht die gesamten Daten den Sensorknoten verlassen, sondern nur das Ergebnis, bringt einige Vorteile mit sich:
- Datenschutz: Die Sensorwerte werden nur im Sensorknoten verarbeitet und nicht übertragen und auf Servern gespeichert. Damit ist es möglich zu verhindern, dass die Daten für andere Zwecke verwendet werden.
- Verzögerung: Die Ressourcen sind auf dem Endgerät zwar beschränkt, aber aber weil keine zeit- und energieintensive Übertragung der Rohdaten stattfindet, kann die Zeit bis zur Entscheidung kürzer sein.
- Netzauslastung: Die Menge der zu übertragenden Daten nimmt drastisch ab. Dadurch sinkt auch die Netzauslastung und die Übertragung wird voraussichtlich zuverlässiger.
- Low Power: Wenn die Modelle kompakt genug für die Anwendung auf Mikrocontrollern sind und man nicht auf komplexere Hardware setzen muss, können Sensorknoten erstellt werden, die energiesparender sind. Dies ermöglicht weitere Einsatzgebiete, wie energieautarke Systeme, was mit anderer Hardware oder kontinuierlichem Datenstreaming nicht möglich wäre.
Die Anwendungsmöglichkeiten sind vielfältig. Überall dort, wo Sensoren nicht direkt eine Größe messen können, sondern wo man von Messwerten auf die Größe schließen muss und einfache Algorithmen keine zufriedenstellenden Ergebnisse liefern, könnte TinyML zum Einsatz kommen.
- Sturzerkennung
- Schlafqualitätsüberwachung
- Bewegungsoptimierung
- Wearables zur Gesundheitsüberwachung und Vorsorge
- Erkennung von Wasserlecks
- Fehlererkennung bei Haushaltsgeräten
- Glasbrucherkennung
- Anwesenheitserkennung
- Gestensteuerung
- Sprachsteuerung
- Paketüberwachung bei zerbrechlicher Fracht
- Fehlervorhersage von Maschinen (Predictive Maintenance)
- Fehlererkennung bei Maschinen
- Qualitätskontrolle
- Energieoptimierung
- Waldbranddetektor
- Pflanzenüberwachung
- Überwachung der Viehherde
TinyML – aktuelle Herausforderungen und Forschungsthemen
Die offensichtlichste Herausforderung bei der Erstellung der Modelle stellt die extreme Ressourcenbegrenzung dar. Durch den knappen Speicher und der geringen Rechenleistung von Mikrocontrollern müssen effiziente Kompressionsverfahren entwickelt werden, bei denen möglichst wenig Verluste in der Genauigkeit auftreten. Gleichzeitig sollte ein Weg gefunden werden, um die Daten energieeffizient verarbeiten zu können, sodass lange Batterielaufzeiten möglich werden.
Häufig werden Zeitreihen interpretiert. Dafür ist es meist nötig, kontinuierlich neue Daten zu erfassen. Dem steht entgegen, dass die meisten Mikrocontrolleranwendungen extrem energiesparend sein müssen. Entsprechend wird aktuell an Möglichkeiten geforscht, wie diese „always on“-Anwendungen energieeffizient umgesetzt werden können. Es gibt auch Sensoreinheiten, die einen Speicherplatz für die Signalverarbeitung vorsehen, sodass der Controller nur noch bei bestimmten Ereignissen geweckt werden muss.
Eine allgemeine Herausforderung bei der Verwendung von Machine Learning oder KI stellt die Erklärbarkeit der Modelle dar. Während bei der Erstellung von physikalischen oder statistischen Modellen noch erklärt werden kann, wie eine Entscheidung zustande kommt, können Machine-Learning-Modelle durchaus eine Blackbox darstellen – und damit Raum für schwer erklärbare Fehler bieten. Da die Sensordaten in der Regel nicht übertragen oder gespeichert werden, wird eine Analyse von Fehlern zusätzlich erschwert.
Außerdem altern die Sensoren und die Umgebung kann sich verändern. Die Messwerte driften und es kommt zu möglichen Fehleinschätzungen. Da die Ressourcen der Mikrocontroller aber sehr begrenzt sind, stellen adaptive Verfahren, das Nachtrainieren und die Detektion des Driftens eine Herausforderung dar. Generell weisen die Modelle eine extreme Umweltabhängigkeit auf, sodass bei einigen Anwendungen Anlernverfahren nötig sind.
Obwohl durch die lokale Verarbeitung weniger – möglicherweise sensible – Daten versendet werden müssen, spielen Datenschutz und -sicherheit weiterhin eine große Rolle. Durch die Ressourcenbeschränkung ist es möglich, dass weniger Sicherheitsmechanismen implementiert werden, sodass die Daten am Gerät selbst abgegriffen oder manipuliert werden könnten.
Wie startet man mit TinyML?
In diesem Beitrag haben wir einen kurzen Einblick ins Tiny Machine Learning gegeben und mögliche Anwendungsfälle vorgestellt. Sicher haben Sie auch schon eine Idee im Kopf, die Sie gern einmal ausprobieren möchten.
In den folgenden Beiträgen werden wir uns dieser Frage widmen und schon bald ein erstes Projekt umsetzen. So viel vorweg: Es gibt unterschiedliche Anbieter, die den Einstieg erleichtern. Für die ersten Schritte benötigen Sie daher weder Programmiererfahrungen noch müssen sie sich mit der Theorie hinter dem maschinellem Lernen bis ins kleinste Detail auskennen.
Lassen Sie uns gern in den Kommentaren über mögliche Anwendungen diskutieren!
Kommentare (2)
Finde die Sache mit TinyML super spannend und bin sehr gespannt auf die nächsten Teile
Hallo Achim,
die neuen Teile kommen schon sehr bald online! Ein ganz kleines bisschen Geduld noch 🙂
Viele Grüße
Holger Arends