Strojno učenje za senzorje

logo

Danes so mikrokontrolerji že v vsaki tehnološki napravi. Od telefonov do pralnih strojev in celo majhnih brezžičnih slušalk. Raziskovalci na inštitutu Fraunhofer za mikroelektronska vezja in sisteme so razvili AIfES, koncept umetne inteligence za mikrokontrolerje in senzorje, ki vsebuje popolnoma prilagodljivo nevralno mrežo.

AIfES je knjižnica za strojno učenje, neodvisna od platforme, ki je lahko uporabljena za samoučeče mikroelektronske naprave, ki ne potrebujejo dostopa do procesorskega oblaka ali naprednih računalnikov. Sistem, ki je povezan s senzorjem, na primer prepozna pisavo ali gesto, kar omogoča prepoznavo vnosa že na pametni uri, na kateri je zagnan AIfES.

Za strojno učenje obstaja že veliko programskih rešitev, a so skoraj ekskluzivno dostopne le na osebnih računalnikih v programskem jeziku Python. Ne obstaja pa programska rešitev, ki bi omogočala izvajanje in učenje nevralnih mrež na vgrajenih sistemih, kot so mikrokontrolerji. Izvajanje učenja neposredno v sistemu bi omogočilo razširjeno funkcionalnost senzorjev, na primer samodejno kalibracijo senzorjev. Knjižnica AIfES (Artificial Intelligence for Embedded Systems) je velik korak k umetni inteligenci, ki bi bila vgrajena naravnost v senzorju. Napisana je v programskem jeziku C in jo je mogoče izvajati tako na osebnih računalnikih kot tudi na Raspberry PI in Androidu, optimizirana pa je predvsem za vgrajene sisteme. Knjižnica vsebuje popolnoma prilagodljivo nevralno mrežo (ANN), ki lahko po potrebi ustvari globoka omrežja iz več plasti za globoko učenje. Nevralna mreža je matematična programska struktura, ki poskuša oponašati nevralne povezave v človeških možganih. Osnova zanjo so matematični algoritmi, ki ustvarjajo različno močne povezave med spremenljivkami in tako omogočijo kompleksno razmišljanje. Proces strojnega učenja pa zbira podatke tekom učenja in jih uporabi za izboljšanje porazdelitve povezav med različnimi spremenljivkami in tako izboljšuje algoritem.

»Kodo knjižnice smo optimizirali, da se lahko izvaja na samem mikrokontrolerju senzorja, torej vgrajenem sistemu. Koda je zelo univerzalna in jo je mogoče prevesti v strojne ukaze na praktično kateri koli platformi. Ker so uporabljeni algoritmi na vseh platformah enaki, lahko kodo, ki je bila generirana na osebnem računalniku, enostavno prenesemo na vgrajeni sistem. Do sedaj je bilo to s komercialnimi programi nemogoče,« je povedal dr. Pierre Gembaczka, eden od raziskovalcev na inštitutu.

Zaščita zasebnosti
Dodatna prednost senzorske umetne inteligence, ki so jo razvili na inštitutu, je, da se celotno procesiranje odvija lokalno. Druge storitve umetne inteligence se zanašajo na oblačno procesiranje, saj naprave, ki oddajo zahtevek za procesiranje, ponavadi niso dovolj zmogljive, da bi ga izvajale same lokalno. Ker je podatke za procesiranje treba poslati preko omrežja, to predstavlja določena varnostna tveganja. »Težko je zaščititi zasebnost uporabnikov, ki vsak dan pošiljajo velike količine morebitno osebnih podatkov v oblak. Zato smo mi ubrali drugačen pristop in se z procesiranja v oblaku premaknili na lokalno procesiranje. Ker občutljivi podatki nikoli ne zapuščajo sistema, je zaščita podatkov zagotovljena, zmanjšana pa je tudi količina podatkov, ki jo mora senzor poslati, saj so ti že obdelani,« je dejal Burkhard Heidemann, vodja skupine Embedded systems na inštitutu. »Seveda zaenkrat še ni mogoče izvajati velikih modelov globokega učenja na vgrajenih sistemih, zato poskušamo ustvariti izbor funkcij, ki bodo najbolj koristne za zmanjšanje števila vhodnih signalov.« Ker je umetna inteligenca vgrajena že v mikrokontroler, je zagotovljena dodatna funkcionalnost brez kakršnih koli dragih prilagoditev strojne opreme.

