A gépi tanulási modellek jelenleg mindenhol jelen vannak. Napközben valószínűleg sokkal többet használod ezeket a modelleket, mint gondolnád. A gépi tanulási modelleket olyan gyakori feladatokban használják, mint a közösségi média böngészése, fotózás és az időjárás ellenőrzése.
Lehet, hogy egy gépi tanulási algoritmus ajánlotta Önnek ezt a blogot. Mindannyian hallottunk arról, hogy milyen időigényes ezeknek a modelleknek a betanítása. Mindannyian hallottuk, hogy ezeknek a modelleknek a betanítása időigényes.
Azonban ezekre a modellekre vonatkozó következtetések levonása gyakran számításigényes.
Olyan számítógépes rendszerekre van szükségünk, amelyek elég gyorsak ahhoz, hogy kezelni tudják a gépi tanulási szolgáltatások igénybevételének sebességét. Ennek eredményeként a modellek többsége hatalmas adatközpontokon fut CPU- és GPU-fürtökkel (bizonyos esetekben még TPU-kkal is).
Ha képet készítesz, azt akarod gépi tanulás hogy azonnal javítsa. Nem akarja megvárni, amíg a kép átkerül egy adatközpontba, feldolgozzák és visszaküldik Önnek. Ebben az esetben a gépi tanulási modellt helyben kell végrehajtani.
Ha azt mondja, hogy „Hey Siri” vagy „OK, Google”, azt szeretné, hogy a modulok azonnal válaszoljanak. Várja, hogy hangja elküldésre kerüljön a számítógépekre, ahol azt kiértékelik és adatokat nyernek.
Ez időt vesz igénybe, és káros hatással van a felhasználói élményre. Ebben az esetben azt szeretné, hogy a gépi tanulási modell helyileg is működjön. Itt jön be a TinyML.
Ebben a bejegyzésben megvizsgáljuk a TinyML-t, hogyan működik, hogyan használható, hogyan kezdjük el használni, és még sok mást.
Mi TinyML?
A TinyML egy élvonalbeli tudományág, amely a gépi tanulásban rejlő forradalmi lehetőségeket alkalmazza a kisméretű eszközök és beágyazott rendszerek teljesítmény- és teljesítménykorlátaira.
A sikeres bevezetés ebben az iparágban megköveteli az alkalmazások, algoritmusok, hardverek és szoftverek alapos megértését. Ez egy gépi tanulási alműfaj, amely mély tanulási és gépi tanulási modelleket használ olyan beágyazott rendszerekben, amelyek mikrokontrollereket, digitális jelfeldolgozó processzorokat vagy más rendkívül alacsony fogyasztású speciális processzorokat alkalmaznak.
A TinyML-kompatibilis beágyazott eszközök gépi tanulási algoritmus futtatására szolgálnak egy adott feladathoz, általában az eszköz részeként. szélsőséges számítástechnika.
Ahhoz, hogy hetekig, hónapokig vagy akár évekig üzemelhessenek újratöltés vagy akkumulátorcsere nélkül, ezeknek a beágyazott rendszereknek 1 mW-nál kisebb energiafogyasztással kell rendelkezniük.
Hogyan működik?
Az egyetlen gépi tanulási keretrendszer, amely mikrokontrollerekkel és számítógépekkel használható TensorFlow Lite. Ez egy olyan eszközkészlet, amely lehetővé teszi a fejlesztők számára, hogy modelljeiket mobil, beágyazott és élvonalbeli eszközökön futtassák, lehetővé téve a gépi tanulást menet közben.
A mikrokontroller interfészét az érzékelőktől (például mikrofonoktól, kameráktól vagy beágyazott érzékelőktől) származó adatok gyűjtésére használják.
Mielőtt elküldené őket a mikrokontrollernek, az adatokat egy felhő alapú gépi tanulási modellbe építik be. Ezeknek a modelleknek a betanításához általában kötegelt oktatást alkalmaznak offline módban. Az érzékelő adatok, amelyekhez felhasználni fogják tanulás és következtetés már meghatározták az adott alkalmazáshoz.
Ha a modellt például egy ébresztőszó észlelésére tanítják, akkor már be van állítva a mikrofonból érkező folyamatos hangfolyam kezelésére.
A TensorFlow Lite esetében már minden megtörtént egy felhőplatform, például a Google Colab segítségével, beleértve az adatkészlet-kiválasztást, a normalizálást, a modell alul- vagy túlillesztését, a rendszeresítést, az adatbővítést, a képzést, az érvényesítést és a tesztelést.
Az offline kötegelt betanítást követően a teljesen betanított modellt végül átalakítják és átviszik a mikrokontrollerbe, mikroszámítógépbe vagy digitális jelfeldolgozóba. A modellnek nincs további képzése, miután egy beágyazott eszközre került. Ehelyett kizárólag az érzékelőktől vagy beviteli eszközöktől származó valós idejű adatokat használja a modell alkalmazásához.
Ennek eredményeként a TinyML gépi tanulási modellnek rendkívül tartósnak kell lennie, és alkalmasnak kell lennie arra, hogy évek múltán vagy soha többé ne képezze újra. Minden lehetséges modell alul- és túlillesztést meg kell vizsgálni, hogy a modell hosszabb ideig, ideális esetben határozatlan ideig releváns maradjon.
De miért használjuk a TinyML-t?
A TinyML azzal a céllal kezdődött, hogy megszüntesse vagy csökkentse az IoT felhőszolgáltatásoktól való függőségét az alapvető kisléptékű szolgáltatásokhoz. gépi tanulás tevékenységek. Ez szükségessé tette a gépi tanulási modellek használatát magukon a peremeszközökön. A következő fő előnyöket nyújtja:
- Alacsony fogyasztású fogyasztás: Egy TinyML alkalmazásnak lehetőleg kevesebb, mint 1 milliWatt teljesítményt kell használnia. Ilyen alacsony fogyasztás mellett a készülék hónapokig vagy évekig folytathat következtetéseket az érzékelőadatokból, még akkor is, ha érmeelemről működik.
- Alacsonyabb költség: Alacsony költségű 32 bites mikrokontrollereken vagy DSP-ken való futtatásra tervezték. Ezek a mikrokontrollerek általában egyenként néhány centbe kerülnek, és a velük fejlesztett teljes beágyazott rendszer kevesebb, mint 50 dollár. Ez egy nagyon költséghatékony lehetőség kis gépi tanulási programok nagy léptékű futtatásához, és különösen előnyös az IoT-alkalmazásokban, ahol gépi tanulást kell alkalmazni.
- Alacsonyabb késleltetés: Alkalmazásai alacsony késleltetésűek, mivel nincs szükségük adatátvitelre vagy adatcserére a hálózaton keresztül. Az érzékelők összes adatát helyben rögzítik, és a következtetéseket egy már betanított modell segítségével vonják le. A következtetések eredményei elküldhetők egy szerverre vagy felhőre naplózás vagy további feldolgozás céljából, bár ez nem elengedhetetlen az eszköz működéséhez. Ez minimálisra csökkenti a hálózati késleltetést, és szükségtelenné teszi a gépi tanulási műveleteket felhőn vagy szerveren.
- Adatvédelem: Ez komoly aggodalomra ad okot az interneten és a dolgok internetén. A TinyML-alkalmazásokban a gépi tanulási munka helyben történik, anélkül, hogy az érzékelő/felhasználói adatokat tárolnák vagy küldenék szerverre/felhőre. Ennek eredményeként ezek az alkalmazások még akkor is biztonságosan használhatók, ha hálózathoz kapcsolódnak, és nem jelentenek adatvédelmi kockázatot.
Alkalmazási területek
- Mezőgazdaság – Mikor a gazdák fotót készítenek egy növényről, a TensorFlow Lite alkalmazása betegségeket észlel benne. Bármilyen eszközön működik, és nem igényel internetkapcsolatot. Az eljárás a mezőgazdasági érdekeket védi, és elengedhetetlen a vidéki gazdálkodók számára.
- Mechanika Karbantartás – A TinyML alacsony fogyasztású eszközökön használva folyamatosan képes azonosítani a gép hibáit. Előrejelzésen alapuló karbantartást igényel. A Ping Services, egy ausztrál start-up bemutatott egy IoT modult, amely úgy figyeli a szélturbinákat, hogy a turbina külső részéhez csatlakozik. Valahányszor esetleges problémát vagy meghibásodást észlel, értesíti a hatóságokat.
- Kórházak – A A Solar Scare egy projekt. A Mosquito a TinyML-t használja az olyan betegségek terjedésének megállítására, mint a dengue-láz és a malária. Napenergiával működik, és érzékeli a szúnyogszaporodás körülményeit, mielőtt jelezné a vizet, hogy megakadályozza a szúnyogszaporodást.
- Forgalomfelügyelet – Által A TinyML-t valós idejű forgalmi adatokat gyűjtő szenzorokra alkalmazva a forgalom jobb irányítására és a segélyautók válaszidejének lerövidítésére használhatjuk őket. A Swim.AI például ezt a technológiát használja az adatok streamelésére, hogy növelje az utasok biztonságát, miközben intelligens útvonalválasztással csökkenti a torlódásokat és a károsanyag-kibocsátást.
- Törvény: A TinyML a bűnüldözésben használható olyan illegális tevékenységek azonosítására, mint a zavargás és lopás gépi tanulás és gesztusfelismerés segítségével. Hasonló program használható a banki ATM-ek védelmére is. A felhasználói viselkedés megfigyelésével a TinyML modell megjósolhatja, hogy a felhasználó valódi fogyasztó-e, aki tranzakciót hajt végre, vagy egy behatoló, aki megpróbálja feltörni vagy megsemmisíteni az ATM-et.
Hogyan kezdjük el a TinyML-t?
A TensorFlow Lite TinyML használatának megkezdéséhez kompatibilis mikrovezérlő kártyára lesz szüksége. A TensorFlow Lite for Microcontrollers támogatja az alább felsorolt mikrokontrollereket.
- Wio terminál: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI fejlesztői tábla
- STM32F746 Discovery kit
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM szoftverfejlesztő platform
- Sony Spesense
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Adafruit TensorFlow Lite mikrokontrollerekhez készlet
- Adafruit Circuit Játszótér Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
Ezek 32 bites mikrokontrollerek, amelyek elegendő flash memóriával, RAM-mal és órajel-frekvenciával rendelkeznek a gépi tanulási modell végrehajtásához. A táblákon számos beépített érzékelő is található, amelyek képesek bármilyen beágyazott program futtatására és gépi tanulási modellek alkalmazására a megcélzott alkalmazásban. Nak nek gépi tanulási modellt építeni, akkor a hardver platformon kívül laptopra vagy számítógépre lesz szüksége.
Minden hardverplatformnak megvannak a saját programozási eszközei a gépi tanulási modellek építéséhez, betanításához és portolásához, amelyek a TensorFlow Lite for Microcontrollers csomagot használják. A TensorFlow Lite ingyenesen használható és módosítható, mert az nyílt forráskódú.
A TinyML és a TensorFlow Lite használatának megkezdéséhez nem kell más, mint a fent említett beágyazott hardverplatformok, egy számítógép/laptop, egy USB-kábel, egy USB-soros átalakító – és a gépi tanulás beágyazott rendszerekkel való gyakorlásának vágya. .
Kihívások
Bár a TinyML fejlődése számos pozitív eredményt hozott, a gépi tanulási ipar továbbra is jelentős akadályokkal néz szembe.
- Szoftverek sokfélesége – Kézi kódolás, a kódgenerálás és az ML értelmezők mind lehetőséget kínálnak a modellek TinyML-eszközökön történő telepítésére, és mindegyik más-más időt és erőfeszítést igényel. Ennek eredményeként különböző teljesítmények születhetnek.
- Hardver sokféleség – Megvan számos hardver opció áll rendelkezésre. A TinyML platformok az általános célú mikrokontrollerektől a legmodernebb neurális processzorokig bármiek lehetnek. Ez problémákat okoz a különböző architektúrákon keresztüli modelltelepítéssel kapcsolatban.
- Hibaelhárítás/hibakeresés – Mikor az ML modell gyengén teljesít a felhőben, egyszerűen megnézheti az adatokat, és kitalálhatja, mi a hiba. Ha egy modell több ezer TinyML-eszköz között van szétszórva, és nincs adatfolyam visszatérve a felhőbe, a hibakeresés nehézzé válik, és más módszerre is szükség lehet.
- Memóriakorlátok – Hagyományos Az olyan platformok, mint az okostelefonok és a laptopok, gigabájt RAM-ot igényelnek, míg a TinyML-eszközök kilobyte-ot vagy megabájtot használnak. Ennek eredményeként a telepíthető modell mérete korlátozott.
- Modellképzés – Bár Számos előnye van az ML-modellek TinyML-eszközökön történő telepítésének, az ML-modellek nagy része továbbra is a felhőben van betanítva, hogy iterálja és folyamatosan javítsa a modell pontosságát.
Jövő
A TinyML kis helyigényével, alacsony akkumulátor-fogyasztásával és az internetkapcsolat hiányával vagy korlátozott mértékben támaszkodva óriási potenciállal rendelkezik a jövőben, mivel a legtöbb szűk mesterséges intelligencia szélső eszközökön vagy független beágyazott modulokon valósul meg.
Az IoT-alkalmazásokat privátabbá és biztonságosabbá teszi azok kihasználásával. Bár TensorFlow Jelenleg a Lite az egyetlen gépi tanulási keretrendszer a mikrokontrollerek és mikroszámítógépek számára, más hasonló keretrendszerek, mint például az érzékelő és az ARM CMSIS-NN fejlesztés alatt állnak.
Noha a TensorFlow Lite egy folyamatban lévő nyílt forráskódú projekt, amely nagyszerűen indult a Google csapatával, továbbra is szüksége van közösségi támogatásra, hogy bekerüljön a mainstreambe.
Következtetés
A TinyML egy újszerű megközelítés, amely egyesíti a beágyazott rendszereket a gépi tanulással. Mivel a szűk mesterséges intelligencia számos vertikumban és területen csúcsosodik ki, a technológia a gépi tanulás és a mesterséges intelligencia kiemelkedő részterületévé válhat.
Számos olyan kihívásra nyújt megoldást, amelyekkel az IoT-szektor és a gépi tanulást számos tartományspecifikus tudományágban alkalmazó szakemberek szembesülnek.
A gépi tanulás használatának koncepciója szélső eszközök kis számítástechnikával A lábnyom és az energiafogyasztás jelentős mértékben megváltoztathatja a beágyazott rendszerek és a robotika felépítését.
Hagy egy Válaszol