Connect with us

Sztuczna inteligencja

TinyML: Zastosowania, ograniczenia i jego użycie w urządzeniach IoT i Edge

mm

W ciągu ostatnich kilku lat, sztuczna inteligencja (AI) i uczenie maszynowe (ML) doświadczyły gwałtownego wzrostu popularności i zastosowań, nie tylko w przemyśle, ale także w środowisku akademickim. Jednak dzisiejsze modele ML i AI mają jedną główną wadę: wymagają ogromnej ilości mocy obliczeniowej i przetwarzania, aby osiągnąć pożądane wyniki i dokładność. Często ogranicza to ich użycie do urządzeń o wysokiej wydajności z znaczną mocą obliczeniową.

Jednakże, biorąc pod uwagę postępy w technologii systemów osadzonych i znacznym rozwoju w branży Internetu Rzeczy, jest pożądane, aby wykorzystać techniki i koncepcje ML w systemach osadzonych o ograniczonych zasobach, aby uzyskać wszechobecną inteligencję. Pragnienie wykorzystania koncepcji ML w systemach osadzonych i IoT jest głównym motywatorem rozwoju TinyML, techniki ML osadzonej, która pozwala na modele i aplikacje ML na wielu urządzeniach o ograniczonych zasobach, ograniczonej mocy i tanich.

Jednakże, wdrożenie ML na urządzeniach o ograniczonych zasobach nie było proste, ponieważ wdrożenie modeli ML na urządzeniach o niskiej mocy obliczeniowej stwarza własne wyzwania w zakresie optymalizacji, pojemności przetwarzania, niezawodności, konserwacji modeli i wielu innych.

W tym artykule, będziemy głębiej analizować model TinyML i dowiemy się więcej o jego tle, narzędziach wspierających TinyML i zastosowaniach TinyML z wykorzystaniem zaawansowanych technologii. Zatem, zacznijmy.

Wprowadzenie do TinyML: Dlaczego świat potrzebuje TinyML

Urządzenia Internetu Rzeczy (IoT) mają na celu wykorzystanie obliczeń brzegowych, paradygmatu obliczeniowego, który odnosi się do szeregu urządzeń i sieci w pobliżu użytkownika, aby umożliwić płynne i rzeczywiste przetwarzanie danych z milionów czujników i urządzeń połączonych ze sobą. Jednym z głównych zalet urządzeń IoT jest to, że wymagają niskiej mocy obliczeniowej i przetwarzania, ponieważ są wdrożone na krawędzi sieci i mają niską stopę pamięci.

Ponadto, urządzenia IoT w dużym stopniu polegają na platformach brzegowych do zbierania i przesyłania danych, ponieważ urządzenia brzegowe zbierają dane sensoryczne, a następnie przesyłają je do pobliskiej lokalizacji lub platformy chmurowej do przetwarzania. Technologia obliczeń brzegowych przechowuje i wykonuje obliczenia na danych, a także zapewnia niezbędną infrastrukturę do wspierania rozproszonego przetwarzania.

Wdrożenie obliczeń brzegowych w urządzeniach IoT zapewnia

  1. Skuteczną bezpieczeństwo, prywatność i niezawodność dla użytkowników końcowych.
  2. Niższą opóźnienie.
  3. Wyższą dostępność i przepustowość odpowiedzi na aplikacje i usługi.

Ponadto, ponieważ urządzenia brzegowe mogą wdrożyć współpracę między czujnikami a chmurą, przetwarzanie danych może być prowadzone na krawędzi sieci zamiast na platformie chmurowej. Może to skutkować skutecznym zarządzaniem danymi, trwałością danych, skuteczną dostawą i buforowaniem treści. Dodatkowo, wdrożenie IoT w aplikacjach związanych z interakcją człowieka i maszyny oraz nowoczesną opieką zdrowotną, obliczenia brzegowe zapewniają sposób na poprawę usług sieciowych.

Najnowsze badania w dziedzinie obliczeń brzegowych IoT wykazały potencjał wdrożenia technik ML w kilku przypadkach użycia IoT. Jednak głównym problemem jest to, że tradycyjne modele ML często wymagają dużej mocy obliczeniowej i przetwarzania, a także wysokiej pojemności pamięci, co ogranicza wdrożenie modeli ML w urządzeniach i aplikacjach IoT.

Ponadto, technologia obliczeń brzegowych obecnie brakuje wysokiej pojemności transmisyjnej i skutecznych oszczędności energii, co prowadzi do heterogenicznych systemów, co jest głównym powodem wymagania harmonijnej i holistycznej infrastruktury, głównie do aktualizacji, szkolenia i wdrożenia modeli ML. Architektura zaprojektowana dla urządzeń osadzonych stanowi kolejne wyzwanie, ponieważ te architektury zależą od wymagań sprzętowych i programowych, które różnią się w zależności od urządzenia. Jest to główny powód, dla którego trudno zbudować standardową architekturę ML dla sieci IoT.

Ponadto, w obecnej sytuacji dane generowane przez różne urządzenia są wysyłane do platform chmurowych do przetwarzania ze względu na obliczeniową naturę wdrożeń sieci. Ponadto, modele ML często zależą od głębokiego uczenia, głębokich sieci neuronowych, aplikacji specyficznych układów scalonych (ASIC) i jednostek przetwarzania graficznego (GPU) do przetwarzania danych i często mają wyższe wymagania dotyczące mocy i pamięci. Wdrożenie pełnych modeli ML na urządzeniach IoT nie jest wykonalne ze względu na brak mocy obliczeniowej i przetwarzania, a także ograniczone rozwiązania pamięciowe.

Popyt na miniaturyzację niskiej mocy urządzeń osadzonych, połączony z optymalizacją modeli ML, aby uczynić je bardziej efektywnymi pod względem mocy i pamięci, otworzył drogę do TinyML, który ma na celu wdrożenie modeli i praktyk ML na urządzeniach brzegowych IoT i ramach. TinyML umożliwia przetwarzanie sygnałów na urządzeniach IoT i zapewnia wbudowaną inteligencję, eliminując potrzebę transferu danych do platform chmurowych do przetwarzania. Pomyślne wdrożenie TinyML na urządzeniach IoT może ostatecznie skutkować zwiększoną prywatnością i wydajnością, a także zmniejszeniem kosztów operacyjnych. Dodatkowo, to, co sprawia, że TinyML jest jeszcze bardziej atrakcyjny, to fakt, że w przypadku niewystarczającej łączności, może zapewnić analitykę na miejscu.

TinyML: Wprowadzenie i Przegląd

TinyML to narzędzie ML, które ma możliwość wykonywania analityki na urządzeniu dla różnych modalności sensorycznych, takich jak dźwięk, wizja i mowa. Modele ML zbudowane na narzędziu TinyML mają niskie wymagania dotyczące mocy, pamięci i obliczeń, co sprawia, że są one odpowiednie dla sieci osadzonych i urządzeń, które działają na baterii.

W obecnej sytuacji, systemy ML oparte na chmurze napotykają kilka trudności, w tym problemy z bezpieczeństwem i prywatnością, wysokim zużyciem energii, niezawodnością i opóźnieniami, co sprawia, że modele na platformach sprzętowo-programowych są preinstalowane. CzuJNIKI zbierają dane, które symulują świat fizyczny, a następnie przetwarzają je za pomocą CPU lub MPU (Microprocessing Unit). MPU odpowiada na potrzeby wsparcia analityki ML umożliwionego przez sieci i architekturę brzegową. Architektura ML brzegowa komunikuje się z chmurą ML w celu transferu danych, a wdrożenie TinyML może skutkować znacznym postępem w technologii.

Można powiedzieć, że TinyML jest połączeniem oprogramowania, sprzętu i algorytmów, które współpracują ze sobą, aby dostarczyć pożądaną wydajność. Może być konieczne użycie analogowych lub pamięciowych obliczeń, aby zapewnić lepsze i bardziej efektywne doświadczenie uczenia się dla sprzętu i urządzeń IoT, które nie obsługują akceleratorów sprzętowych. Jeśli chodzi o oprogramowanie, aplikacje zbudowane z wykorzystaniem TinyML mogą być wdrożone i zaimplementowane na platformach takich jak Linux lub osadzony Linux, a także na platformach chmurowych. Wreszcie, aplikacje i systemy zbudowane na algorytmie TinyML muszą mieć wsparcie nowych algorytmów, które wymagają modeli o niskiej pojemności pamięci, aby uniknąć wysokiego zużycia pamięci.

Podsumowując, aplikacje zbudowane z wykorzystaniem narzędzia TinyML muszą zoptymalizować zasady i metody ML, a także projektować oprogramowanie w sposób kompaktowy, w obecności wysokiej jakości danych. Dane te muszą być następnie przesłane za pomocą plików binarnych, które są generowane za pomocą modeli szkolonych na maszynach o znacznie większej pojemności i mocy obliczeniowej.

Ponadto, systemy i aplikacje działające na narzędziu TinyML muszą zapewnić wysoką dokładność podczas pracy w ścisłych ograniczeniach, ponieważ kompaktowe oprogramowanie jest potrzebne do niskiego zużycia energii, co wspiera implikacje TinyML. Dodatkowo, aplikacje lub moduły TinyML mogą zależeć od zasilania bateryjnego, aby wspierać ich działanie na osadzonych systemach brzegowych.

Mając to na uwadze, aplikacje TinyML mają dwa podstawowe wymagania

  1. Możliwość skalowania miliardów tanich urządzeń osadzonych.
  2. Przechowywanie kodu na urządzeniu RAM z pojemnością poniżej kilku KB.

Zastosowania TinyML z wykorzystaniem zaawansowanych technologii

Jednym z głównych powodów, dla których TinyML jest gorącym tematem w branży AI i ML, jest jego potencjalne zastosowanie, w tym aplikacje oparte na wizji i mowie, diagnozę zdrowia, kompresję i klasyfikację wzorców danych, interfejsy mózg-komputer, obliczenia brzegowe, fenomikę, samochody autonomiczne i wiele innych.

Aplikacje oparte na mowie

Komunikacja oparta na mowie

Typowo, aplikacje oparte na mowie polegają na konwencjonalnych metodach komunikacji, w których wszystkie dane są ważne i są przesyłane. Jednak w ostatnich latach, komunikacja semantyczna pojawiła się jako alternatywa dla konwencjonalnej komunikacji, w której przesyłany jest tylko sens lub kontekst danych. Komunikację semantyczną można wdrożyć w aplikacjach opartych na mowie z wykorzystaniem metodologii TinyML.

Niektóre z najpopularniejszych aplikacji w branży komunikacji opartej na mowie to wykrywanie mowy, rozpoznawanie mowy, nauka online, nauczanie online i komunikacja ukierunkowana na cel. Te aplikacje typowo mają wysokie zużycie energii i wymagają dużej ilości danych na urządzeniu hostującym. Aby pokonać te wymagania, wprowadzono nową bibliotekę TinySpeech, która pozwala deweloperom budować architekturę o niskich obliczeniach, która wykorzystuje głębokie sieci neuronowe do budowy niskiej pamięci.

Aby wykorzystać TinyML do wzmocnienia mowy, deweloperzy najpierw zajęli się rozmiarem modelu wzmocnienia mowy, ponieważ był on ograniczony przez ograniczenia i ograniczenia sprzętowe. Aby rozwiązać ten problem, wdrożono prunning strukturalny i kwantyzację całkowitą dla modelu wzmocnienia mowy RNN. Wyniki sugerują, że rozmiar modelu został zmniejszony o około 12 razy, a operacje zostały zmniejszone o około 3 razy. Dodatkowo, jest niezwykle ważne, aby zasoby były wykorzystywane skutecznie, zwłaszcza podczas wdrożenia na aplikacjach o ograniczonych zasobach, które wykonują aplikacje rozpoznawania głosu.

W związku z tym, aby podzielić proces, zaproponowano metodę współprojektu dla aplikacji opartych na mowie i rozpoznawaniu głosu TinyML. Deweloperzy wykorzystali operację windowing, aby podzielić oprogramowanie i sprzęt w taki sposób, aby przetworzyć surowe dane głosowe. Metoda okazała się skuteczna, ponieważ wyniki wskazały na zmniejszenie zużycia energii na sprzęcie. Wreszcie, istnieje potencjał, aby wdrożyć zoptymalizowane podziałowanie między oprogramowaniem i sprzętem współprojektu dla lepszej wydajności w najbliższej przyszłości.

Ponadto, ostatnie badania zaproponowały użycie telefonu jako przetwornika dla systemów rozpoznawania mowy, a propozycja ma na celu zastąpienie predictorów LSTM warstwą Conv1D, aby zmniejszyć potrzeby obliczeniowe na urządzeniach brzegowych. Po wdrożeniu propozycja powróciła pozytywnymi wynikami, ponieważ SVD lub rozkład wartości singularnych skompresował model pomyślnie, podczas gdy użycie WFST lub dekodowania opartego na ważonych skończonych automatach stanowych dało więcej elastyczności w poprawie modelu.

Wiele popularnych aplikacji rozpoznawania mowy, takich jak asystenci głosowi i live captioning, wykorzystuje techniki ML, aby działać. Popularni asystenci głosowi, tacy jak Siri i Asystent Google, pingują platformę chmurową za każdym razem, gdy otrzymują dane, co powoduje znaczne obawy dotyczące prywatności i bezpieczeństwa danych. TinyML jest wiarygodnym rozwiązaniem tego problemu, ponieważ ma na celu wykonywać rozpoznawanie mowy na urządzeniach i eliminować potrzebę migracji danych do platform chmurowych. Jednym ze sposobów, aby osiągnąć rozpoznawanie mowy na urządzeniu, jest użycie Tiny Transducer, modelu rozpoznawania mowy, który wykorzystuje warstwę DFSMN lub Deep Feed-Forward Sequential Memory Block, połączoną z jedną warstwą Conv1D, zamiast warstw LSTM, aby zmniejszyć wymagania obliczeniowe i parametry sieci.

Aparaty słuchowe

Utrata słuchu jest poważnym problemem zdrowotnym na całym świecie, a zdolność ludzi do słyszenia dźwięków ogólnie słabnie wraz z wiekiem, co jest poważnym problemem w krajach z starzejącą się populacją, w tym Chiny, Japonię i Koreę Południową. Urządzenia słuchowe działają obecnie na prostym principio, którym jest wzmocnienie wszystkich dźwięków wejściowych z otoczenia, co utrudnia osobie odróżnienie pożądanego dźwięku, zwłaszcza w hałaśliwym środowisku.

TinyML może być wiarygodnym rozwiązaniem tego problemu, ponieważ użycie modelu TinyLSTM, który wykorzystuje algorytm rozpoznawania mowy dla urządzeń słuchowych, może pomóc użytkownikom odróżnić między różnymi dźwiękami.

Aplikacje oparte na wizji

TinyML ma potencjał odegrać kluczową rolę w przetwarzaniu danych wizji, ponieważ do uzyskania szybszych wyników, te zestawy danych muszą być przetwarzane na platformie brzegowej. Aby to osiągnąć, model TinyML napotkał praktyczne wyzwania podczas szkolenia modelu z wykorzystaniem płyty mikrokontrolera OpenMV H7. Deweloperzy również zaproponowali architekturę do wykrywania amerykańskiego języka migowego z wykorzystaniem mikrokontrolera ARM Cortex M7, który działa tylko z 496KB pamięci ram.

