Machine Learning auf eingebetteten Systemen ist auch unter dem Begriff TinyML bekannt. Das Tool AutoFlow unterstützt den Entwickler im TinyML-Entwurfsprozess. Es generiert ML-Modelle, optimiert und konvertiert sie, um die Modelle später auf einem eingebetteten System ausführen zu können.
Zur Ausführung von vielen Algorithmen des maschinellen Lernens (ML) wird nicht immer die Rechenleistung großer und teurer Rechner benötigt. Durch die Anwendung von Optimierungsalgorithmen reicht oftmals schon die Rechenleistung eines Mikrocontrollers aus. Solche ML-Anwendungen auf der Basis von Embedded-Systemen werden als TinyML bezeichnet.
Maschinelles Lernen ist ein Teilgebiet der künstlichen Intelligenz (KI). Algorithmen des maschinellen Lernens werden mit historischen Daten trainiert, indem bestimmte Muster und Zusammenhänge in den Daten gesucht werden, um neue Ausgabewerte vorherzusagen. Im Gegensatz dazu werden für die klassische Systemmodellierung komplexe mathematische Modelle erstellt, um Vorhersagen für das System bei bestimmten Bedingungen auszugeben. Durch ML-Algorithmen wird es Softwareanwendungen ermöglicht, Ergebnisse genauer vorherzusagen, ohne dass sie explizit dafür programmiert wurden.
Siemens, General Electric, Fanuc, Kuka, Bosch, Microsoft, Nvidia, um nur einige der Branchenriesen zu nennen, investieren bereits in großem Umfang in die künstliche Intelligenz in der Fertigung. Dabei werden Ansätze des maschinellen Lernens verwendet, um jeden Bereich der Fertigung zu verbessern.
Die größten Unternehmen rund um den Globus nutzen bereits künstliche Intelligenz und maschinelles Lernen in der Produktion und investieren Millionen in deren Entwicklung. Einige der bekanntesten Beispiele, bei denen maschinelles Lernen zum Einsatz kommt, sind:
Ungeplante Ausfallzeiten kosten Unternehmen fast 50 Milliarden US-Dollar, 42 Prozent davon sind auf Anlagenausfälle zurückzuführen. Aus diesem Grund ist die vorausschauende Wartung ein wichtiges Instrument zur Einsparung von Ressourcen. Das maschinelle Lernen bietet komplexe KI-Algorithmen wie beispielsweise neuronale Netze, die zuverlässige Vorhersagen über den Zustand von Anlagen und Maschinen ausgeben. Durch eine »intelligente« Wartung mittels maschinellen Lernens wird so die Restnutzungsdauer (RUL) von Anlagen deutlich verlängert.
Generatives Design ist eine Methode, die es ermöglicht, einen von Menschen erstellten detaillierten Report in einen KI-Algorithmus zu übertragen. Die Informationen im Report können verschiedene Parameter wie verfügbare Produktionsressourcen, Budget oder Zeit enthalten. Der Algorithmus prüft alle möglichen Varianten und generiert verschiedene optimale Entwürfe. Der Vorteil hierbei ist, dass künstliche Intelligenz völlig objektiv ist und nicht von unbewiesenen Annahmen ausgeht, wie es bei Menschen der Fall sein kann.
Durch den Einsatz von KI können Unternehmen auf Probleme in der Produktionslinie aufmerksam gemacht werden, die zu Qualitätsproblemen führen können. Beispielsweise ist die maschinelle Bildverarbeitung eine KI-Applikation, die mit hochauflösenden Kameras Defekte von Bauteilen viel besser erfassen kann als ein Mensch. Durch die Kombination mit einem Datenverarbeitungssystem kann automatisch auf erkannte Bauteildefekte reagiert werden.
Durch die Nutzung von KI und ML können auch die Lieferketten verbessert werden, indem diese interaktiv auf Veränderungen des Marktes vorbereitet werden. So können Manager ihre strategische Vision durch die Verwendung von KI und ML verbessern. Hierbei werden von der KI Schätzungen auf der Grundlage von verschiedenen Faktoren wie beispielsweise der politischen Lage, des Wetters, des Verbraucherverhaltens und des Zustands der Wirtschaft erstellt. Anschließend können dadurch Personal, Lagerbestand und Materialversorgung auf Grundlage dieser Vorhersagen berechnet werden.
AutoFlow – mitmachen und weiterentwickeln |
---|
AutoFlow ein Open Source Tool und kann kostenlos auf GitHub [3] heruntergeladen werden. Bevor das Tool allerdings benutzt werden kann, müssen noch einige weitere Bibliotheken installiert werden. Hierzu gehören beispielsweise PyQt für die grafische Benutzeroberfläche oder TensorFlow zum Trainieren, Optimieren und Konvertieren der ML-Modelle. Alle benötigten Bibliotheken sind im GitHub-Projekt aufgeführt. Die auszuführenden Befehle zur Installation der Bibliotheken sind ebenfalls im GitHub-Projekt zu finden. Wenn Sie ein Teil bei der Weiterentwicklung von AutoFlow sein möchten, würden sich die Autoren sehr darüber freuen. Dabei können Sie zum einen das Tool aktiv nutzen und durch »Issues« neue »Feature«-Wünsche äußern, Änderungen oder Funktionsfehler anmerken. Zum anderen können Sie aktiv bei der Programmierung des Tools mithelfen. Sie können beispielsweise neue Funktionen oder »Features« implementieren und auf GitHub einen »Pull request« erstellen. Die Autoren sind offen und dankbar für neue kreative Ideen, um das Tool AutoFlow zu erweitern. |
Als Beispiel für eine typische ML-Anwendung dient ein industrielles Bildverarbeitungssystem. Mittels maschinellen Lernens sollen in einem Fertigungsprozess defekte Bauteile durch ein Kamerasystem erkannt und aussortiert werden. Wird von der Kamera ein Bild aufgenommen, soll die Magie des maschinellen Lernens sofort einsetzen. Denn in der Massenproduktion soll nicht gewartet werden müssen, bis das Bild an ein Rechenzentrum gesendet wird, wo es verarbeitet wird und die daraus gewonnenen Erkenntnisse zurückgesendet werden. Das Ziel ist es, das Ergebnis in Echtzeit zu erhalten. In diesem Fall soll das maschinelle Lernmodell lokal auf einem eingebetteten System und nicht in der Cloud ausgeführt werden.
TinyML ist ein Forschungsgebiet im Bereich des maschinellen Lernens auf eingebetteten Systemen. Hierbei werden die Arten von Modellen erforscht, die auf kleinen, leistungsschwachen Geräten wie Mikrocontrollern ausgeführt werden können. Dies ermöglicht eine Modellinferenz mit niedriger Latenz, geringer Leistungsaufnahme und niedriger Bandbreite auf Edge-Geräten. Die Leistungsaufnahme einer Standard-CPU liegt zwischen 65 W und 85 W, der einer Standard-GPU zwischen 200 W und 500 W. Im Vergleich dazu liegt die Leistungsaufnahme eines typischen Mikrocontrollers in der Größenordnung von mW oder sogar µW (Bild 1). Dies entspricht einem etwa tausendfach geringeren Leistungsbedarfs. Dadurch können die TinyML-Geräte – auf denen ML-Anwendungen im Hintergrund laufen – wochen-, monate- und in manchen Fällen sogar jahrelang mit einer Akkuladung betrieben werden.
Die Vorteile von TinyML sind: