Mašīnmācīšanās modeļi šobrīd ir visur. Dienas laikā jūs, iespējams, izmantojat šos modeļus daudz vairāk, nekā domājat. Mašīnmācīšanās modeļi tiek izmantoti tādos izplatītos uzdevumos kā sociālo mediju pārlūkošana, fotografēšana un laikapstākļu pārbaude.
Iespējams, šo emuāru jums ir ieteicis mašīnmācības algoritms. Mēs visi esam dzirdējuši par to, cik laikietilpīga ir šo modeļu apmācība. Mēs visi esam dzirdējuši, ka šo modeļu apmācība ir laikietilpīga.
Tomēr secinājumu izdarīšana par šiem modeļiem bieži vien ir dārga.
Mums ir vajadzīgas datorsistēmas, kas ir pietiekami ātras, lai tiktu galā ar ātrumu, kādā mēs izmantojam mašīnmācīšanās pakalpojumus. Tā rezultātā lielākā daļa šo modeļu tiek darbināti masīvos datu centros ar CPU un GPU klasteriem (dažos gadījumos pat TPU).
Kad jūs fotografējat, jūs vēlaties mašīna mācīšanās lai to uzreiz uzlabotu. Jūs nevēlaties gaidīt, līdz attēls tiks pārsūtīts uz datu centru, apstrādāts un atgriezts jums. Šajā gadījumā mašīnmācīšanās modelis ir jāizpilda lokāli.
Kad sakāt “Hey Siri” vai “OK, Google”, jūs vēlaties, lai jūsu sīkrīki reaģētu nekavējoties. Gaida, kad jūsu balss tiks pārraidīta uz datoriem, kur tā tiks novērtēta un iegūti dati.
Tas prasa laiku un negatīvi ietekmē lietotāja pieredzi. Šajā gadījumā vēlaties, lai mašīnmācīšanās modelis darbotos arī lokāli. Šeit parādās TinyML.
Šajā ziņojumā mēs apskatīsim TinyML, tā darbību, lietojumus, darba sākšanu un daudz ko citu.
Kas ir TinyML?
TinyML ir progresīva disciplīna, kas izmanto mašīnmācības revolucionāro potenciālu mazu ierīču un iegulto sistēmu veiktspējas un jaudas ierobežojumiem.
Veiksmīgai ieviešanai šajā nozarē ir nepieciešama rūpīga lietojumprogrammu, algoritmu, aparatūras un programmatūras izpratne. Tas ir mašīnmācīšanās apakšžanrs, kurā tiek izmantoti dziļās mācīšanās un mašīnmācīšanās modeļi iegultās sistēmās, kurās tiek izmantoti mikrokontrolleri, digitālo signālu procesori vai citi īpaši mazjaudas specializēti procesori.
TinyML iespējotās iegultās ierīces ir paredzētas, lai palaistu mašīnmācīšanās algoritmu konkrētam darbam, parasti kā daļa no ierīces malu skaitļošana.
Lai darbotos nedēļas, mēnešus vai pat gadus bez uzlādēšanas vai akumulatora nomaiņas, šīm iegultajām sistēmām ir jābūt mazākam par 1 mW enerģijas patēriņam.
Kā tas darbojas?
Vienīgā mašīnmācīšanās sistēma, ko var izmantot ar mikrokontrolleriem un datoriem, ir TensorFlow Lite. Tas ir rīku komplekts, kas ļauj izstrādātājiem palaist savus modeļus mobilajās, iegultās un malas ierīcēs, ļaujot mašīnmācībām lidojuma laikā.
Mikrokontrollera interfeiss tiek izmantots, lai savāktu datus no sensoriem (piemēram, mikrofoniem, kamerām vai iegultiem sensoriem).
Pirms datu nosūtīšanas uz mikrokontrolleru tie tiek iekļauti mākoņdatošanas mašīnmācīšanās modelī. Šo modeļu apmācīšanai parasti izmanto pakešu apmācību bezsaistes režīmā. Sensora dati, kas tiks izmantoti mācīšanās un secinājumi jau ir noteikts konkrētajam pieteikumam.
Piemēram, ja modelis tiek apmācīts noteikt modināšanas vārdu, tas jau ir iestatīts, lai apstrādātu nepārtrauktu audio straumi no mikrofona.
TensorFlow Lite gadījumā viss jau tiek darīts ar mākoņa platformas, piemēram, Google Colab, palīdzību, tostarp datu kopas atlase, normalizācija, modeļa nepietiekama vai pārmērīga pielāgošana, regulēšana, datu papildināšana, apmācība, validācija un testēšana.
Pēc bezsaistes pakešu apmācības pilnībā apmācīts modelis galu galā tiek pārveidots un pārsūtīts uz mikrokontrolleri, mikrodatoru vai digitālo signālu procesoru. Modelim nav papildu apmācības pēc pārvietošanas uz iegulto ierīci. Tā vietā modeļa piemērošanai tiek izmantoti tikai reāllaika dati no sensoriem vai ievades ierīcēm.
Rezultātā TinyML mašīnmācīšanās modelim ir jābūt īpaši izturīgam un jāspēj pārkvalificēt pēc gadiem vai arī to nekad nepārmācīt. Ir jāizpēta visas iespējamās modeļa nepilnības un pārmērības, lai modelis paliktu aktuāls ilgāku laiku, ideālā gadījumā bezgalīgi.
Bet kāpēc izmantot TinyML?
TinyML sākās kā mēģinājums likvidēt vai samazināt IoT atkarību no mākoņpakalpojumiem maza mēroga pamata vajadzībām. mašīna mācīšanās operācijas. Tas radīja nepieciešamību izmantot mašīnmācīšanās modeļus pašās malas ierīcēs. Tas nodrošina šādas galvenās priekšrocības:
- Zema jauda patēriņš: TinyML lietojumprogrammai vēlams izmantot mazāk nekā 1 milivatu jaudas. Ar tik zemu enerģijas patēriņu ierīce var turpināt izdarīt secinājumus no sensoru datiem vairākus mēnešus vai gadus, pat ja to darbina monētu akumulators.
- zemākas izmaksas: Tas ir paredzēts darbam ar zemu izmaksu 32 bitu mikrokontrolleriem vai DSP. Šie mikrokontrolleri parasti maksā dažus centus, un kopējā ar tiem izstrādātā iegultā sistēma ir mazāka par 50 USD. Šī ir ļoti rentabla iespēja mazu mašīnmācīšanās programmu palaišanai lielā mērogā, un tā ir īpaši izdevīga IoT lietojumprogrammās, kur jāpiemēro mašīnmācīšanās.
- Zemāks latentums: tās lietojumprogrammām ir mazs latentums, jo tām nav nepieciešams pārsūtīt vai apmainīties ar datiem tīklā. Visi sensoru dati tiek ierakstīti lokāli, un secinājumi tiek izdarīti, izmantojot modeli, kas jau ir apmācīts. Secinājumu rezultātus var nosūtīt uz serveri vai mākoni reģistrēšanai vai papildu apstrādei, lai gan tas nav būtiski, lai ierīce darbotos. Tas samazina tīkla latentumu un novērš nepieciešamību pēc mašīnmācīšanās darbībām mākonī vai serverī.
- Privātums: Tas rada lielas bažas par internetu un lietu internetu. Mašīnmācīšanās darbs TinyML lietotnēs tiek veikts lokāli, neuzglabājot vai nenosūtot sensora/lietotāja datus serverim/mākonim. Rezultātā šīs lietojumprogrammas ir droši lietojamas, pat ja tās ir saistītas ar tīklu, un tās nerada privātuma risku.
Aplikācijas
- Lauksaimniecība – kad zemnieki nofotografē augu, TensorFlow Lite aplikācija konstatē tajā saslimšanas. Tas darbojas jebkurā ierīcē, un tam nav nepieciešams interneta savienojums. Procedūra aizsargā lauksaimniecības intereses un ir ārkārtīgi nepieciešama lauku lauksaimniekiem.
- Mehānikas apkope - TinyML, ja to lieto mazjaudas ierīcēs, var nepārtraukti identificēt iekārtas trūkumus. Tas ietver uz prognozēm balstītu apkopi. Austrālijas jaunuzņēmums Ping Services ir ieviesis IoT sīkrīku, kas uzrauga vēja turbīnas, piestiprinoties pie turbīnas ārpuses. Tas paziņo iestādēm ikreiz, kad konstatē iespējamu problēmu vai darbības traucējumu.
- Slimnīcas - Solar Scare ir projekts. Moskīti izmanto TinyML, lai apturētu tādu slimību kā tropu drudzis un malārija izplatību. To darbina saules enerģija, un tas nosaka odu vairošanās apstākļus, pirms dod signālu ūdenim, lai kavētu moskītu vairošanos.
- Satiksmes novērošana – pēc Lietojot TinyML sensoriem, kas apkopo reāllaika satiksmes datus, mēs varam tos izmantot, lai labāk virzītu satiksmi un samazinātu reaģēšanas laiku avārijas transportlīdzekļiem. Piemēram, Swim.AI izmanto šo tehnoloģiju datu straumēšanai, lai palielinātu pasažieru drošību, vienlaikus samazinot sastrēgumus un emisijas, izmantojot viedo maršrutu.
- likums: TinyML var izmantot tiesībaizsardzībā, lai identificētu nelikumīgas darbības, piemēram, nekārtības un zādzību, izmantojot mašīnmācīšanos un žestu atpazīšanu. Līdzīgu programmu var izmantot arī banku bankomātu aizsardzībai. Vērojot lietotāja uzvedību, TinyML modelis var paredzēt, vai lietotājs ir īsts patērētājs, kas pabeidz darījumu, vai iebrucējs, kurš mēģina uzlauzt vai iznīcināt bankomātu.
Kā sākt darbu ar TinyML?
Lai sāktu darbu ar TinyML programmā TensorFlow Lite, jums būs nepieciešama saderīga mikrokontrollera plate. TensorFlow Lite mikrokontrolleriem atbalsta tālāk norādītos mikrokontrollerus.
- Wio terminālis: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI izstrādes padome
- STM32F746 Discovery komplekts
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM programmatūras izstrādes platforma
- Sony Spesense
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Adafruit TensorFlow Lite mikrokontrolleru komplekts
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Tie ir 32 bitu mikrokontrolleri, kuriem ir pietiekami daudz zibatmiņas, RAM un pulksteņa frekvences, lai izpildītu mašīnmācīšanās modeli. Plātnēm ir arī vairāki iebūvēti sensori, kas spēj palaist jebkuru iegulto programmu un piemērot mašīnmācīšanās modeļus mērķa lietojumprogrammai. Uz izveidot mašīnmācīšanās modeli, papildus aparatūras platformai būs nepieciešams klēpjdators vai dators.
Katrai aparatūras platformai ir savi programmēšanas rīki mašīnmācīšanās modeļu veidošanai, apmācībai un pārnešanai, kuros tiek izmantota TensorFlow Lite for Microcontrollers pakotne. TensorFlow Lite var brīvi izmantot un modificēt, jo tā ir atvērtā koda.
Lai sāktu darbu ar TinyML un TensorFlow Lite, viss, kas jums nepieciešams, ir viena no iepriekš minētajām iegultās aparatūras platformām, dators/klēpjdators, USB kabelis, USB uz seriālo pārveidotāju un vēlme praktizēt mašīnmācīšanos ar iegultajām sistēmām. .
Izaicinājumi
Pat ja TinyML progress ir devis daudz pozitīvu rezultātu, mašīnmācīšanās nozare joprojām saskaras ar ievērojamiem šķēršļiem.
- Programmatūras daudzveidība – roku kodēšana, koda ģenerēšana un ML tulki ir visas iespējas modeļu izvietošanai TinyML ierīcēs, un katrs no tiem prasa atšķirīgu laiku un pūles. Tā rezultātā var rasties dažādi priekšnesumi.
- Aparatūras daudzveidība – tur ir pieejamas vairākas aparatūras iespējas. TinyML platformas var būt jebkas, sākot no vispārējas nozīmes mikrokontrolleriem līdz moderniem neironu procesoriem. Tas rada problēmas ar modeļu izvietošanu dažādās arhitektūrās.
- Problēmu novēršana/atkļūdošana — kad ML modelis slikti darbojas mākonī, ir vienkārši aplūkot datus un noskaidrot, kas notiek nepareizi. Ja modelis ir izplatīts tūkstošiem TinyML ierīču un neviena datu straume neatgriežas mākonī, atkļūdošana kļūst sarežģīta un var būt nepieciešama cita metode.
- Atmiņas ierobežojumi – tradicionālie platformām, piemēram, viedtālruņiem un klēpjdatoriem, ir nepieciešami gigabaiti RAM, savukārt TinyML ierīces izmanto kilobaitus vai megabaitus. Tā rezultātā modeļa izmērs, ko var izvietot, ir ierobežots.
- Modeļu apmācība – Kaut gan ML modeļu izvietošanai TinyML ierīcēs ir vairākas priekšrocības, lielākā daļa ML modeļu joprojām tiek apmācīti mākonī, lai tos varētu atkārtot un nepārtraukti uzlabot modeļa precizitāti.
Nākotne
TinyML ar savu nelielo nospiedumu, zemu akumulatora patēriņu un interneta savienojamības trūkumu vai ierobežotu paļaušanos uz to ir milzīgs potenciāls nākotnē, jo lielākajai daļai šauru mākslīgais intelekts tiks ieviestas malas ierīcēs vai neatkarīgos iegultos sīkrīkos.
Tas padarīs IoT lietojumprogrammas privātākas un drošākas, izmantojot tās. Lai gan TensorFlow Lite pašlaik ir vienīgais mašīnmācīšanās ietvars mikrokontrolleriem un mikrodatoriem, un tiek izstrādātas citas salīdzināmas sistēmas, piemēram, sensors un ARM CMSIS-NN.
Lai gan TensorFlow Lite ir atvērtā pirmkoda projekts, kas tiek uzsākts, un tas ir lieliski iesācies ar Google komandu, tam joprojām ir nepieciešams kopienas atbalsts, lai tas kļūtu par galveno.
Secinājumi
TinyML ir jauna pieeja, kas apvieno iegultās sistēmas ar mašīnmācību. Tā kā šaurais AI sasniedz maksimumu daudzās vertikālēs un jomās, tehnoloģija var kļūt par ievērojamu mašīnmācības un mākslīgā intelekta apakšnozari.
Tas nodrošina risinājumu daudzām problēmām, ar kurām tagad saskaras IoT sektors un profesionāļi, kas izmanto mašīnmācīšanos daudzās jomām specifiskās disciplīnās.
Mašīnmācības izmantošanas koncepcija plkst malas ierīces ar nelielu skaitļošanu pēdas nospiedumam un enerģijas patēriņam ir potenciāls būtiski pārveidot iegulto sistēmu un robotikas uzbūvi.
Atstāj atbildi