Wdrożenie TinyML dla aplikacji opartych na wizji na platformach brzegowych wymagało od deweloperów pokonania głównego wyzwania, jakim jest CNN lub sieć neuronowa z wysokim błędem ogólnym i wysoką dokładnością szkolenia i testowania. Jednak wdrożenie nie uogólniło się skutecznie do obrazów w nowych przypadkach użycia, a także tła z hałasem. Gdy deweloperzy wykorzystali metodę interpolacji augmentacji, model zwrócił wynik dokładności powyżej 98% na danych testowych i około 75% w uogólnieniu.

Ponadto, stwierdzono, że gdy deweloperzy wykorzystali metodę interpolacji augmentacji, wystąpił spadek dokładności modelu podczas kwantyzacji, ale jednocześnie nastąpił wzrost szybkości inferencji modelu i klasyfikacji uogólnienia. Deweloperzy również zaproponowali metodę dalszego zwiększania dokładności modelu uogólnienia szkolenia na danych pochodzących z różnych źródeł i testowania wydajności, aby zbadać możliwość wdrożenia go na platformach brzegowych, takich jak noszone zegarki inteligentne.

Ponadto, dodatkowe badania na temat CNN wskazały, że jest możliwe wdrożenie i uzyskanie pożądanych wyników z architekturą CNN na urządzeniach o ograniczonych zasobach. Niedawno deweloperzy byli w stanie opracować ramy wykrywania masek medycznych na mikrokontrolerze ARM Cortex M7 o ograniczonych zasobach z wykorzystaniem TensorFlow Lite z minimalnymi śladami pamięci. Rozmiar modelu po kwantyzacji wyniósł około 138 KB, a szybkość inferencji na docelowym układzie wyniosła około 30 klatek na sekundę.

Inną aplikacją TinyML dla aplikacji opartych na wizji jest wdrożenie urządzenia rozpoznawania gestów, które może być zamontowane na lasce, aby pomóc osobom niewidomym w nawigacji przez ich codzienne życie. Aby to zaprojektować, deweloperzy wykorzystali zestaw danych gestów i wykorzystali zestaw danych do szkolenia modelu ProtoNN z algorytmem klasyfikacji. Wyniki uzyskane z tego zestawu były dokładne, projekt był niskokosztowy i dostarczył zadowalające wyniki.

Inną znaczącą aplikacją TinyML jest przemysł samochodów autonomicznych i pojazdów, ze względu na brak zasobów i mocy obliczeniowej. Aby rozwiązać ten problem, deweloperzy wprowadzili metodę uczenia zamkniętego, zbudowaną na modelu TinyCNN, która zaproponowała model predykcyjny online, który przechwytuje obraz w czasie rzeczywistym. Głównym problemem, z którym deweloperzy spotkali się podczas wdrożenia TinyML w samochodach autonomicznych, było to, że model decyzyjny, który został przeszkolony do pracy z danymi offline, może nie działać równie dobrze, gdy ma do czynienia z danymi online. Aby w pełni wykorzystać aplikacje samochodów autonomicznych, model powinien być w stanie adaptować się do danych w czasie rzeczywistym.

Kompresja i klasyfikacja wzorców danych

Jednym z największych wyzwań obecnej ramy TinyML jest umożliwienie jej adaptacji do danych szkoleniowych online. Aby rozwiązać ten problem, deweloperzy zaproponowali metodę zwaną TinyOL lub TinyML Online Learning, która pozwala na szkolenie z wykorzystaniem uczenia online na jednostkach mikrokontrolera, umożliwiając modelowi aktualizację na urządzeniach brzegowych IoT. Wdrożenie zostało osiągnięte z wykorzystaniem języka C++, a dodatkowa warstwa została dodana do architektury TinyOL.

Ponadto, deweloperzy również przeprowadzili auto-kodowanie płyty czujnikowej Arduino Nano 33 BLE, a model, który został przeszkolony, był w stanie sklasyfikować nowe wzorce danych. Ponadto, praca rozwojowa obejmowała projektowanie wydajnych i optymalizowanych algorytmów dla sieci neuronowych, aby wspierać szkolenie urządzeń online.

