
Machine learning-modellen spelen een prominente rol in ons dagelijks leven – of we het nu doorhebben of niet. Op een doorsneedag is de kans groot dat je met een of ander machine learning-model in aanraking komt, omdat ze in bijna alle digitale producten zitten waarmee we interacteren; denk aan socialmediadiensten, virtuele persoonlijke assistenten, zoekmachines en spamfilters van je e-mailprovider.
Ondanks de vele voorbeelden van machine learning in het dagelijks leven zijn er nog steeds verschillende gebieden die de technologie niet heeft bereikt. De oorzaak? Veel machine learning-modellen, vooral state-of-the-art (SOTA) architecturen, vereisen veel resources. Deze vraag naar krachtige rekenkracht heeft ervoor gezorgd dat verschillende machine learning-toepassingen aan de cloud zijn gebonden – een aanbieder van on-demand computerresources.
Naast het feit dat deze modellen duur zijn om te trainen, is ook het uitvoeren van inferentie vaak behoorlijk kostbaar. Als machine learning zijn bereik wil vergroten en nieuwe domeinen wil betreden, is er een oplossing nodig die het mogelijk maakt om inferentie op kleinere, meer resource-beperkte apparaten uit te voeren. De zoektocht naar die oplossing heeft geleid tot het subveld van machine learning dat Tiny Machine Learning (TinyML) heet.
In dit artikel zullen we:
- TinyML definiëren en de voordelen bespreken
- Enkele toepassingen van TinyML behandelen
- De workflowvereisten voor TinyML-toepassingen bespreken.
Wat is TinyML?
“Neurale netwerken worden ook wel kunstmatige neurale netwerken (ANN’s) genoemd. De architectuur vormt de basis van deep learning, dat simpelweg een subset is van machine learning die zich bezighoudt met algoritmen die geïnspireerd zijn op de structuur en functie van het menselijk brein. Simpel gezegd vormen neurale netwerken de basis van architecturen die nabootsen hoe biologische neuronen signalen aan elkaar doorgeven.”
Bron: PyTorch-tutorial: een eenvoudig neuraal netwerk vanaf nul bouwen
Machine learning is een subveld van artificial intelligence dat een reeks algoritmen biedt. Met deze algoritmen kunnen machines patronen en trends leren uit beschikbare historische data om eerder bekende uitkomsten op dezelfde data te voorspellen. Het uiteindelijke doel is echter om de getrainde modellen hun inferenties te laten generaliseren voorbij de trainingsdataset, zodat de nauwkeurigheid van hun voorspellingen verbetert zonder expliciete programmering.
Een van de algoritmen die hiervoor worden gebruikt, is neurale netwerken. Neurale netwerken behoren tot een subveld van machine learning dat bekendstaat als deep learning, en bestaan doorgaans uit modellen die duurder zijn om te trainen dan traditionele machine learning-modellen. Je kunt meer leren over het bouwen van neurale netwerkmodellen in R in een aparte tutorial.

