Design-Time Optimization of Deep Neural Networks for Intermittent Learning on Microcontrollers
Dit artikel presenteert een hardware-bewust, multi-objectief optimalisatiekader dat de selectie van diepe neurale netwerken tijdens de ontwerpfase mogelijk maakt voor betrouwbaar, intermittent on-device leren op energie-autonome microcontrollers door het energieverbruik per laag en de overhead van checkpointing nauwkeurig te voorspellen.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een piepkleine, op batterijen werkende robot probeert te leren om de stem van een vriend te herkennen of een defect machineonderdeel op te sporen. Deze robot leeft in een afgelegen bos of op een drijvende boei, gevoed door enkel de zon of de wind. Het probleem is dat de natuur grillig is; de zon kan achter een wolk verdwijnen, of de wind kan gaan liggen, waardoor de batterij van de robot halverwege een taak leegloopt. In de wereld van kunstmatige intelligentie is dit een nachtmerrie. Meestal, als de stroomtoevoer van een computer uitvalt terwijl deze aan het leren is, vergeet hij alles wat hij net heeft ontdekt, en moet je weer helemaal opnieuw beginnen. Dit artikel pakt precies dat hoofdpijnprobleem aan: hoe leren we deze piekleine, energieverslindende robots zelfs wanneer hun stroomvoorziening onbetrouwbaar is en constant aan en uit springt? De auteurs werken op het snijvlak van "tiny computers" (microcontrollers), "energy harvesting" (energie oogsten uit de omgeving) en "intermittent computing" (een manier om voortgang op te slaan zodat je precies kunt hervatten waar je gebleven was na een stroomuitval).
De onderzoekers, onder leiding van Jakob Schubert en zijn team, realiseerden zich dat het ontwerpen van een slim brein voor deze robots lijkt op het proberen te bouien van een huis zonder te weten hoeveel regen er morgen zal vallen. Als je een zwaar, complex huis bouwt (een diep neuraal netwerk), kan het geweldig zijn in het leren, maar als een enkele laag van het huis meer energie vereist om te bouwen dan de batterij van de robot in één keer kan bevatten, stort het hele project in wanneer de stroom even wegvalt. Traditionele methoden om deze ontwerpen te testen houden in dat je de robot bouwt, hem in het veld plaatst en wacht tot de stroom opraakt om te zien wat er gebeurt. Dit is traag, duur en frustrerend.
In plaats van te wachten tot de stroom uitvalt, creëerden de auteurs een "glazen bol" voor energieverbruik. Ze bouwden een wiskundig model dat precies kan voorspellen hoeveel energie elke stap in het leerproces van een robot zal kosten, nog voordat de robot zelfs gebouwd is. Ze noemen dit "Design-Time Optimization". Denk aan een gameontwerper die de fysica van een sprong in een computerprogramma kan simuleren om te zien of het personage de kloof oversteekt, zonder dat hij ooit een echte trampoline hoeft te bouwen. Hun model kijkt naar de "ingrediënten" van een neuraal netwerk (hoeveel berekeningen het nodig heeft en hoeveel geheugen het aanspreekt) en schat de energiekosten met verbazingwekkende nauwkeurigheid in.
Dit is het slimme deel: ze voorspelden niet alleen hoeveel energie het kost om naar data te kijken (inferentie); ze voorspelden ook hoeveel energie het kost om te leren van data (training). Dit is cruciaal omdat leren veel energie-intensiever is. Ze hielden ook rekening met de "checkpointing" overhead — het kleine beetje extra energie dat nodig is om de voortgang van de robot op te slaan in een speciaal, niet-vluchtig geheugen (zoals een digitaal notitieblok dat geen stroom nodig heeft om open te blijven staan) telkens wanneer de batterij bijna leeg is.
Het team testte hun idee op een specifiek type kleine computer, een Cortex-M4 microcontroller (specifiek een nRF52840). Ze gebruikten hun energie-"glazen bol" om door duizenden mogelijke ontwerpen voor robotbreinen te zoeken om de ontwerpen te vinden die zowel slim genoeg waren om afwijkingen op te sporen (zoals een defect machinelager) als klein genoeg om binnen de piekleine, onderbroken energiebudget van de robot te passen. Ze ontdekten dat hun voorspellingsmodel behoorlijk goed was, met een gewogen fout van ongeveer 16,6% voor de netwerklagen en een piekleine fout van 0,9% voor het opslaan van het geheugen.
De resultaten waren indrukwekkend. Door hun model te gebruiken om het juiste ontwerp te kiezen, waren ze in staat om een robotbrein te vinden dat ongeveer 94% minder energie verbruikte dan een minder geoptimaliseerde versie, terwijl het de taak nog steeds correct uitvoerde. Ze lieten zien dat een ontwerp dat op papier efficiënt lijkt, in de praktijk kan falen als één enkele stap te veel vermogen tegelijkertijd vereist, maar dat hun model deze "energievallen" kon opsporen voordat ze ooit plaatsvonden. Kortom, ze bewezen dat je intelligente, zelflerende robots voor de wildernis kunt ontwerpen zonder dat je honderden prototypes hoeft te bouwen en te testen, simpelweg door een slimme rekenmachine te gebruiken om de energiebehoeften van elke kleine stap in het leerproces te voorspellen. Dit overbrugt de kloof tussen complexe kunstmatige intelligentie en de harde realiteit van het draaien op zonne- of windenergie in de echte wereld.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.