Badania nad TinyOL i TinyML wskazały, że liczba warstw aktywacyjnych była głównym problemem dla urządzeń brzegowych IoT o ograniczonych zasobach. Aby rozwiązać ten problem, deweloperzy wprowadzili nowy model TinyTL lub Tiny Transfer Learning, aby uczynić wykorzystanie pamięci na urządzeniach brzegowych IoT bardziej efektywne, unikając użycia warstw pośrednich do celów aktywacyjnych. Ponadto, deweloperzy również wprowadzili nowy moduł biasu zwanym “lite-residual module”, aby maksymalizować możliwości adaptacji, a tym samym umożliwiając wykrywaczom cech odkrywać mapy cech resztkowych.

Porównując z pełnym dostrojeniem sieci, wyniki były na korzyść architektury TinyTL, ponieważ wyniki pokazały, że TinyTL zmniejszył nakład pamięci o około 6,5 razy z umiarkowaną utratą dokładności. Gdy ostatnia warstwa została dostrojona, TinyML poprawił dokładność o 34% z umiarkowaną utratą dokładności.

Ponadto, badania nad kompresją danych wskazały, że algorytmy kompresji danych muszą zarządzać danymi zebranymi na urządzeniu przenośnym, a aby to osiągnąć, deweloperzy zaproponowali TAC lub Tiny Anomaly Compressor. TAC był w stanie przewyższyć SDT lub Swing Door Trending i DCT lub Dyskretną Transformację Cosinusoidalną. Ponadto, algorytm TAC przewyższył oba algorytmy SDT i DCT, osiągając maksymalny współczynnik kompresji powyżej 98% i mając najlepszy współczynnik sygnału do szumu spośród trzech algorytmów.

Diagnoza zdrowia

Pandemia COVID-19 otworzyła nowe możliwości wdrożenia TinyML, ponieważ jest to niezwykle ważne, aby ciągle wykrywać objawy oddechowe związane z kaszlem i przeziębieniem. Aby zapewnić nieprzerwane monitorowanie, deweloperzy zaproponowali model CNN Tiny RespNet, który działa w wielomodalnym ustawieniu, a model jest wdrożony na układzie FPGA Xilinx Artix-7 100t, który pozwala urządzeniu przetwarzać informacje równolegle, ma wysoką wydajność i niskie zużycie energii. Ponadto, model TinyResp również przyjmuje mowę pacjentów, nagrania audio i informacje demograficzne jako dane wejściowe, aby sklasyfikować objawy kaszlu pacjenta, wykorzystując trzy odrębne zestawy danych.

Ponadto, deweloperzy również zaproponowali model, który może wykonywać obliczenia głębokiego uczenia na urządzeniach brzegowych, model TinyML zwanym TinyDL. Model TinyDL może być wdrożony na urządzeniach brzegowych, takich jak zegarki inteligentne i noszone, do diagnozy zdrowia i jest również w stanie wykonywać analizę wydajności, aby zmniejszyć przepustowość, opóźnienie i zużycie energii. Aby osiągnąć wdrożenie TinyDL na urządzeniach przenośnych, model LSTM został zaprojektowany i przeszkolony specjalnie dla noszonego urządzenia, a następnie został zasilony danymi zebranymi jako dane wejściowe. Model ma wynik dokładności około 75-80%, a także był w stanie działać z danymi poza urządzeniem.

Wreszcie, deweloperzy również zaproponowali inną aplikację do monitorowania zdrowia osób starszych, szacując i analizując ich pozycje ciała. Model wykorzystuje agnostyczny framework na urządzeniu, który pozwala modelowi umożliwić walidację i szybkie wdrażanie, aby wykonać adaptacje. Model wdrożył algorytmy wykrywania pozycji ciała, połączone z punktami orientacyjnymi twarzy, aby wykryć pozycje ciała w czasie rzeczywistym.