Figuur 1. Een visualisatie van een drielagen-neuraal netwerk
Volgens tinyml.org is “Tiny machine learning in brede zin een snelgroeiend veld van machine learning-technologieën en -toepassingen, waaronder hardware, algoritmen en software die in staat zijn tot on-device sensor data-analyse met extreem laag energieverbruik, doorgaans in het mW-bereik en lager, en zo een verscheidenheid aan always-on use-cases mogelijk maken en zich richten op batterijgevoede apparaten.”
De groei van TinyML in de afgelopen jaren wordt grotendeels toegeschreven aan de ontwikkeling van de hardware- en software-ecosystemen die het ondersteunen. Omdat de technieken kunnen worden geïmplementeerd in systemen met een laag energieverbruik (zoals sensoren, microcontrollers, enz.), kan machine learning in extreme mate naar de edge worden gebracht, waardoor dergelijke toepassingen in real time kunnen reageren. In essentie is het idee om machine learning-professionals in staat te stellen meer te doen met minder.
Maar waarom is dit zo belangrijk? Laten we eens kijken waarom TinyML zo aantrekkelijk is.
De voordelen van TinyML
- Latentie: De data hoeft niet naar een server te worden verzonden voor inferentie omdat het model op edge-apparaten draait. Datatransfers kosten doorgaans tijd en veroorzaken vertraging. Het wegnemen van die noodzaak verlaagt de latentie.
- Energiebesparing: Microcontrollers hebben heel weinig stroom nodig, waardoor ze lange tijd kunnen werken zonder te hoeven worden opgeladen. Daarbovenop is er geen omvangrijke serverinfrastructuur nodig omdat er geen informatieoverdracht plaatsvindt: het resultaat is een besparing op energie, resources en kosten.
- Verminderde bandbreedte: Voor inferentie is weinig tot geen internetverbinding nodig. Er zijn on-device sensoren die data vastleggen en op het apparaat verwerken. Dit betekent dat er niet voortdurend ruwe sensordata naar de server wordt gestuurd.
- Dataprivacy: Je data wordt niet op servers bewaard omdat het model aan de edge draait. Geen overdracht van informatie naar servers vergroot de garantie op dataprivacy.
Use cases: hoe wordt TinyML gebruikt?
De toepassingen van TinyML strekken zich uit over een breed scala aan sectoren, met name die afhankelijk zijn van internet of things (IoT)-netwerken en data – The Internet of Things (IoT) is in essentie een netwerk van fysieke objecten met ingebedde sensoren, software en andere technologieën die via het internet verbinding maken met en data uitwisselen met andere apparaten en systemen.
Computer vision, visual wake words, keyword spotters, voorspellend onderhoud, gebarenherkenning, industrieel machineonderhoud, enzovoort, zijn allemaal veelvoorkomende TinyML-use cases. Laten we ook naar enkele sectoren kijken waar TinyML wordt gebruikt om toepassingen aan te sturen:
Landbouw
Realtime landbouw- en veeteeltdata kan worden gemonitord en verzameld met TinyML-apparaten. Het Zweedse edge-AI-bedrijf Imagimob heeft een ontwikkelplatform gebouwd voor machine learning op edge-apparaten. Vijfenvijftig organisaties uit de hele Europese Unie hebben met Imagimob samengewerkt om te leren hoe TinyML efficiënt beheer van gewassen en vee kan bieden.
Industrieel voorspellend onderhoud
TinyML kan worden ingezet op energiezuinige apparaten om machines continu te monitoren op storingen en problemen te voorspellen voordat ze zich voordoen; dit soort toepassing heeft het potentieel om bedrijven te helpen kosten te verlagen die vaak voortkomen uit defecte machines.
Een goed voorbeeld van voorspellend onderhoud is Ping Services. Zij ontwikkelden een bewakingsapparaat dat continu de akoestische signatuur van windturbinebladen monitort om elke verandering of schade te detecteren en te melden. Volgens de website van Ping kunnen “operators met continue monitoring tijdig reageren op schade aan bladen, waardoor onderhoudskosten, faalrisico’s en stilstand worden verminderd, en de prestaties en efficiëntie van windturbines verbeteren.”
Klantbeleving
Personalisatie is een belangrijk marketinginstrument waar klanten om vragen naarmate hun verwachtingen stijgen. Het idee is dat bedrijven hun klanten beter begrijpen en ze gerichter benaderen met advertenties en boodschappen die aansluiten bij hun gedrag. Het inzetten van TinyML-toepassingen aan de edge stelt bedrijven in staat gebruikerscontexten te begrijpen, inclusief hun gedrag.
Workflowvereisten
Veel tools en architecturen die in traditionele machine learning-workflows worden gebruikt, worden ook ingezet bij het bouwen van edge-apparaattoepassingen. Het belangrijkste verschil is dat TinyML het mogelijk maakt om deze modellen verschillende functies te laten uitvoeren op kleinere apparaten.
Tensorflow Lite voor microcontrollers (TF Lite Micro) is een van de populairste frameworks voor machine learning op edge-apparaten; het is specifiek ontworpen voor het implementeren van machine learning op embedded systemen met slechts enkele kilobytes geheugen.
Python is vaak de voorkeurstaal voor het bouwen van machine learning-modellen. Toch maakt TensorFlow Lite het mogelijk om eenvoudig modellen te ontwikkelen in C, C++ of Java en ze te deployen zonder internetverbinding.
Vanuit hardwareperspectief is een ondersteund microcontrollerbord vereist om aan de slag te gaan met TinyML in TF Lite; de bibliotheek ondersteunt momenteel de volgende microcontrollers:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- STM32F746 Discovery kit
- Adafruit EdgeBadge
- Adafruit TensorFlow Lite for Microcontrollers Kit
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- Wio Terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- Synopsys DesignWare ARC EM Software Development Platform
- Sony Spresense
Met de steun van TinyML is het mogelijk om de intelligentie van miljarden apparaten die we elke dag gebruiken, zoals huishoudelijke apparaten en IoT-gadgets, te vergroten zonder een fortuin uit te geven aan dure hardware of betrouwbare internetverbindingen, die vaak beperkt worden door bandbreedte en stroom en aanzienlijke latentie veroorzaken.
Leermaterialen
- TinyML Foundation
- Tiny ML: Machine Learning with Tensorflow Lite on Arduino and Ultra-Low-Power Microcontrollers (boek)
- Embedded Machine Learning on Edge Devices (podcast)
- Understanding Machine Learning
- Introduction to Deep Learning in Python
- Deep Learning Tutorial
Afsluiting
TinyML wint de laatste jaren terrein in uiteenlopende sectoren dankzij de ontwikkeling van hardware- en software-ecosystemen die het ondersteunen. Het heeft het mogelijk gemaakt om machine learning-modellen te implementeren in systemen met een laag energieverbruik, zoals microcontrollers, wat de deur opent naar allerlei nieuwe kansen. Lage latentie, energiebesparing, dataprivacy en geen afhankelijkheid van verbinding zijn enkele van de factoren die TinyML zo aantrekkelijk maken voor ontwikkelaars die applicaties bouwen voor internet of things (IoT)-apparaten.
Veelgestelde vragen
Wat is Tiny Machine Learning (TinyML)?
TinyML is een vorm van machine learning waarmee modellen op kleinere, minder krachtige apparaten kunnen draaien. Het omvat hardware, algoritmen en software die sensordata op deze apparaten kunnen analyseren met zeer laag stroomverbruik, waardoor het ideaal is voor always-on use-cases en batterijgevoede apparaten.
Wat zijn de voordelen van TinyML?
De voordelen van TinyML zijn onder andere lagere latentie, energiebesparing, verminderde bandbreedte en betere dataprivacy. TinyML maakt het mogelijk om data te verwerken op edge-apparaten, waardoor datatransfers naar een server die voor vertraging kunnen zorgen, overbodig worden. TinyML vereist ook aanzienlijk minder stroom dan traditionele machine learning-modellen, zodat het langdurig kan werken zonder te hoeven worden opgeladen.
Waar wordt TinyML voor gebruikt?
TinyML kan in een breed scala aan sectoren worden gebruikt, waaronder landbouw, industrieel voorspellend onderhoud en klantbeleving. Het kan ook worden ingezet voor computer vision, visual wake words, keyword spotters, gebarenherkenning en meer.
Wat zijn de workflowvereisten voor TinyML-toepassingen?
De workflowvereisten voor TinyML-toepassingen lijken op die van traditionele machine learning-workflows. TinyML maakt het echter mogelijk om deze modellen verschillende functies te laten uitvoeren op kleinere apparaten. TensorFlow Lite voor microcontrollers (TF Lite Micro) is een van de populairste frameworks voor machine learning op edge-apparaten en is specifiek ontworpen voor het implementeren van machine learning op embedded systemen met slechts enkele kilobytes geheugen.
Wat zijn enkele leermaterialen voor TinyML?
Enkele leermaterialen voor TinyML zijn de TinyML Foundation, het boek "Tiny ML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers" en de podcast "Embedded Machine Learning on Edge Devices". DataCamp heeft ook veel resources, zoals deze deep learning-tutorial, deze cursus over het begrijpen van machine learning en nog veel meer in deze Learn AI-hub.
