Inhaltsverzeichnis[Ausblenden][Zeigen]
Modelle für maschinelles Lernen sind derzeit allgegenwärtig. Tagsüber nutzen Sie diese Modelle wahrscheinlich viel mehr, als Ihnen bewusst ist. Modelle für maschinelles Lernen werden für allgemeine Aufgaben wie das Durchsuchen von sozialen Medien, das Fotografieren und das Überprüfen des Wetters verwendet.
Möglicherweise hat Ihnen ein maschinell lernender Algorithmus diesen Blog empfohlen. Wir haben alle schon davon gehört, wie zeitaufwändig es ist, diese Modelle zu trainieren. Wir haben alle gehört, dass das Training dieser Modelle zeitaufwändig ist.
Das Durchführen von Inferenzen auf diesen Modellen ist jedoch häufig rechenintensiv.
Wir brauchen Computersysteme, die schnell genug sind, um die Rate zu bewältigen, mit der wir maschinelle Lerndienste nutzen. Infolgedessen werden die meisten dieser Modelle in riesigen Rechenzentren mit CPU- und GPU-Clustern (in einigen Fällen sogar TPUs) ausgeführt.
Wenn Sie ein Foto machen, wollen Sie Maschinelles Lernen um es sofort zu verbessern. Sie möchten nicht warten müssen, bis das Bild an ein Rechenzentrum übertragen, verarbeitet und an Sie zurückgesendet wird. In diesem Fall sollte das maschinelle Lernmodell lokal ausgeführt werden.
Wenn Sie „Hey Siri“ oder „OK, Google“ sagen, möchten Sie, dass Ihre Gadgets sofort reagieren. Warten auf die Übermittlung Ihrer Stimme an die Computer, wo sie ausgewertet und Daten gewonnen werden.
Dies kostet Zeit und wirkt sich nachteilig auf die Benutzererfahrung aus. In diesem Fall soll das maschinelle Lernmodell auch lokal funktionieren. Hier kommt TinyML ins Spiel.
In diesem Beitrag werden wir uns mit TinyML befassen, wie es funktioniert, wie es verwendet wird, wie man damit beginnt und vieles mehr.
Was ist TinyML?
TinyML ist eine Spitzendisziplin, die das revolutionäre Potenzial des maschinellen Lernens auf die Leistungs- und Leistungsgrenzen kleiner Geräte und eingebetteter Systeme anwendet.
Der erfolgreiche Einsatz in dieser Branche erfordert ein gründliches Verständnis von Anwendungen, Algorithmen, Hardware und Software. Es ist ein Untergenre des maschinellen Lernens, das Deep Learning und maschinelle Lernmodelle in eingebetteten Systemen verwendet, die Mikrocontroller, digitale Signalprozessoren oder andere spezialisierte Prozessoren mit extrem geringem Stromverbrauch verwenden.
TinyML-fähige eingebettete Geräte sollen einen maschinellen Lernalgorithmus für einen bestimmten Job ausführen, typischerweise als Teil des Geräts Edge-Computing.
Um wochen-, monate- oder sogar jahrelang ohne Nachladen oder Batteriewechsel zu laufen, müssen diese eingebetteten Systeme eine Leistungsaufnahme von weniger als 1 mW haben.
Wie funktioniert es?
Das einzige Framework für maschinelles Lernen, das mit Mikrocontrollern und Computern verwendet werden kann, ist TensorFlow Lite. Es handelt sich um eine Reihe von Tools, mit denen Entwickler ihre Modelle auf mobilen, eingebetteten und Edge-Geräten ausführen können, wodurch maschinelles Lernen im laufenden Betrieb ermöglicht wird.
Die Schnittstelle des Mikrocontrollers wird verwendet, um Daten von Sensoren (wie Mikrofonen, Kameras oder eingebetteten Sensoren) zu sammeln.
Bevor die Daten an den Mikrocontroller gesendet werden, werden sie in ein Cloud-basiertes Modell für maschinelles Lernen eingebunden. Batch-Training im Offline-Modus wird üblicherweise verwendet, um diese Modelle zu trainieren. Die Sensordaten, die verwendet werden Lernen und Inferenz wurde bereits für den konkreten Anwendungsfall ermittelt.
Wenn das Modell beispielsweise darauf trainiert wird, ein Weckwort zu erkennen, ist es bereits darauf eingerichtet, einen kontinuierlichen Audiostream von einem Mikrofon zu verarbeiten.
Bei TensorFlow Lite wird bereits alles mit Hilfe einer Cloud-Plattform wie Google Colab erledigt, einschließlich Datensatzauswahl, Normalisierung, Underfitting oder Overfitting des Modells, Regularisierung, Datenaugmentation, Training, Validierung und Tests.
Ein vollständig trainiertes Modell wird schließlich transformiert und nach dem Offline-Batch-Training auf den Mikrocontroller, Mikrocomputer oder digitalen Signalprozessor übertragen. Das Modell hat kein zusätzliches Training, nachdem es auf ein eingebettetes Gerät verschoben wurde. Stattdessen verwendet es ausschließlich Echtzeitdaten von Sensoren oder Eingabegeräten, um das Modell anzuwenden.
Infolgedessen muss ein TinyML-Modell für maschinelles Lernen außergewöhnlich langlebig und in der Lage sein, nach Jahren neu trainiert zu werden oder nie neu trainiert zu werden. Alle potenziellen Unter- und Überanpassungen des Modells müssen untersucht werden, damit das Modell über einen längeren Zeitraum, idealerweise auf unbestimmte Zeit, relevant bleibt.
Aber warum TinyML verwenden?
TinyML begann mit dem Bestreben, die Abhängigkeit des IoT von Cloud-Diensten für grundlegende kleine Anwendungen zu eliminieren oder zu verringern Maschinelles Lernen Operationen. Dies erforderte die Verwendung von Modellen für maschinelles Lernen auf den Edge-Geräten selbst. Es bietet die folgenden wesentlichen Vorteile:
- Geringer Strom Verbrauch: Eine TinyML-Anwendung sollte vorzugsweise weniger als 1 Milliwatt Strom verbrauchen. Bei einem so geringen Stromverbrauch kann ein Gerät noch Monate oder Jahre lang Rückschlüsse aus Sensordaten ziehen, selbst wenn es mit einer Knopfbatterie betrieben wird.
- Niedrigere Kosten: Es wurde entwickelt, um auf kostengünstigen 32-Bit-Mikrocontrollern oder DSPs ausgeführt zu werden. Diese Mikrocontroller kosten in der Regel jeweils ein paar Cent, und das gesamte damit entwickelte eingebettete System kostet weniger als 50 US-Dollar. Dies ist eine sehr kostengünstige Option, um kleine maschinelle Lernprogramme in großem Maßstab auszuführen, und sie ist besonders vorteilhaft in IoT-Anwendungen, bei denen maschinelles Lernen angewendet werden muss.
- Geringere Latenz: Seine Anwendungen haben eine geringe Latenz, da sie keine Daten über das Netzwerk transportieren oder austauschen müssen. Alle Sensordaten werden vor Ort erfasst und Rückschlüsse auf ein bereits trainiertes Modell gezogen. Die Ergebnisse der Inferenzen können zur Protokollierung oder weiteren Verarbeitung an einen Server oder eine Cloud gesendet werden, obwohl dies für das Funktionieren des Geräts nicht unbedingt erforderlich ist. Dies minimiert die Netzwerklatenz und eliminiert die Notwendigkeit, maschinelle Lernvorgänge auf einer Cloud oder einem Server durchzuführen.
- Datenschutz: Es ist ein großes Anliegen im Internet und im Internet der Dinge. Die maschinelle Lernarbeit in TinyML-Apps wird lokal durchgeführt, ohne dass Sensor-/Benutzerdaten gespeichert oder an einen Server/eine Cloud gesendet werden. Infolgedessen sind diese Anwendungen, selbst wenn sie mit einem Netzwerk verbunden sind, sicher zu verwenden und stellen kein Datenschutzrisiko dar.
Anwendungen
- Landwirtschaft – wann Wenn Landwirte ein Foto von einer Pflanze machen, erkennt die Anwendung von TensorFlow Lite Krankheiten darin. Es funktioniert auf jedem Gerät und erfordert keine Internetverbindung. Das Verfahren schützt die landwirtschaftlichen Interessen und ist eine entscheidende Notwendigkeit für die Landwirte im ländlichen Raum.
- Wartung der Mechanik – TinyML kann bei Verwendung auf leistungsschwachen Geräten kontinuierlich Fehler in einer Maschine identifizieren. Es beinhaltet eine prognosebasierte Wartung. Ping Services, ein australisches Start-up, hat ein IoT-Gerät vorgestellt, das Windturbinen überwacht, indem es sich an der Außenseite der Turbine anbringt. Es benachrichtigt die Behörden, wenn es ein mögliches Problem oder eine Fehlfunktion feststellt.
- Krankenhäuser – Die Solar Scare ist ein Projekt. Mosquito verwendet TinyML, um die Ausbreitung von Krankheiten wie Dengue und Malaria zu stoppen. Es wird mit Solarenergie betrieben und erkennt die Bedingungen für die Mückenbrut, bevor es dem Wasser signalisiert, die Mückenbrut zu hemmen.
- Verkehrsüberwachung – Durch Wenn wir TinyML auf Sensoren anwenden, die Echtzeit-Verkehrsdaten sammeln, können wir sie verwenden, um den Verkehr besser zu lenken und die Reaktionszeiten für Einsatzfahrzeuge zu verkürzen. Swim.AI zum Beispiel nutzt diese Technologie zum Streamen von Daten, um die Sicherheit der Passagiere zu erhöhen und gleichzeitig Staus und Emissionen durch intelligentes Routing zu reduzieren.
- Recht: TinyML kann in der Strafverfolgung verwendet werden, um illegale Handlungen wie Randale und Diebstahl mithilfe von maschinellem Lernen und Gestenerkennung zu identifizieren. Ein ähnliches Programm kann auch zum Sichern von Bankautomaten verwendet werden. Durch die Beobachtung des Benutzerverhaltens kann ein TinyML-Modell vorhersagen, ob der Benutzer ein echter Verbraucher ist, der eine Transaktion abschließt, oder ein Eindringling, der versucht, den Geldautomaten zu hacken oder zu zerstören.
Wie fange ich mit TinyML an?
Um mit TinyML in TensorFlow Lite zu beginnen, benötigen Sie ein kompatibles Mikrocontroller-Board. TensorFlow Lite für Mikrocontroller unterstützt die unten aufgeführten Mikrocontroller.
- Wio-Terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint KI-Entwicklungsboard
- STM32F746 Discovery-Kit
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM-Softwareentwicklungsplattform
- Sony Spresse
- Arduino Nano 33 BLE-Sense
- SparkFun Edge
- Adafruit TensorFlow Lite für Mikrocontroller-Kit
- Adafruit Circuit Spielplatz Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-AUGE
Dies sind 32-Bit-Mikrocontroller mit genügend Flash-Speicher, RAM und Taktfrequenz, um ein maschinelles Lernmodell auszuführen. Die Boards verfügen außerdem über eine Reihe von Onboard-Sensoren, die jedes eingebettete Programm ausführen und maschinelle Lernmodelle auf die Zielanwendung anwenden können. Zu Erstellen Sie ein Modell für maschinelles Lernenbenötigen Sie zusätzlich zu einer Hardwareplattform einen Laptop oder Computer.
Jede Hardwareplattform verfügt über eigene Programmiertools zum Erstellen, Trainieren und Portieren von Modellen für maschinelles Lernen, die das Paket TensorFlow Lite für Mikrocontroller verwenden. TensorFlow Lite kann kostenlos verwendet und modifiziert werden, weil es so ist Open-Source-.
Für den Einstieg in TinyML und TensorFlow Lite benötigen Sie lediglich eine der oben genannten Embedded-Hardware-Plattformen, einen Computer/Laptop, ein USB-Kabel, einen USB-to-Serial-Konverter – und Lust, Machine Learning mit Embedded-Systemen zu üben .
Herausforderungen
Auch wenn der Fortschritt von TinyML zu vielen positiven Ergebnissen geführt hat, steht die Branche des maschinellen Lernens noch immer vor erheblichen Hindernissen.
- Softwarevielfalt – Handcodierung, Codegenerierung und ML-Interpreter sind Optionen für die Bereitstellung von Modellen auf TinyML-Geräten, und jede erfordert einen anderen Zeit- und Arbeitsaufwand. Dadurch können sich unterschiedliche Leistungen ergeben.
- Hardware-Vielfalt – Da sind mehrere Hardwareoptionen verfügbar. TinyML-Plattformen können alles sein, von Allzweck-Mikrocontrollern bis hin zu hochmodernen neuronalen Prozessoren. Dies führt zu Problemen bei der Modellbereitstellung über verschiedene Architekturen hinweg.
- Fehlerbehebung/Debugging – Wann ein ML-Modell in der Cloud schlecht abschneidet, ist es einfach, sich die Daten anzusehen und herauszufinden, was schief läuft. Wenn ein Modell über Tausende von TinyML-Geräten verteilt ist und kein Datenstrom in die Cloud zurückkehrt, wird das Debugging schwierig und erfordert möglicherweise eine andere Methode.
- Speichereinschränkungen – Traditionell Plattformen wie Smartphones und Laptops benötigen Gigabyte RAM, während TinyML-Geräte Kilobyte oder Megabyte verwenden. Folglich ist die Größe des einsetzbaren Modells begrenzt.
- Modeltraining – Obwohl Die Bereitstellung von ML-Modellen auf TinyML-Geräten bietet mehrere Vorteile. Der Großteil der ML-Modelle wird immer noch in der Cloud trainiert, um die Modellgenauigkeit zu iterieren und kontinuierlich zu verbessern.
Future
TinyML hat mit seinem geringen Platzbedarf, dem geringen Batterieverbrauch und der fehlenden oder begrenzten Abhängigkeit von Internetverbindungen ein enormes Potenzial für die Zukunft, da die meisten von ihnen schmal sind künstliche Intelligenz wird auf Edge-Geräten oder unabhängigen eingebetteten Gadgets implementiert.
Es wird IoT-Anwendungen privater und sicherer machen, indem es sie nutzt. Obwohl TensorFlow Lite ist derzeit das einzige Machine-Learning-Framework für Mikrocontroller und Mikrocomputer, weitere vergleichbare Frameworks wie Sensor und CMSIS-NN von ARM sind in Arbeit.
Während TensorFlow Lite ein laufendes Open-Source-Projekt ist, das mit dem Google-Team einen hervorragenden Start hingelegt hat, braucht es noch die Unterstützung der Community, um in den Mainstream zu gelangen.
Zusammenfassung
TinyML ist ein neuartiger Ansatz, der eingebettete Systeme mit maschinellem Lernen kombiniert. Da die schmale KI in vielen Branchen und Bereichen ihren Höhepunkt erreicht, kann sich die Technologie zu einem herausragenden Teilgebiet des maschinellen Lernens und der künstlichen Intelligenz entwickeln.
Es bietet eine Lösung für zahlreiche Herausforderungen, mit denen der IoT-Sektor und Fachleute, die maschinelles Lernen in vielen domänenspezifischen Disziplinen anwenden, jetzt konfrontiert sind.
Das Konzept der Nutzung von maschinellem Lernen bei Edge-Geräte mit einer kleinen Rechenleistung Platzbedarf und Stromverbrauch haben das Potenzial, die Art und Weise, wie eingebettete Systeme und Robotik konstruiert werden, erheblich zu verändern.
Hinterlassen Sie uns einen Kommentar