Obliczenia brzegowe

Jednym z głównych zastosowań TinyML jest obszar obliczeń brzegowych, ponieważ wraz ze wzrostem użycia urządzeń IoT do połączenia urządzeń na całym świecie, jest niezwykle ważne, aby ustawić urządzenia brzegowe, co pomoże w zmniejszeniu obciążenia architektur chmurowych. Urządzenia te będą posiadać indywidualne centra danych, które pozwolą im wykonywać obliczenia na wysokim poziomie na samym urządzeniu, zamiast polegać na architekturze chmurowej. W rezultacie, pomoże to w zmniejszeniu zależności od chmury, zmniejszeniu opóźnień, poprawie bezpieczeństwa i prywatności użytkowników, a także zmniejszeniu przepustowości.

Urządzenia brzegowe z wykorzystaniem algorytmów TinyML pomogą w rozwiązaniu obecnych ograniczeń związanych z mocą, obliczeniami i wymaganiami pamięci, a jest to omówione na poniższym obrazie.

Ponadto, TinyML może również poprawić użycie i aplikację Bezpilotowych Statków Powietrznych (UAV) przez rozwiązanie obecnych ograniczeń, z którymi borykają się te maszyny. Użycie TinyML może pozwolić deweloperom wdrożyć urządzenie o niskim zużyciu energii, niskim opóźnieniu i wysokiej mocy obliczeniowej, które może działać jako kontroler dla tych UAV.

Interfejs mózg-komputer (BCI)

TinyML ma znaczące zastosowania w przemyśle zdrowotnym i może okazać się niezwykle korzystny w różnych obszarach, w tym wykrywaniu nowotworów i guzów, predykcji zdrowia z wykorzystaniem sygnałów EKG i EEG, a także inteligencji emocjonalnej. Użycie TinyML może pozwolić na adaptację Stymulacji Mózgu (aDBS) do klinicznych adaptacji. Użycie TinyML może również pozwolić na identyfikację bio-marków związanych z chorobą i ich objawów z wykorzystaniem inwazyjnych nagrań sygnałów mózgowych.

Ponadto, przemysł zdrowotny często obejmuje zbieranie dużej ilości danych pacjenta, a następnie przetwarzanie tych danych w celu uzyskania konkretnych rozwiązań dla leczenia pacjenta we wczesnych stadiach choroby. W związku z tym, jest niezwykle ważne, aby zbudować system, który jest nie tylko wysoce efektywny, ale także wysoce bezpieczny. Gdy łączymy aplikacje IoT z modelem TinyML, rodzi się nowa dziedzina zwana Healthcare Internet of Things (H-IoT), a główne zastosowania H-IoT to diagnoza, monitorowanie, logistyka, kontrola rozprzestrzeniania i systemy wspomagające. Jeśli chcemy opracować urządzenia, które mogą wykrywać i analizować zdrowie pacjenta na odległość, jest niezwykle ważne, aby opracować system, który ma globalną dostępność i niskie opóźnienie.

Samochody autonomiczne

Wreszcie, TinyML może mieć szerokie zastosowania w przemyśle samochodów autonomicznych, ponieważ te pojazdy mogą być wykorzystywane w różnych celach, w tym śledzenie ludzi, cele wojskowe i mają przemysłowe zastosowania. Pojazdy te mają podstawowe wymaganie, aby mogły wykrywać obiekty skutecznie, gdy obiekt jest wyszukiwany.

Obecnie, samochody autonomiczne i jazda autonomiczna są dość złożonym zadaniem, zwłaszcza podczas opracowywania miniaturyzowanych lub małych pojazdów. Ostatnie rozwoju wykazały potencjał, aby poprawić zastosowanie jazdy autonomicznej dla mini pojazdów z wykorzystaniem architektury CNN i wdrożeniem modelu na GAP8 MCI.

Wyzwania

TinyML jest stosunkowo nową koncepcją w branży AI i ML, a pomimo postępu, nie jest jeszcze tak skuteczny, jak potrzebujemy, aby wdrożyć go na dużą skalę dla urządzeń brzegowych i IoT.

