Modeli strojnega učenja so trenutno povsod. Čez dan verjetno uporabljate te modele veliko več, kot se zavedate. Modeli strojnega učenja se uporabljajo pri običajnih opravilih, kot so brskanje po družbenih medijih, fotografiranje in preverjanje vremena.
Ta spletni dnevnik vam je morda priporočil algoritem strojnega učenja. Vsi smo že slišali, kako dolgotrajno je treniranje teh modelov. Vsi smo že slišali, da je usposabljanje teh modelov dolgotrajno.
Vendar je sklepanje na teh modelih pogosto računsko drago.
Potrebujemo računalniške sisteme, ki so dovolj hitri, da obvladajo hitrost, s katero uporabljamo storitve strojnega učenja. Posledično se večina teh modelov izvaja v ogromnih podatkovnih centrih z gruči CPE in GPE (v nekaterih primerih celo TPE).
Ko posnamete sliko, želite strojno učenje da ga takoj izboljšate. Nočete čakati, da se slika prenese v podatkovni center, jo obdela in vrne vam. V tem primeru je treba model strojnega učenja izvajati lokalno.
Ko izgovorite »Hey Siri« ali »OK, Google«, želite, da se vaši pripomočki takoj odzovejo. Čakam, da se vaš glas prenese v računalnike, kjer ga bodo ovrednotili in pridobili podatke.
To zahteva čas in slabo vpliva na uporabniško izkušnjo. V tem primeru želite, da model strojnega učenja deluje tudi lokalno. Tukaj nastopi TinyML.
V tej objavi bomo preučili TinyML, kako deluje, kako se uporablja, kako začeti z njim in še veliko več.
Kaj je TinyML?
TinyML je vrhunska disciplina, ki uporablja revolucionarni potencial strojnega učenja za zmogljivost in omejitve moči majhnih naprav in vgrajenih sistemov.
Uspešna uvedba v tej industriji zahteva temeljito razumevanje aplikacij, algoritmov, strojne in programske opreme. To je podžanr strojnega učenja, ki uporablja modele globokega učenja in strojnega učenja v vgrajenih sistemih, ki uporabljajo mikrokontrolerje, procesorje digitalnih signalov ali druge specializirane procesorje z ultra nizko porabo energije.
Vdelane naprave, ki podpirajo TinyML, so namenjene izvajanju algoritma strojnega učenja za določeno opravilo, običajno kot del naprave. robno računalništvo.
Da bi ti vgrajeni sistemi delovali tedne, mesece ali celo leta brez ponovnega polnjenja ali zamenjave baterije, morajo imeti porabo energije manjšo od 1 mW.
Kako deluje?
Edino ogrodje strojnega učenja, ki ga je mogoče uporabiti z mikrokrmilniki in računalniki, je TensorFlow Lite. To je nabor orodij, ki razvijalcem omogočajo poganjanje njihovih modelov na mobilnih, vdelanih in robnih napravah, kar omogoča sprotno strojno učenje.
Vmesnik mikrokrmilnika se uporablja za zbiranje podatkov iz senzorjev (kot so mikrofoni, kamere ali vgrajeni senzorji).
Preden se podatki pošljejo mikrokrmilniku, so vključeni v model strojnega učenja v oblaku. Za usposabljanje teh modelov se običajno uporablja paketno usposabljanje v načinu brez povezave. Podatki senzorjev, ki bodo uporabljeni za učenje in sklepanje je že določen za določeno aplikacijo.
Če se model usposablja za zaznavanje budilne besede, je na primer že nastavljen za upravljanje neprekinjenega zvočnega toka iz mikrofona.
Vse je že narejeno s pomočjo platforme v oblaku, kot je Google Colab v primeru TensorFlow Lite, vključno z izbiro nabora podatkov, normalizacijo, premajhnim ali pretiranim prilagajanjem modela, urejanjem, povečanjem podatkov, usposabljanjem, validacijo in testiranjem.
Popolnoma usposobljen model se po paketnem usposabljanju brez povezave sčasoma preoblikuje in prenese v mikrokrmilnik, mikroračunalnik ali digitalni signalni procesor. Model nima dodatnega usposabljanja po premestitvi v vgrajeno napravo. Namesto tega za uporabo modela uporablja samo podatke v realnem času iz senzorjev ali vhodnih naprav.
Posledično mora biti model strojnega učenja TinyML izjemno vzdržljiv in zmožen ponovnega usposabljanja po letih ali nikoli. Raziskati je treba vsa morebitna premajhna in prevelika opremljenost modela, tako da bo model ostal ustrezen dlje časa, v idealnem primeru za nedoločen čas.
Toda zakaj uporabljati TinyML?
TinyML se je začel kot prizadevanje za odpravo ali zmanjšanje odvisnosti IoT od storitev v oblaku za osnovne male strojno učenje operacije. To je zahtevalo uporabo modelov strojnega učenja na samih robnih napravah. Zagotavlja naslednje glavne prednosti:
- Nizka poraba poraba: Aplikacija TinyML naj po možnosti uporablja manj kot 1 milivat moči. S tako nizko porabo energije lahko naprava mesece ali leta še naprej pridobiva zaključke iz podatkov senzorja, tudi če jo napaja gumbasta baterija.
- Nižji stroški: Zasnovan je za delovanje na poceni 32-bitnih mikrokontrolerjih ali DSP-jih. Ti mikrokrmilniki običajno stanejo nekaj centov vsak, skupni vgrajeni sistem, razvit z njimi, pa je manj kot 50 USD. To je zelo stroškovno učinkovita možnost za izvajanje majhnih programov strojnega učenja v velikem obsegu in je še posebej koristna v aplikacijah IoT, kjer je treba uporabiti strojno učenje.
- Nižja latenca: Njegove aplikacije imajo nizko zakasnitev, saj jim ni treba prenašati ali izmenjevati podatkov po omrežju. Vsi podatki senzorjev se snemajo lokalno, zaključki pa se pripravijo z uporabo modela, ki je že bil usposobljen. Rezultati sklepanja se lahko pošljejo strežniku ali oblaku za beleženje ali dodatno obdelavo, čeprav to ni nujno za delovanje naprave. To minimizira omrežno zakasnitev in odpravi potrebo po operacijah strojnega učenja, ki se izvajajo v oblaku ali strežniku.
- Zasebnost: To je velika skrb na internetu in internetu stvari. Delo strojnega učenja v aplikacijah TinyML se izvaja lokalno, brez shranjevanja ali pošiljanja senzorskih/uporabniških podatkov v strežnik/oblak. Posledično so te aplikacije varne za uporabo, tudi ko so povezane z omrežjem, in ne predstavljajo tveganja za zasebnost.
Aplikacije
- Kmetijstvo – kdaj kmetje fotografirajo rastlino, aplikacija TensorFlow Lite v njej zazna bolezni. Deluje na kateri koli napravi in ne zahteva internetne povezave. Postopek ščiti kmetijske interese in je nujno potreben za podeželske kmete.
- Vzdrževanje mehanike – TinyML, kadar se uporablja na napravah z nizko porabo energije, lahko nenehno odkriva napake v stroju. Vključuje vzdrževanje, ki temelji na predvidevanju. Ping Services, avstralski start-up, je predstavil IoT pripomoček, ki spremlja vetrne turbine tako, da se pritrdi na zunanjost turbine. Organe obvesti vsakič, ko zazna morebitno težavo ali okvaro.
- Bolnišnice – The Solar Scare je projekt. Komarji uporabljajo TinyML za zaustavitev širjenja bolezni, kot sta denga in malarija. Napaja se s sončno energijo in zazna razmere za razmnoževanje komarjev, preden signalizira vodi, da zavira razmnoževanje komarjev.
- Nadzor prometa – avtor z uporabo TinyML za senzorje, ki zbirajo podatke o prometu v realnem času, jih lahko uporabimo za boljše usmerjanje prometa in skrajšanje odzivnih časov za vozila na nujni vožnji. Swim.AI na primer uporablja to tehnologijo pri pretakanju podatkov za povečanje varnosti potnikov, hkrati pa zmanjšuje zastoje in emisije s pametnim usmerjanjem.
- zakon: TinyML se lahko uporablja v kazenskem pregonu za prepoznavanje nezakonitih dejanj, kot so izgredi in kraje, z uporabo strojnega učenja in prepoznavanja kretenj. Podoben program se lahko uporablja tudi za zavarovanje bančnih bankomatov. Z opazovanjem vedenja uporabnika lahko model TinyML predvidi, ali je uporabnik pravi potrošnik, ki zaključuje transakcijo, ali vsiljivec, ki poskuša vdreti ali uničiti bankomat.
Kako začeti uporabljati TinyML?
Če želite začeti uporabljati TinyML v TensorFlow Lite, boste potrebovali združljivo ploščo mikrokrmilnika. TensorFlow Lite za mikrokontrolerje podpira spodaj navedene mikrokrmilnike.
- Wio terminal: ATSAMD51
- Razvojna plošča Himax WE-I Plus EVB Endpoint AI
- STM32F746 Komplet za odkrivanje
- Adafruit EdgeBadge
- Platforma za razvoj programske opreme Synopsys DesignWare ARC EM
- Sony Express
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Komplet Adafruit TensorFlow Lite za mikrokontrolerje
- Adafruit Circuit igrišče Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
To so 32-bitni mikrokontrolerji, ki imajo dovolj bliskovnega pomnilnika, RAM-a in frekvenco ure za izvajanje modela strojnega učenja. Plošče imajo tudi številne vgrajene senzorje, ki lahko izvajajo kateri koli vgrajeni program in uporabljajo modele strojnega učenja za ciljno aplikacijo. Za zgraditi model strojnega učenja, boste poleg strojne platforme potrebovali prenosni ali računalnik.
Vsaka platforma strojne opreme ima lastna programska orodja za izdelavo, usposabljanje in prenos modelov strojnega učenja, ki uporabljajo paket TensorFlow Lite for Microcontrollers. TensorFlow Lite je brezplačen za uporabo in spreminjanje, ker je open source.
Če želite začeti uporabljati TinyML in TensorFlow Lite, potrebujete le eno od zgoraj omenjenih platform za vdelano strojno opremo, računalnik/prenosni računalnik, kabel USB, pretvornik USB v serijski – in željo po vadbi strojnega učenja z vgrajenimi sistemi .
Izzivi
Čeprav je napredek TinyML prinesel številne pozitivne rezultate, se industrija strojnega učenja še vedno sooča s precejšnjimi ovirami.
- Raznolikost programske opreme – ročno kodiranje, generiranje kode in tolmači ML so vse možnosti za uvajanje modelov v naprave TinyML in vsaka zahteva različno količino časa in truda. Zaradi tega lahko nastanejo različne predstave.
- Raznolikost strojne opreme – tam na voljo je več možnosti strojne opreme. Platforme TinyML so lahko vse od mikrokontrolerjev za splošno uporabo do najsodobnejših nevronskih procesorjev. To povzroča težave pri uvajanju modela v različnih arhitekturah.
- Odpravljanje težav/odpravljanje napak – kdaj model ML slabo deluje v oblaku, preprosto je pogledati podatke in ugotoviti, kaj gre narobe. Ko je model razpršen na tisoče naprav TinyML, brez podatkovnega toka, ki bi se vrnil v oblak, postane odpravljanje napak težavno in bo morda zahtevala drugačno metodo.
- Omejitve spomina – Tradicionalno platforme, kot so pametni telefoni in prenosniki, potrebujejo gigabajte RAM-a, medtem ko naprave TinyML uporabljajo kilobajte ali megabajte. Posledično je velikost modela, ki ga je mogoče uporabiti, omejena.
- Usposabljanje modela – Čeprav uvajanje modelov ML na napravah TinyML ima več prednosti, večina modelov ML se še vedno usposablja v oblaku za ponavljanje in nenehno izboljševanje natančnosti modela.
Prihodnost
TinyML ima s svojim majhnim odtisom, nizko porabo baterije in pomanjkanjem ali omejenim zanašanjem na internetno povezljivost ogromen potencial v prihodnosti, saj večina ozkih Umetna inteligenca bodo implementirani na robnih napravah ali neodvisnih vdelanih pripomočkih.
Z njihovo uporabo bodo aplikacije IoT postale bolj zasebne in varne. Čeprav TensorFlow Lite je trenutno edino ogrodje za strojno učenje za mikrokrmilnike in mikroračunalnike, druga primerljiva ogrodja, kot sta senzor in CMSIS-NN podjetja ARM, so v pripravi.
Medtem ko je TensorFlow Lite odprtokodni projekt v teku, ki se je odlično začel z Googlovo ekipo, še vedno potrebuje podporo skupnosti, da pride v mainstream.
zaključek
TinyML je nov pristop, ki združuje vgrajene sisteme s strojnim učenjem. Ker ozka umetna inteligenca dosega vrhunec v številnih vertikalah in domenah, se lahko tehnologija pojavi kot vidno podpolje v strojnem učenju in umetni inteligenci.
Zagotavlja rešitev za številne izzive, s katerimi se soočajo sektor interneta stvari in strokovnjaki, ki uporabljajo strojno učenje v številnih domensko specifičnih disciplinah.
Koncept uporabe strojnega učenja pri robne naprave z majhnim računalništvom odtis in poraba energije lahko bistveno spremenita način izdelave vgrajenih sistemov in robotike.
Pustite Odgovori