Onderzoekers van het Fraunhofer-Institut für microelektronische Schaltungen und Systemen (IMS) hebben kunstmatige intelligentie (AI) ontwikkeld voor microcontrollers en sensoren, met een volledig configureerbaar kunstmatig neuraal netwerk.
AIfES is een platformonafhankelijke machine learning bibliotheek die kan worden gebruikt om zelflerende micro-elektronica te implementeren die geen connectiviteit met een cloud of krachtige computer vereist. De sensorvriendelijke AI ondersteunt handschriftherkenning en gebarenherkenning.
Er zijn verschillende machine learning software-oplossingen, maar deze zijn meestal alleen beschikbaar voor de pc en gebruiken Python als programmeertaal. Een oplossing die de uitvoering en training van neurale netwerken op embedded systemen mogelijk maakt, is momenteel niet beschikbaar. Het kan echter nuttig zijn om de training direct op het embedded systeem uit te voeren, bijvoorbeeld als een ingebouwde sensor zichzelf moet kalibreren. Het wachten is een op sensoren gebaseerde AI die direct in een sensorsysteem kan worden geïntegreerd.
Een team onderzoekers van Fraunhofer IMS heeft met AIfES (Artificial Intelligence voor Embedded Systems) deze visie geïmplementeerd. Ze hebben machine learning ontwikkeld in C, die kan draaien op microcontrollers, PC, Raspberry Pi of Android. De bibliotheek bevat een volledig configureerbaar kunstmatig neuraal netwerk (KNN) dat ook diepe diepgaande netwerken kan genereren wanneer dat nodig is. Een KNN is de poging om het menselijk brein wiskundig te emuleren met algoritmen om functionele relaties leerbaar te maken voor algoritmen
AIfES is speciaal geoptimaliseerd voor embedded systemen. De onderzoekers hebben de broncode tot een minimum beperkt, zodat de KNN rechtstreeks op de microcontroller of op de sensor kan worden getraind. Bovendien is de broncode universeel geldig, hij kan voor vrijwel elk platform worden gecompileerd. Aangezien altijd dezelfde algoritmen worden gebruikt, is een KNN dat is gemaakt op de pc, gemakkelijk te poorten naar een microcontroller. Tot nu toe was dit niet mogelijk met commercieel verkrijgbare softwareoplossingen.
Tot nu toe worden kunstmatige intelligentie en neurale netwerken voornamelijk gebruikt voor beeldverwerking en spraakherkenning. In sommige systemen komen de gegevens buiten de lokale systemen. Omdat de rekenkracht van lokale systemen niet altijd voldoende is, worden dan berekeningen in de cloud uitgevoerd. Dit bemoeilijkt bewaking van de privacy , bovendien worden grote hoeveelheden data verstuurd. De onderzoekers kozen voor een andere aanpak en gingen van machine learning in de cloud naar machine learning direct op het embedded systeem. Hierdoor kan de gegevensbescherming worden gegarandeerd en de hoeveelheid verzonden data worden verminderd.
Natuurlijk kunnen geen grote Deep Learning modellen in een embedded systeem worden geïmplementeerd, zodat wordt gezocht naar slimme functie-extractie om ingangssignalen te reduceren. Doordat de onderzoekers de AI rechtstreeks op de microcontroller plaatsen, kan een apparaat van extra functies worden voorzien zonder dat dure hardwarewijzigingen nodig zijn.
AIfES richt zich niet op de verwerking van grote hoeveelheden gegevens; om kleine neurale netwerken te bouwen worden alleen de vereist gegevens overgedragen. De onderzoekers volgen dus niet de trend die gaat naar big data. Ze ontwikkelen nieuwe dataprocessingstrategieën en hebben extracties voor elk probleem om het kleinst mogelijke KNN te realiseren. Dit zorgt ook voor later leren op de controller zelf.
Dit is al praktisch geïmplementeerd met verschillende demo's. Zo realiseerde het onderzoeksteam herkenning van handgeschreven nummers op een goedkope 8-bits microcontroller (Arduino Uno). Dit was technisch alleen mogelijk omdat er een nieuwe functie-extractie werd ontwikkeld. Een andere demonstrator kan complexe gebaren detecteren die in de lucht worden geschreven. De wetenschappers van IMS hebben een systeem ontwikkeld dat bestaat uit een microcontroller en een sensor voor absolute oriëntatie die getallen in de lucht detecteert. Een mogelijke toepassing zou zijn om een wearable te bedienen.
Om deze vorm van communicatie te laten werken, schrijven meerdere mensen de getallen herhaaldelijk van nul naar negen (zie foto). Het neurale netwerk ontvangt deze trainingsgegevens, leert het en identificeert het onafhankelijk in de volgende stap. Bijna alle figuren kunnen worden getraind, niet alleen cijfers. Het apparaat bedienen met spraakherkenning is dus achterhaald, de wearable kan worden bestuurd met een gebaar.
De toepassingsmogelijkheden van AIfES zijn vrijwel onbeperkt: een polsbandje met geïntegreerde gebarenherkenning kan bijvoorbeeld worden gebruikt voor lichtregeling in gebouwen. Maar niet alleen de herkenning van een gebaar is mogelijk, ook het bewaken hoe goed een gebaar wordt uitgevoerd. In de revalidatie- of fitnessruimte kan de gebruiker oefeningen en bewegingen beoordelen als geen trainer aanwezig is. Omdat er geen camera of cloud wordt gebruikt, is de privacy beschermd. AIfES kan op veel gebieden worden gebruikt: auto's, medicijnen, smart home, industrie 4.0.
Andere voordelen van AIfES: de bibliotheek kan de rekenkracht decentraliseren door bijvoorbeeld kleine embedded systemen toe te staan de gegevens over te nemen voor verwerking en de resultaten aan een hoger systeem te leveren. Op deze manier wordt de hoeveelheid gegevens die moet worden overgedragen aanzienlijk verminderd. Daarnaast kan een netwerk van kleine, adaptieve systemen worden gerealiseerd, die taken onderling verdelen.
AIfES bevat een neuraal netwerk met een zogenaamde feed forward structuur, die ook diepe neurale netwerken mogelijk maakt. Deze oplossing is zo geprogrammeerd dat een compleet netwerk met één enkele functie is te beschrijven. De integratie van verdere netwerkvormen en -structuren is momenteel in ontwikkeling.
Daarnaast ontwikkelen de onderzoekers hardwarecomponenten voor neurale netwerken naast andere leeralgoritmen en demonstratiesystemen. Fraunhofer IMS werkt momenteel aan een RISC-V-microprocessor, die speciaal voor neurale netwerken een hardwareversneller zou moeten hebben. AIfES is geoptimaliseerd in een speciale versie voor deze hardware, zodat deze bron optimaal kan worden gebruikt.
(foto: Fraunhofer IMS)