Sisällysluettelo[Piilottaa][Näytä]
Koneoppimismalleja on nyt kaikkialla. Päivän aikana käytät näitä malleja todennäköisesti paljon enemmän kuin uskotkaan. Koneoppimismalleja hyödynnetään yleisissä tehtävissä, kuten sosiaalisen median selaamisessa, valokuvaamisessa ja sään tarkkailussa.
Koneoppimisalgoritmi on saattanut suositella tätä blogia sinulle. Olemme kaikki kuulleet kuinka aikaa vievää näiden mallien kouluttaminen on. Olemme kaikki kuulleet, että näiden mallien kouluttaminen on aikaa vievää.
Näistä malleista päättäminen on kuitenkin usein laskennallisesti kallista.
Tarvitsemme tietokonejärjestelmiä, jotka ovat riittävän nopeita kestämään koneoppimispalveluiden käyttöä. Tämän seurauksena suurinta osaa näistä malleista ajetaan massiivisissa datakeskuksissa, joissa on CPU- ja GPU-klustereita (joissain tapauksissa jopa TPU:ita).
Kun otat kuvan, haluat koneoppiminen parantaaksesi sitä välittömästi. Sinun ei tarvitse odottaa, että kuva siirretään datakeskukseen, käsitellään ja palautetaan sinulle. Tässä tapauksessa koneoppimismalli tulee suorittaa paikallisesti.
Kun sanot "Hei Siri" tai "OK, Google", haluat gadgetisi vastaavan välittömästi. Odottaa, että äänesi välitetään tietokoneille, missä se arvioidaan ja tiedot saadaan.
Tämä vie aikaa ja vaikuttaa haitallisesti käyttökokemukseen. Tässä tapauksessa haluat koneoppimismallin toimivan myös paikallisesti. Tässä TinyML tulee mukaan.
Tässä viestissä tarkastelemme TinyML:ää, sen toimintaa, sen käyttöä, sen käytön aloittamista ja paljon muuta.
Mikä on TinyML?
TinyML on huippuluokan tieteenala, joka soveltaa koneoppimisen vallankumouksellista potentiaalia pienten laitteiden ja sulautettujen järjestelmien suorituskyky- ja tehorajoituksiin.
Onnistunut käyttöönotto tällä alalla edellyttää sovellusten, algoritmien, laitteistojen ja ohjelmistojen perusteellista tuntemusta. Se on koneoppimisen alalaji, joka käyttää syväoppimis- ja koneoppimismalleja sulautetuissa järjestelmissä, joissa käytetään mikro-ohjaimia, digitaalisia signaaliprosessoreita tai muita erittäin vähän virtaa kuluttavia erikoisprosessoreita.
TinyML-yhteensopivat sulautetut laitteet on tarkoitettu suorittamaan koneoppimisalgoritmia tietylle työlle, tyypillisesti osana laitteen reunan tietojenkäsittely.
Jotta nämä sulautetut järjestelmät voisivat toimia viikkoja, kuukausia tai jopa vuosia ilman latausta tai akun vaihtoa, niiden virrankulutuksen on oltava alle 1 mW.
Miten tämä toimii?
Ainoa koneoppimiskehys, jota voidaan hyödyntää mikro-ohjainten ja tietokoneiden kanssa, on TensorFlow Lite. Se on joukko työkaluja, joiden avulla kehittäjät voivat käyttää mallejaan mobiililaitteissa, sulautetuissa laitteissa ja reunalaitteissa, mikä mahdollistaa koneoppimisen lennossa.
Mikro-ohjaimen käyttöliittymää käytetään tietojen keräämiseen antureista (kuten mikrofoneista, kameroista tai upotetuista antureista).
Ennen kuin tiedot lähetetään mikrokontrolleriin, ne sisällytetään pilvipohjaiseen koneoppimismalliin. Näiden mallien kouluttamiseen käytetään yleisesti eräopetusta offline-tilassa. Anturin tiedot, joita käytetään oppimista ja päätelmiä on jo määritetty kyseiselle sovellukselle.
Jos mallia opetetaan havaitsemaan esimerkiksi herätyssana, se on jo määritetty käsittelemään jatkuvaa äänivirtaa mikrofonista.
TensorFlow Liten tapauksessa kaikki on jo tehty pilvialustan, kuten Google Colabin, avulla, mukaan lukien tietojoukon valinta, normalisointi, mallin ali- tai ylisovitus, regularisointi, tietojen lisäys, koulutus, validointi ja testaus.
Täysin koulutettu malli lopulta muunnetaan ja siirretään mikro-ohjaimeen, mikrotietokoneeseen tai digitaaliseen signaaliprosessoriin offline-sarjaopetuksen jälkeen. Mallilla ei ole lisäkoulutusta sen jälkeen, kun se on siirretty sulautettuun laitteeseen. Sen sijaan se käyttää mallin soveltamiseen vain reaaliaikaista dataa antureista tai syöttölaitteista.
Tämän seurauksena TinyML-koneoppimismallin on oltava poikkeuksellisen kestävä ja sitä on voitava kouluttaa uudelleen vuosien jälkeen tai sitä ei koskaan kouluteta uudelleen. Kaikki mahdolliset mallin ali- ja ylisovitukset on tutkittava, jotta malli pysyy relevanttina pitkän ajan, mieluiten loputtomiin.
Mutta miksi käyttää TinyML:ää?
TinyML aloitti pyrkimyksenä eliminoida tai vähentää IoT:n riippuvuutta pilvipalveluista pienimuotoisissa peruspalveluissa. koneoppiminen toiminnot. Tämä edellytti koneoppimismallien käyttöä itse reunalaitteissa. Se tarjoaa seuraavat tärkeät edut:
- Virta vähissä kulutus: TinyML-sovelluksen tulisi mieluiten käyttää alle 1 milliwattia tehoa. Näin pienellä virrankulutuksella laite voi jatkaa johtopäätösten tekemistä anturitiedoista kuukausia tai vuosia, vaikka se toimisi kolikkoparistolla.
- Alempi kustannus: Se on suunniteltu toimimaan edullisilla 32-bittisillä mikro-ohjaimilla tai DSP:illä. Nämä mikro-ohjaimet maksavat tyypillisesti muutaman sentin kukin, ja niiden kanssa kehitetty sulautettu järjestelmä on alle 50 dollaria. Tämä on erittäin kustannustehokas vaihtoehto pienten koneoppimisohjelmien ajamiseen suuressa mittakaavassa, ja se on erityisen hyödyllinen IoT-sovelluksissa, joissa koneoppimista on sovellettava.
- Pienempi latenssi: Sen sovelluksilla on pieni latenssi, koska niiden ei tarvitse siirtää tai vaihtaa tietoja verkon yli. Kaikki anturitiedot tallennetaan paikallisesti ja johtopäätökset tehdään jo koulutetulla mallilla. Päätelmien tulokset voidaan lähettää palvelimelle tai pilveen kirjaamista tai lisäkäsittelyä varten, vaikka tämä ei ole välttämätöntä laitteen toiminnan kannalta. Tämä minimoi verkon latenssin ja eliminoi koneoppimistoimintojen tarpeen suorittaa pilvessä tai palvelimessa.
- yksityisyys: Se on suuri huolenaihe Internetissä ja esineiden internetissä. Koneoppimistyö TinyML-sovelluksissa suoritetaan paikallisesti, tallentamatta tai lähettämättä anturi-/käyttäjätietoja palvelimelle/pilveen. Tämän seurauksena nämä sovellukset ovat turvallisia käyttää, eivätkä ne aiheuta tietosuojariskejä, vaikka ne olisi yhdistetty verkkoon.
Sovellukset
- Maatalous – Milloin viljelijät ottavat valokuvan kasvista, TensorFlow Liten sovellus havaitsee siitä sairaudet. Se toimii kaikilla laitteilla eikä vaadi Internet-yhteyttä. Menettely suojelee maatalouden etuja ja on maaseudun viljelijöille kriittinen välttämättömyys.
- Mekaniikka Huolto – TinyML, kun sitä käytetään pienitehoisissa laitteissa, voi jatkuvasti tunnistaa koneen vikoja. Se sisältää ennusteisiin perustuvan ylläpidon. Australialainen start-up Ping Services on tuonut markkinoille IoT-gadgetin, joka valvoo tuuliturbiinia kiinnittämällä itsensä turbiinin ulkopuolelle. Se ilmoittaa viranomaisille aina, kun se havaitsee mahdollisen ongelman tai toimintahäiriön.
- Sairaalat - Solar Scare on projekti. Mosquito käyttää TinyML:ää pysäyttämään sairauksien, kuten denguekuumeen ja malarian, leviämisen. Se saa voimansa aurinkoenergialla ja havaitsee hyttysten lisääntymisolosuhteet ennen kuin se ilmoittaa vedestä hyttysten lisääntymisen estämiseksi.
- Liikenteenvalvonta – Tekijä soveltamalla TinyML:ää reaaliaikaista liikennetietoa kerääviin sensoreihin voimme käyttää niitä ohjaamaan paremmin liikennettä ja lyhentämään hätäajoneuvojen vasteaikoja. Esimerkiksi Swim.AI käyttää tätä tekniikkaa tietojen suoratoistoon lisätäkseen matkustajien turvallisuutta ja samalla vähentääkseen ruuhkia ja päästöjä älykkään reitityksen avulla.
- Laki: TinyML:ää voidaan käyttää lainvalvonnassa laittomien toimien, kuten mellakan ja varkauden, tunnistamiseen koneoppimisen ja eleiden tunnistuksen avulla. Vastaavaa ohjelmaa voidaan käyttää myös pankkiautomaattien turvaamiseen. Tarkkailemalla käyttäjän käyttäytymistä TinyML-malli voi ennustaa, onko käyttäjä todellinen kuluttaja, joka suorittaa tapahtuman, vai tunkeilija, joka yrittää hakkeroida tai tuhota pankkiautomaatin.
Kuinka aloittaa TinyML?
Jotta voit aloittaa TinyML:n käytön TensorFlow Lite -sovelluksessa, tarvitset yhteensopivan mikro-ohjainkortin. TensorFlow Lite for Microcontrollers tukee alla lueteltuja mikrokontrollereita.
- Wio-pääte: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- STM32F746 Discovery kit
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM -ohjelmistokehitysalusta
- Sony Spesense
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Adafruit TensorFlow Lite mikro-ohjainsarja
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Nämä ovat 32-bittisiä mikrokontrollereita, joissa on tarpeeksi flash-muistia, RAM-muistia ja kellotaajuutta koneoppimismallin suorittamiseen. Levyissä on myös useita sisäisiä antureita, jotka pystyvät suorittamaan mitä tahansa sulautettua ohjelmaa ja soveltamaan koneoppimismalleja kohdesovellukseen. Vastaanottaja rakentaa koneoppimismalli, tarvitset kannettavan tai tietokoneen laitteistoalustan lisäksi.
Jokaisella laitteistoalustalla on omat ohjelmointityökalunsa koneoppimismallien rakentamiseen, koulutukseen ja siirtämiseen, ja niissä käytetään TensorFlow Lite for Microcontrollers -pakettia. TensorFlow Lite on ilmainen käyttää ja muokata, koska se on avoimen lähdekoodin.
TinyML:n ja TensorFlow Liten käytön aloittamiseen tarvitset vain yhden yllä mainituista sulautetuista laitteistoalustoista, tietokoneen/kannettavan, USB-kaapelin, USB-sarjamuuntimen – ja halun harjoitella koneoppimista sulautettujen järjestelmien kanssa. .
Haasteet
Vaikka TinyML:n edistyminen on tuottanut monia myönteisiä tuloksia, koneoppimisteollisuudessa on edelleen huomattavia esteitä.
- Ohjelmistojen monimuotoisuus – Käsin koodaus, koodin luominen ja ML-tulkit ovat kaikki vaihtoehtoja mallien käyttöönottamiseksi TinyML-laitteissa, ja jokainen vie eri verran aikaa ja vaivaa. Tämän seurauksena voi syntyä erilaisia esityksiä.
- Laitteiston monimuotoisuus – siellä käytettävissä on useita laitteistovaihtoehtoja. TinyML-alustat voivat olla mitä tahansa yleiskäyttöisistä mikro-ohjaimista huippuluokan hermoprosessoreihin. Tämä aiheuttaa ongelmia mallin käyttöönotossa eri arkkitehtuureissa.
- Vianetsintä/virheenkorjaus – Milloin ML-malli toimii huonosti pilvessä, on helppo tarkastella tietoja ja selvittää, mikä on vialla. Kun malli on hajallaan tuhansien TinyML-laitteiden kesken ilman, että tietovirtaa palaa pilveen, virheenkorjaus vaikeutuu ja saattaa vaatia toisenlaisen menetelmän.
- Muistirajoitukset – perinteinen alustat, kuten älypuhelimet ja kannettavat tietokoneet, tarvitsevat gigatavua RAM-muistia, kun taas TinyML-laitteet käyttävät kilotavuja tai megatavuja. Tämän seurauksena käyttöön otettavan mallin koko on rajoitettu.
- Mallikoulutus – vaikka ML-mallien käyttöönotossa TinyML-laitteissa on useita etuja. Suurin osa ML-malleista koulutetaan edelleen pilvessä toistamaan ja jatkuvasti parantamaan mallin tarkkuutta.
Tulevaisuus
Pienen jalanjäljensä, alhaisen akunkulutuksensa ja Internet-yhteyden puutteen tai rajallisen riippuvuuden vuoksi TinyML:llä on valtava potentiaali tulevaisuudessa, koska suurin osa kapeasta tekoäly toteutetaan reunalaitteissa tai itsenäisissä sulautetuissa gadgeteissa.
Se tekee IoT-sovelluksista yksityisempiä ja turvallisempia hyödyntämällä niitä. Vaikka TensorFlow Lite on tällä hetkellä ainoa koneoppimiskehys mikro-ohjaimille ja mikrotietokoneille, muut vastaavat puitteet, kuten anturi ja ARM:n CMSIS-NN, ovat työn alla.
Vaikka TensorFlow Lite on käynnissä oleva avoimen lähdekoodin projekti, joka sai loistavan alun Googlen tiimin kanssa, se tarvitsee edelleen yhteisön tukea päästäkseen valtavirtaan.
Yhteenveto
TinyML on uusi lähestymistapa, joka yhdistää sulautetut järjestelmät koneoppimiseen. Koska kapea tekoäly on huipussaan monilla toimialoilla ja aloilla, teknologia voi nousta näkyväksi osa-alueeksi koneoppimisessa ja tekoälyssä.
Se tarjoaa ratkaisun lukuisiin haasteisiin, joita IoT-sektori ja koneoppimista monilla toimialakohtaisilla aloilla soveltavat ammattilaiset kohtaavat nyt.
Koneoppimisen hyödyntämisen käsite klo reunalaitteita pienellä tietokoneella Jalanjälki ja virrankulutus voivat muuttaa merkittävästi sulautettujen järjestelmien ja robotiikan rakentamista.
Jätä vastaus