Modeli mašinskog učenja su trenutno posvuda. Tokom dana vjerovatno koristite ove modele mnogo više nego što mislite. Modeli mašinskog učenja koriste se u uobičajenim zadacima kao što su pregledavanje društvenih medija, fotografisanje i provjera vremena.
Algoritam mašinskog učenja možda vam je preporučio ovaj blog. Svi smo čuli koliko je vremena za obuku ovih modela. Svi smo čuli da je obuka ovih modela dugotrajna.
Međutim, izvođenje zaključaka o ovim modelima je često računski skupo.
Potrebni su nam kompjuterski sistemi koji su dovoljno brzi da podnose stopu kojom koristimo usluge mašinskog učenja. Kao rezultat toga, većina ovih modela radi na masivnim centrima podataka sa CPU i GPU klasterima (čak i TPU u nekim slučajevima).
Kad slikaš, želiš mašinsko učenje da ga trenutno poboljšate. Ne želite da čekate da se slika prenese u centar podataka, obradi i vrati vama. U ovom slučaju, model mašinskog učenja treba da se izvrši lokalno.
Kada kažete "Hej Siri" ili "OK, Google", želite da vaši uređaji odmah reaguju. Čeka se da se vaš glas prenese na kompjutere, gdje će biti procijenjen i dobijeni podaci.
Ovo zahtijeva vrijeme i ima štetan učinak na korisničko iskustvo. U ovom slučaju, želite da model strojnog učenja radi i lokalno. Ovdje dolazi TinyML.
U ovom postu ćemo pogledati TinyML, kako funkcionira, njegovu upotrebu, kako započeti s njim i još mnogo toga.
Šta je TinyML?
TinyML je vrhunska disciplina koja primjenjuje revolucionarni potencijal strojnog učenja na performanse i ograničenja snage malih uređaja i ugrađenih sistema.
Za uspješnu implementaciju u ovoj industriji potrebno je temeljito razumijevanje aplikacija, algoritama, hardvera i softvera. To je podžanr mašinskog učenja koji koristi modele dubokog učenja i mašinskog učenja u ugrađenim sistemima koji koriste mikrokontrolere, procesore digitalnih signala ili druge specijalizovane procesore ultra niske potrošnje.
Ugrađeni uređaji koji podržavaju TinyML namijenjeni su za pokretanje algoritma strojnog učenja za određeni posao, obično kao dio uređaja edge computing.
Da bi radili sedmicama, mjesecima ili čak godinama bez ponovnog punjenja ili zamjene baterije, ovi ugrađeni sistemi moraju imati potrošnju energije manju od 1 mW.
Kako funkcioniše?
Jedini okvir za mašinsko učenje koji se može koristiti sa mikrokontrolerima i računarima je TensorFlow Lite. To je skup alata koji programerima omogućavaju da pokreću svoje modele na mobilnim, ugrađenim i rubnim uređajima, omogućavajući mašinsko učenje u hodu.
Interfejs mikrokontrolera se koristi za prikupljanje podataka sa senzora (kao što su mikrofoni, kamere ili ugrađeni senzori).
Prije slanja u mikrokontroler, podaci se inkorporiraju u model strojnog učenja baziran na oblaku. Skupna obuka u offline modu se obično koristi za obuku ovih modela. Podaci senzora koji će se koristiti za učenje i zaključivanje je već određeno za konkretnu primjenu.
Ako se model, na primjer, obučava da detektuje budnu riječ, on je već podešen za upravljanje kontinuiranim audio streamom iz mikrofona.
Sve je već urađeno uz pomoć platforme u oblaku kao što je Google Colab u slučaju TensorFlow Lite-a, uključujući odabir skupa podataka, normalizaciju, podešavanje ili preuređivanje modela, regularizaciju, povećanje podataka, obuku, validaciju i testiranje.
Potpuno obučeni model se na kraju transformiše i prenosi u mikrokontroler, mikroračunar ili procesor digitalnih signala nakon offline grupne obuke. Model nema dodatnu obuku nakon što je prebačen na ugrađeni uređaj. Umjesto toga, koristi isključivo podatke u realnom vremenu sa senzora ili ulaznih uređaja za primjenu modela.
Kao rezultat toga, TinyML model strojnog učenja mora biti izuzetno izdržljiv i sposoban za preobuku nakon godina ili se nikada ne može ponovo obučiti. Sva potencijalna nedovoljna i prekomjerna oprema modela moraju se istražiti tako da model ostane relevantan duži vremenski period, idealno neograničeno.
Ali zašto koristiti TinyML?
TinyML je započeo kao nastojanje da se eliminira ili smanji oslanjanje IoT-a na usluge u oblaku za osnovne male mašinsko učenje operacije. To je zahtijevalo korištenje modela strojnog učenja na samim rubnim uređajima. Pruža sljedeće glavne prednosti:
- Mala snaga potrošnja: Poželjno je da TinyML aplikacija koristi manje od 1 miliWatt snage. Uz tako malu potrošnju energije, uređaj može nastaviti da izvodi zaključke iz podataka senzora mjesecima ili godinama, čak i ako ga napaja coin baterija.
- Niži troškovi: Dizajniran je za rad na jeftinim 32-bitnim mikrokontrolerima ili DSP-ovima. Ovi mikrokontroleri obično koštaju nekoliko centi svaki, a ukupan ugrađeni sistem razvijen sa njima je manji od 50 dolara. Ovo je vrlo isplativa opcija za pokretanje malih programa strojnog učenja u velikom obimu, a posebno je korisna u IoT aplikacijama gdje se mora primijeniti strojno učenje.
- Lower Latency: Njegove aplikacije imaju nisku latenciju jer ne trebaju transport ili razmjenu podataka preko mreže. Svi podaci senzora se snimaju lokalno, a zaključci se donose pomoću modela koji je već obučen. Rezultati zaključivanja mogu se poslati serveru ili oblaku radi evidentiranja ili dodatne obrade, iako to nije neophodno za rad uređaja. Ovo minimizira kašnjenje mreže i eliminiše potrebu da se operacije mašinskog učenja izvode u oblaku ili serveru.
- privatnost: To je velika briga na internetu i Internetu stvari. Rad mašinskog učenja u TinyML aplikacijama se izvodi lokalno, bez pohranjivanja ili slanja podataka senzora/korisnika na server/oblak. Kao rezultat toga, čak i dok su povezane na mrežu, ove aplikacije su sigurne za korištenje i ne predstavljaju rizik po privatnost.
Aplikacije
- Poljoprivreda – kada farmeri fotografišu biljku, aplikacija TensorFlow Lite otkriva bolesti u njoj. Radi na bilo kojem uređaju i ne zahtijeva internetsku vezu. Postupak štiti poljoprivredne interese i kritična je potreba za seoske poljoprivrednike.
- Održavanje mehanike – TinyML, kada se koristi na uređajima male snage, može kontinuirano identificirati nedostatke u mašini. To uključuje održavanje zasnovano na predviđanjima. Ping Services, australijski start-up, predstavio je IoT gadget koji prati vjetroturbine tako što se pričvršćuje na vanjski dio turbine. Obavještava nadležne organe kad god otkrije bilo kakav mogući problem ili kvar.
- Bolnice – The Solar Scare je projekat. Komarac koristi TinyML da zaustavi širenje bolesti kao što su denga i malarija. Napaja se solarnom energijom i detektuje uslove razmnožavanja komaraca pre nego što signalizira vodi da spreči razmnožavanje komaraca.
- Saobraćajni nadzor – Autor primjenom TinyML-a na senzore koji prikupljaju prometne podatke u realnom vremenu, možemo ih koristiti za bolje usmjeravanje saobraćaja i smanjenje vremena odgovora za vozila hitne pomoći. Swim.AI, na primjer, koristi ovu tehnologiju za striming podataka kako bi povećao sigurnost putnika uz istovremeno smanjenje zagušenja i emisija putem pametnog usmjeravanja.
- zakon: TinyML se može koristiti u provođenju zakona za identifikaciju nezakonitih radnji kao što su pobune i krađe koristeći mašinsko učenje i prepoznavanje gestova. Sličan program se može koristiti i za osiguranje bankomata banaka. Gledajući ponašanje korisnika, TinyML model može predvidjeti da li je korisnik stvarni potrošač koji završava transakciju ili uljez koji pokušava da hakuje ili uništi bankomat.
Kako započeti s TinyML-om?
Da biste započeli s TinyML-om u TensorFlow Lite-u, trebat će vam kompatibilna ploča mikrokontrolera. TensorFlow Lite za mikrokontrolere podržava dole navedene mikrokontrolere.
- Wio terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI razvojna ploča
- STM32F746 Komplet za otkrivanje
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM platforma za razvoj softvera
- Sony Express
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Adafruit TensorFlow Lite komplet za mikrokontrolere
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Ovo su 32-bitni mikrokontroleri koji imaju dovoljno fleš memorije, RAM-a i frekvencije takta da izvedu model mašinskog učenja. Ploče također imaju niz ugrađenih senzora koji mogu pokrenuti bilo koji ugrađeni program i primijeniti modele strojnog učenja na ciljanu aplikaciju. To izgraditi model mašinskog učenja, biće vam potreban laptop ili računar pored hardverske platforme.
Svaka hardverska platforma ima sopstvene alate za programiranje za izgradnju, obuku i prenos modela mašinskog učenja, koji koriste TensorFlow Lite paket za mikrokontrolere. TensorFlow Lite je slobodan za korištenje i modificiranje jer jeste open source.
Da biste započeli sa TinyML-om i TensorFlow Lite-om, sve što vam je potrebno je jedna od gore navedenih ugrađenih hardverskih platformi, računar/laptop, USB kabl, USB-to-serijski konvertor – i želja za vežbanjem mašinskog učenja sa ugrađenim sistemima .
Izazovi
Čak iako je napredak TinyML-a dao mnoge pozitivne rezultate, industrija mašinskog učenja i dalje se suočava sa značajnim preprekama.
- Raznolikost softvera – Ručno kodiranje, generiranje koda i ML interpreteri su sve opcije za implementaciju modela na TinyML uređajima, a za svaki je potrebno različito vrijeme i trud. Kao rezultat toga mogu nastati različite performanse.
- Raznolikost hardvera – postoji dostupno je nekoliko hardverskih opcija. TinyML platforme mogu biti bilo šta, od mikrokontrolera opšte namene do najsavremenijih neuronskih procesora. Ovo uzrokuje probleme s implementacijom modela u različitim arhitekturama.
- Rješavanje problema/otklanjanje grešaka – Kada ML model radi loše u oblaku, jednostavno je pogledati podatke i shvatiti šta nije u redu. Kada se model proširi na hiljade TinyML uređaja, bez toka podataka koji se vraća u oblak, otklanjanje grešaka postaje teško i može zahtijevati drugačiji metod.
- Memorijska ograničenja – tradicionalno platformama, kao što su pametni telefoni i laptopi, potrebni su gigabajti RAM-a, dok TinyML uređaji koriste kilobajte ili megabajte. Kao rezultat toga, veličina modela koji se može primijeniti je ograničena.
- Obuka modela – Mada Postoji nekoliko prednosti implementacije ML modela na TinyML uređajima, većina ML modela je još uvijek obučena u oblaku za ponavljanje i kontinuirano poboljšanje tačnosti modela.
budućnost
TinyML, sa svojim malim otiskom, malom potrošnjom baterije i nedostatkom ili ograničenim oslanjanjem na internet konekciju, ima ogroman potencijal u budućnosti, jer većina uskih umjetne inteligencije će biti implementiran na rubnim uređajima ili nezavisnim ugrađenim gadžetima.
To će učiniti IoT aplikacije privatnijim i sigurnijim koristeći ih. Mada TensorFlow Lite je trenutno jedini okvir za mašinsko učenje za mikrokontrolere i mikroračunare, a drugi uporedivi okviri kao što su senzor i ARM-ov CMSIS-NN su u izradi.
Iako je TensorFlow Lite projekat otvorenog koda koji je u toku i koji je sjajno započeo s Googleovim timom, i dalje mu je potrebna podrška zajednice da bi ušao u mainstream.
zaključak
TinyML je novi pristup koji kombinuje ugrađene sisteme sa mašinskim učenjem. Kako uska umjetna inteligencija dostiže vrhunac u mnogim vertikalama i domenima, tehnologija se može pojaviti kao istaknuto podpolje u mašinskom učenju i umjetnoj inteligenciji.
Pruža rješenje za brojne izazove s kojima se sada suočavaju IoT sektor i profesionalci koji primjenjuju strojno učenje u mnogim disciplinama specifičnim za domene.
Koncept korištenja mašinskog učenja na rubni uređaji sa malim računarom Otisak i potrošnja energije imaju potencijal da značajno transformišu način na koji se konstruišu ugrađeni sistemi i robotika.
Ostavite odgovor