Największym wyzwaniem, z którym obecnie zmagają się urządzenia TinyML, jest zużycie energii przez te urządzenia. Idealnie, osadzone urządzenia brzegowe i IoT powinny mieć żywotność baterii, która sięga ponad 10 lat. Na przykład, w idealnych warunkach, urządzenie IoT zasilane bateryjnie 2Ah powinno mieć żywotność baterii ponad 10 lat, przy założeniu, że zużycie energii urządzenia wynosi około 12 μA. Jednak w danym stanie, architektura IoT z czujnikiem temperatury, jednostką MCU i modułem WiFi ma zużycie prądu wynoszące około 176,4 mA, a z tym zużyciem energii, bateria będzie trwała tylko około 11 godzin, zamiast wymaganych 10 lat żywotności baterii.

Ograniczenia zasobów

Aby utrzymać spójność algorytmu, jest niezwykle ważne, aby utrzymać dostępność mocy, a w obecnej sytuacji, ograniczona dostępność mocy dla urządzeń TinyML jest krytycznym wyzwaniem. Ponadto, ograniczenia pamięci są również znaczącym wyzwaniem, ponieważ wdrożenie modeli często wymaga dużej ilości pamięci, aby działać skutecznie i dokładnie.

Ograniczenia sprzętowe

Ograniczenia sprzętowe utrudniają wdrożenie algorytmów TinyML na dużą skalę ze względu na heterogeniczność urządzeń sprzętowych. Istnieje tysiące urządzeń, każde z własnymi specyfikacjami i wymaganiami sprzętowymi, a w rezultacie, algorytm TinyML obecnie musi być dostosowany do każdego indywidualnego urządzenia, co sprawia, że wdrożenie na dużą skalę jest poważnym problemem.

Ograniczenia zestawu danych

Jednym z głównych problemów z modelem TinyML jest to, że nie obsługuje istniejących zestawów danych. Jest to wyzwanie dla wszystkich urządzeń brzegowych, ponieważ zbierają dane za pomocą zewnętrznych czujników, a te urządzenia często mają ograniczenia mocy i energii. W związku z tym, istniejące zestawy danych nie mogą być użyte do skutecznego szkolenia modeli TinyML.

Końcowe myśli

Rozwój technik ML spowodował rewolucję i zmianę perspektywy w ekosystemie IoT. Integracja modeli ML w urządzeniach IoT pozwoli tym urządzeniom brzegowym na podejmowanie inteligentnych decyzji bez żadnej zewnętrznej ingerencji ludzkiej. Jednak konwencjonalnie, modele ML często mają wysokie wymagania dotyczące mocy, pamięci i obliczeń, co sprawia, że są one nieodpowiednie do wdrożenia na urządzeniach brzegowych, które często są ograniczone zasobami.

W związku z tym, nowa gałąź w AI została poświęcona użyciu ML dla urządzeń IoT, a została nazwana TinyML. TinyML to ramy ML, które pozwalają nawet urządzeniom o ograniczonych zasobach na wykorzystanie mocy AI i ML, aby zapewnić wyższą dokładność, inteligencję i wydajność.

W tym artykule, omówiliśmy wdrożenie modeli TinyML na urządzeniach o ograniczonych zasobach, a to wdrożenie wymaga szkolenia modeli, wdrożenia modeli na sprzęcie i wykonywania technik kwantyzacji. Jednak biorąc pod uwagę obecny zakres, modele ML gotowe do wdrożenia na urządzeniach IoT i brzegowych mają wiele złożoności i ograniczeń, w tym problemy zgodności sprzętowej i ramowej.

"Inżynier z zawodu, pisarz z serca". Kunal jest technicznym pisarzem z głęboką miłością i zrozumieniem AI i ML, poświęconym uproszczeniu złożonych pojęć w tych dziedzinach poprzez swoje angażujące i informacyjne dokumentacje.