Mašininio mokymosi modeliai šiuo metu yra visur. Per dieną jūs tikriausiai naudojate šiuos modelius daug daugiau, nei manote. Mašininio mokymosi modeliai naudojami atliekant įprastas užduotis, pvz., naršyti socialinėje žiniasklaidoje, fotografuoti ir tikrinti orą.
Šį tinklaraštį jums galėjo rekomendavo mašininio mokymosi algoritmas. Visi girdėjome apie tai, kaip daug laiko reikia išmokyti šiuos modelius. Visi girdėjome, kad šių modelių mokymas užima daug laiko.
Tačiau daryti išvadas apie šiuos modelius dažnai yra brangu.
Mums reikalingos kompiuterinės sistemos, kurios būtų pakankamai greitos, kad galėtų valdyti greitį, kuriuo naudojame mašininio mokymosi paslaugas. Todėl dauguma šių modelių veikia didžiuliuose duomenų centruose su CPU ir GPU klasteriais (kai kuriais atvejais netgi TPU).
Kai fotografuoji, nori mašininis mokymasis akimirksniu jį patobulinti. Nenorite laukti, kol vaizdas bus perkeltas į duomenų centrą, apdorotas ir grąžintas jums. Tokiu atveju mašininio mokymosi modelis turėtų būti vykdomas vietoje.
Kai sakote „Hey Siri“ arba „OK, Google“, norite, kad jūsų programėlės nedelsiant reaguotų. Laukiama, kol jūsų balsas bus perduotas į kompiuterius, kur jis bus įvertintas ir gauti duomenys.
Tai užtrunka ir neigiamai veikia vartotojo patirtį. Tokiu atveju norite, kad mašininio mokymosi modelis veiktų ir vietoje. Čia atsiranda TinyML.
Šiame įraše apžvelgsime TinyML, kaip jis veikia, kaip jį naudoti, kaip pradėti su juo ir dar daugiau.
Kas yra TinyML?
TinyML yra pažangiausia disciplina, kuri pritaiko revoliucinį mašininio mokymosi potencialą mažų įrenginių ir įterptųjų sistemų našumo ir galios ribose.
Sėkmingas diegimas šioje pramonės šakoje reikalauja nuodugniai išmanyti programas, algoritmus, aparatinę ir programinę įrangą. Tai mašininio mokymosi porūšis, kuriame naudojami gilaus mokymosi ir mašininio mokymosi modeliai įterptosiose sistemose, kuriose naudojami mikrovaldikliai, skaitmeninių signalų procesoriai ar kiti itin mažos galios specializuoti procesoriai.
TinyML įgalinti įterptieji įrenginiai yra skirti paleisti mašininio mokymosi algoritmą konkrečiam darbui, paprastai kaip įrenginio dalis. kraštinių skaičiavimų.
Kad šios įterptosios sistemos veiktų savaites, mėnesius ar net metus be įkrovimo ar baterijos keitimo, energijos sąnaudos turi būti mažesnės nei 1 mW.
Kaip tai veikia?
Vienintelė mašininio mokymosi sistema, kurią galima naudoti su mikrovaldikliais ir kompiuteriais TensorFlow Lite. Tai įrankių rinkinys, leidžiantis kūrėjams paleisti modelius mobiliuosiuose, įterptuosiuose ir kraštutiniuose įrenginiuose, kad būtų galima mokytis mašinoje skrydžio metu.
Mikrovaldiklio sąsaja naudojama duomenims iš jutiklių (pvz., mikrofonų, kamerų ar įterptųjų jutiklių) rinkti.
Prieš siunčiant į mikrovaldiklį, duomenys įtraukiami į debesyje pagrįstą mašininio mokymosi modelį. Šiems modeliams mokyti paprastai naudojamas paketinis mokymas neprisijungus. Jutiklio duomenys, kurie bus naudojami mokymasis ir išvados jau nustatyta konkrečiai programai.
Pavyzdžiui, jei modelis mokomas aptikti pažadinimo žodį, jis jau nustatytas valdyti nepertraukiamą garso srautą iš mikrofono.
TensorFlow Lite atveju viskas jau padaryta naudojant debesies platformą, pvz., „Google Colab“, įskaitant duomenų rinkinio parinkimą, normalizavimą, modelio netinkamą arba per daug pritaikymą, reguliavimą, duomenų papildymą, mokymą, patvirtinimą ir testavimą.
Visiškai parengtas modelis galiausiai transformuojamas ir perkeliamas į mikrovaldiklį, mikrokompiuterį arba skaitmeninį signalų procesorių po paketinio mokymo neprisijungus. Modelis neturi papildomo mokymo po to, kai buvo perkeltas į įterptąjį įrenginį. Vietoj to modeliui pritaikyti naudojami tik realaus laiko duomenys iš jutiklių ar įvesties įrenginių.
Dėl to „TinyML“ mašininio mokymosi modelis turi būti ypač patvarus ir gali būti perkvalifikuotas po metų arba niekada nebus perkvalifikuotas. Turi būti ištirtas visas galimas modelio netinkamas ir per didelis pritaikymas, kad modelis išliktų aktualus ilgą laiką, idealiu atveju neribotą laiką.
Bet kodėl naudoti TinyML?
„TinyML“ prasidėjo kaip pastanga panaikinti arba sumažinti daiktų interneto priklausomybę nuo debesies paslaugų, skirtų pagrindinėms mažos apimties mašininis mokymasis operacijos. Dėl to reikėjo naudoti mašininio mokymosi modelius pačiuose kraštutiniuose įrenginiuose. Tai suteikia šiuos pagrindinius privalumus:
- Mažai energijos vartojimas: „TinyML“ programa turėtų sunaudoti mažiau nei 1 milivatą galios. Naudojant tokį mažą energijos suvartojimą, įrenginys gali ir toliau daryti išvadas iš jutiklių duomenų kelis mėnesius ar metus, net jei maitinamas naudojant monetų bateriją.
- mažesnę kainą: Jis skirtas veikti pigiuose 32 bitų mikrovaldikliuose arba DSP. Šie mikrovaldikliai paprastai kainuoja po kelis centus, o bendra su jais sukurtos įterptosios sistemos kaina yra mažesnė nei 50 USD. Tai labai ekonomiška galimybė paleisti mažas mašininio mokymosi programas dideliu mastu ir ypač naudingas daiktų interneto programose, kuriose turi būti taikomas mašininis mokymasis.
- Mažesnis delsimas: jo programos turi mažą delsą, nes joms nereikia transportuoti ar keistis duomenimis tinkle. Visi jutiklio duomenys įrašomi lokaliai, o išvados daromos naudojant jau apmokytą modelį. Išvadų rezultatai gali būti siunčiami į serverį arba debesį registravimui arba papildomam apdorojimui, nors tai nėra būtina, kad įrenginys veiktų. Tai sumažina tinklo delsą ir pašalina poreikį atlikti mašininio mokymosi operacijas debesyje arba serveryje.
- Privatumo politika: Tai kelia didelį susirūpinimą internetu ir daiktų internetu. Mašininio mokymosi darbas TinyML programėlėse atliekamas vietoje, nesaugont ir nesiunčiant jutiklio/vartotojo duomenų į serverį/debesį. Todėl net ir susietos su tinklu šios programos yra saugios naudoti ir nekelia pavojaus privatumui.
Programos
- Žemės ūkis – kada ūkininkai nufotografuoja augalą, TensorFlow Lite programa aptinka jame ligas. Jis veikia bet kuriame įrenginyje ir nereikalauja interneto ryšio. Tvarka saugo žemės ūkio interesus ir yra būtina kaimo ūkininkams.
- Mechanikos priežiūra – „TinyML“, kai naudojamas mažos galios įrenginiuose, gali nuolat nustatyti mašinos trūkumus. Tai apima numatymu pagrįstą priežiūrą. Australijos startuolis „Ping Services“ pristatė daiktų interneto įtaisą, kuris stebi vėjo turbinas, prisitvirtindamas prie turbinos išorės. Ji praneša valdžios institucijoms, kai nustato bet kokią galimą problemą ar gedimą.
- Ligoninės – „Solar Scare“ yra projektas. Mosquito naudoja TinyML, kad sustabdytų ligų, tokių kaip dengė ir maliarija, plitimą. Jis maitinamas saulės energija ir aptinka uodų veisimosi sąlygas prieš pranešdamas vandeniui, kad užkirstų kelią uodų veisimuisi.
- Eismo stebėjimas – pagal Taikydami TinyML jutikliams, kurie renka realiojo laiko eismo duomenis, galime juos naudoti norėdami geriau nukreipti eismą ir sutrumpinti greitosios pagalbos transporto priemonių reagavimo laiką. Pavyzdžiui, „Swim.AI“ naudoja šią technologiją duomenims perduoti, kad padidintų keleivių saugumą ir sumažintų spūstis bei išmetamųjų teršalų kiekį, naudodama išmanųjį maršrutą.
- Teisė: TinyML gali būti naudojamas teisėsaugoje, siekiant nustatyti neteisėtus veiksmus, tokius kaip riaušės ir vagystės, naudojant mašininį mokymąsi ir gestų atpažinimą. Panaši programa taip pat gali būti naudojama banko bankomatų apsaugai. Stebėdamas vartotojo elgesį, TinyML modelis gali numatyti, ar vartotojas yra tikras vartotojas, užbaigiantis operaciją, ar įsibrovėlis, bandantis įsilaužti arba sunaikinti bankomatą.
Kaip pradėti dirbti su TinyML?
Norėdami pradėti naudoti TinyML „TensorFlow Lite“, jums reikės suderinamos mikrovaldiklio plokštės. TensorFlow Lite for Microcontrollers palaiko toliau išvardytus mikrovaldiklius.
- „Wio“ terminalas: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI plėtros plokštė
- STM32F746 Atradimo rinkinys
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM programinės įrangos kūrimo platforma
- „Sony Spresense“
- „Arduino Nano 33 BLE Sense“
- SparkFun Edge
- Adafruit TensorFlow Lite mikrovaldiklių rinkinys
- „Adafruit Circuit“ žaidimų aikštelė „Bluefruit“.
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Tai 32 bitų mikrovaldikliai, turintys pakankamai „flash“ atminties, RAM ir laikrodžio dažnio, kad galėtų vykdyti mašininio mokymosi modelį. Plokštėse taip pat yra daug integruotų jutiklių, galinčių paleisti bet kurią įterptąją programą ir pritaikyti mašininio mokymosi modelius tikslinei programai. Į sukurti mašininio mokymosi modelį, jums reikės nešiojamojo ar kompiuterio, be aparatinės įrangos platformos.
Kiekviena aparatinės įrangos platforma turi savo programavimo įrankius, skirtus mašininio mokymosi modeliams kurti, mokyti ir perkelti, naudojant „TensorFlow Lite for Microcontrollers“ paketą. „TensorFlow Lite“ galima nemokamai naudoti ir modifikuoti, nes taip yra atviro kodo.
Norint pradėti dirbti su TinyML ir TensorFlow Lite, tereikia vienos iš aukščiau paminėtų įterptosios aparatinės įrangos platformų, kompiuterio/nešiojamojo kompiuterio, USB kabelio, keitiklio iš USB į seriją ir noro praktikuoti mašininį mokymąsi su įterptinėmis sistemomis. .
Iššūkiai
Nors TinyML pažanga davė daug teigiamų rezultatų, mašininio mokymosi pramonė vis dar susiduria su didelėmis kliūtimis.
- Programinės įrangos įvairovė – rankinis kodavimas, kodo generavimas ir ML interpretatoriai yra visos parinktys, skirtos modeliams diegti TinyML įrenginiuose, ir kiekvienai jų reikia skirtis laiko ir pastangų. Dėl to gali atsirasti įvairių pasirodymų.
- Aparatinės įrangos įvairovė – čia yra keletas techninės įrangos parinkčių. TinyML platformos gali būti bet kokios – nuo bendrosios paskirties mikrovaldiklių iki pažangiausių neuroninių procesorių. Dėl to kyla problemų dėl modelio diegimo įvairiose architektūrose.
- Trikčių šalinimas / derinimas – kada ML modelis blogai veikia debesyje, paprasta pažvelgti į duomenis ir išsiaiškinti, kas negerai. Kai modelis yra paskirstytas tūkstančiuose TinyML įrenginių, o duomenų srautas negrįžta į debesį, derinimas tampa sudėtingas ir gali prireikti kitokio metodo.
- Atminties apribojimai – tradicinis platformoms, tokioms kaip išmanieji telefonai ir nešiojamieji kompiuteriai, reikia gigabaitų RAM, o TinyML įrenginiai naudoja kilobaitus arba megabaitus. Dėl to modelio, kurį galima įdiegti, dydis yra ribotas.
- Modelių mokymas – Nors ML modelių diegimas TinyML įrenginiuose turi keletą privalumų, dauguma ML modelių vis dar yra mokomi debesyje kartoti ir nuolat gerinti modelio tikslumą.
Ateitis
„TinyML“, turėdamas mažą plotą, mažai suvartojančią bateriją ir nebuvimą arba ribotą priklausomybę nuo interneto, turi didžiulį potencialą ateityje, nes dauguma dirbtinis intelektas bus įdiegta kraštiniuose įrenginiuose arba nepriklausomose įterptosiose programėlėse.
Tai padarys daiktų interneto programas privačiesnes ir saugesnes jas panaudojus. nors TensorFlow Šiuo metu „Lite“ yra vienintelė mikrovaldiklių ir mikrokompiuterių mašininio mokymosi sistema, kuriamos kitos panašios sistemos, tokios kaip jutiklis ir ARM CMSIS-NN.
Nors TensorFlow Lite yra vykdomas atvirojo kodo projektas, kuris puikiai prasidėjo kartu su „Google“ komanda, jam vis tiek reikia bendruomenės palaikymo, kad jis įsilietų į pagrindinį srautą.
Išvada
TinyML yra naujas metodas, kuris sujungia įterptąsias sistemas su mašininiu mokymusi. Kadangi daugelyje vertikalų ir sričių siauras AI yra didžiausias, ši technologija gali tapti svarbiu mašininio mokymosi ir dirbtinio intelekto polaukiu.
Tai sprendžia daugybę iššūkių, su kuriais dabar susiduria IoT sektorius ir profesionalai, taikantys mašininį mokymąsi daugelyje konkrečių sričių.
Mašininio mokymosi panaudojimo koncepcija krašto įrenginiai su nedideliu skaičiavimu pėdsakas ir energijos suvartojimas gali žymiai pakeisti įterptųjų sistemų ir robotikos konstravimą.
Palikti atsakymą