Zmanjšanje količine podatkov
AIfES ni usmerjen v procesiranje velike količine podatkov, temveč prenaša le nujno potrebne podatke za izgradnjo majhne nevralne mreže. »Ne gremo po poti preostale industrije, ki se usmerja v obdelovanje podatkov na debelo, temveč želimo obdelovati le nujno potrebne in ustvarjamo vrsto mikrointeligence v vgrajenem sistemu, ki reši dano nalogo. Razvijamo nove strategije ekstrakcije podatkov in predprocesiranja za vsako predvideno aplikacijo, v kateri bi bila uporaba nevralne mreže potencialno koristna. To omogoča strojno učenje na samem senzorju,« je pojasnil dr. Gembaczka.

Ta pristop so že preizkusili z več demonstracijami. Ekipa raziskovalcev je omogočila prepoznavo ročno pisanih številk na 8-bitni platformi (Arduino Uno). Druga demonstracija je osnovana na sistemu, sestavljenem iz mikrokontrolerja in senzorja absolutne orientacije, ki prepoznava kompleksne geste rok po zraku. Med drugim je sposoben prepoznati tudi številke, nakazane v zraku z gestami. Ena izmed možnih aplikacij za takšen sistem bi bilo daljinsko upravljanje naprav, ki se nosijo, kot na primer pametne ure. Sistem se usposobi tako, da zaznava čim več ljudi, ko pišejo številke po zraku. Nevralna mreža te podatke sprejme in z njimi izboljša svoje algoritme prepoznavanja. Na ta način lahko napravo naučimo pomen katere koli geste, tako je za razliko od govornih ukazov uporabniška izkušnja veliko bolj zasebna, saj se z napravo pogovarjamo v praktično dogovorjenem znakovnem jeziku.

Možnosti aplikacij za AIfES so skoraj neomejene. Ne le da lahko AIfES prepoznava geste, temveč tudi spremlja kvaliteto gest, tako bi lahko rehabilitacijski pacienti in športniki trenirali brez prisotnosti trenerja in vseeno dobili ustrezne povratne informacije o kvaliteti svojih gibov. Zasebnost uporabnikov je zagotovljena, saj je lahko celoten sistem izoliran od omrežja. Potencialna področja uporabe za AIfES so predvsem v avtomobilski industriji, medicini, pametnih domovih in Industriji 4.0.

Decentralizirana umetna inteligenca
AIfES ima še druge prednosti: knjižnica omogoča decentralizacijo procesorske moči, torej da majhni vgrajeni senzorski sistemi sprejmejo podatke, jih obdelajo in pošljejo nadzornemu sistemu. Predhodna obdelava močno zmanjša potrebno količino prenesenih podatkov in tudi podatkov iz več senzorjev, ki jih mora nadzorni sistem obdelati. Možna je tudi povezava pametnih senzorjev, ki procesorsko delo razdeljujejo med seboj, v majhno omrežje za strojno učenje.

Globoko učenje
Zaradi svoje strukture AIfES trenutno podpira ustvarjanje globokih nevralnih mrež. »Našo knjižnico smo programirali tako, da celotno omrežje določa ena sama funkcija,« je povedal raziskovalec Gembaczka. Integracija dodatnih oblik omrežij je že v razvoju. Raziskovalci pa razvijajo tudi strojne komponente za nevralne mreže kot dodatek obstoječim algoritmom. Inštitut trenutno dela na RISC-V mikroprocesorju, ki bo omogočal strojno pospeševanje prav za nevralne mreže. Nova posebno optimizirana verzija knjižnice AIfES za polno izkoriščenje te prihajajoče platforme je že v razvoju.

Vir:
https://www.rdmag.com/news/2019/06/machine-learning-sensors

https://www.rdmag.com

Več o članku si preberite v PDF reviji!