Inteligența artificială (AI) și învățarea automată (ML) sunt utilizate în numeroase aplicații, în industrii atât de diverse precum turism, servicii bancare și financiare, producție, tehnologie alimentară, sănătate, logistică, transport, divertisment și multe altele.
Una dintre aplicațiile bine cunoscute este legată de conducerea autonomă, în care mașina poate folosi învățarea automată pentru a recunoaște barierele, pietonii și alte mașini. Alte utilizări includ anticiparea sau detectarea defectelor și inspectarea plăcilor de circuite.
Ce grăbește implementarea AI?
Unul dintre factorii-cheie care accelerează implementarea AI și ML este creșterea puterii de procesare, care permite executarea ușoară și rapidă a calculelor matematice complexe.
Totodată, există un număr din ce în ce mai mare de algoritmi, care ajută la crearea de modele și permit o inferență a datelor mai ușoară și mai rapidă. De asemenea, autoritățile și companiile investesc masiv în acest domeniu.
Instrumentele AI/ML, create pentru a-i ajuta pe cei care nu sunt specialiști în știința datelor să înțeleagă, să creeze și să implementeze cu ușurință modelele, devin esențiale și sunt, în prezent, din ce în ce mai disponibile și mai accesibile.
Deși construirea modelelor se va face în cloud, pe mașini de înaltă performanță, de multe ori, ne interesează să facem inferența la nivel local. Acest lucru oferă mai multe beneficii, inclusiv un plus de securitate, deoarece nu comunicăm cu lumea exterioară. Acționând la nivel local, înseamnă că nu consumăm lățime de bandă și nu plătim bani în plus pentru a trimite datele în cloud și apoi pentru a primi rezultatele înapoi.
Unele dintre avantajele efectuării inferenței la marginea rețelei (edge) includ:
- Operare în timp real/Răspuns imediat
- Latență redusă, funcționare sigură
- Costuri reduse
- Utilizarea eficientă a lățimii de bandă a rețelei, comunicație redusă
- Operare fiabilă cu conectivitate intermitentă
- Experiență mai bună pentru utilizatori
- Timp de răspuns mai rapid
- Confidențialitate și securitate
- Mai puține date de transmis determină creșterea nivelului de confidențialitate
- Consum mai mic de putere
- Nu este nevoie de comunicații rapide
- Învățare locală
- Performanțe mai bune pentru că fiecare produs învață individual
Latența este un motiv bun pentru a efectua inferența la nivel local, deoarece nu așteptăm transmiterea informațiilor și returnarea rezultatelor. Tehnologia Edge îi poate ajuta pe utilizatori mutând învățarea automată de la mașinile de înaltă performanță la microcontrolerele și microprocesoarele de ultimă generație.
Ce este inteligența artificială și învățarea automată?
Inteligența artificială a fost creată în anii 1950. În esență, AI înlocuiește procedura de programare prin dezvoltarea de algoritmi pe baza datelor, mai degrabă decât metoda tradițională de scriere manuală a acestora. Machine Learning este un subset al inteligenței artificiale, în care mașina încearcă să extragă cunoștințe din date. Îi furnizăm mașinii date pregătite și apoi îi cerem să elaboreze un algoritm care să ajute la prezicerea rezultatelor pentru un nou set proaspăt de date.
ML se bazează pe ceea ce noi numim “învățare supravegheată” (supervised learning). În această tehnică, datele sunt etichetate, iar rezultatele se bazează pe această etichetare – totodată, construim modelul pe baza acestei etichetări. O altă tehnică este “învățarea profundă” (deep learning), care funcționează pe baza unor algoritmi mai complecși, în care datele nu sunt etichetate. În acest articol vom lua în considerare, în special, învățarea supravegheată pentru Edge.
Elementul de bază al ML este rețeaua neurală, care constă din straturi de noduri, fiecare nod având o conexiune fie la intrări, fie la straturile următoare. Există mai multe tipuri de rețele neurale. Cu cât trecem de la învățarea automată la învățarea profundă, cu atât vom vedea mai multe rețele complexe. Învățarea profundă încorporează, totodată, unele mecanisme de reacție, în timp ce modelele ML simple au acțiuni simple de avansare, deplasându-se de la date la ieșire sau rezultat.
Cum se “antrenează” o mașină?
Primul pas este colectarea de date. Întrucât ne concentrăm pe învățarea supravegheată, colectăm date etichetate, astfel încât modelele să poată fi găsite corect. Calitatea acestor date va determina cât de precis este modelul. Trebuie să le punem împreună și să le facem aleatorii, deoarece, dacă sunt prea organizate, modelele nu vor fi create corect și ne putem trezi cu algoritmi incorecți.
Al doilea pas este să curățăm și să eliminăm datele nedorite. Orice set în care lipsesc anumite caracteristici trebuie eliminat. Orice stare în care datele nu sunt necesare sau orice stare care este de obicei necunoscută ar trebui, de asemenea, eliminată.
Datele trebuie separate, apoi, în două părți, una pentru instruire și cealaltă pentru testare.
Al treilea pas este antrenarea algoritmului. Procesul este împărțit în trei etape. Prima etapă constă în alegerea algoritmului de clasificare ML. Există mai multe tipuri de algoritmi disponibili, potriviți pentru diferite tipuri de date. Iată câteva exemple de algoritmi de clasificare ML:
- Bonsai
- Decision Tree Ensemble (Ansamblu de arbori de decizie)
- Boosted Tree Ensemble (Ansamblu de arbori îmbunătățiti)
- TensorFlow Lite pentru microcontrolere
- PME
Este important să alegeți compoziția corectă a modelului, deoarece aceasta determină rezultatul pe care îl veți obține după rularea algoritmului ML pentru datele colectate. Acest lucru poate necesita anumite abilități de specialist în știința datelor, dar ar putea fi, de asemenea, lăsat în seama motorului automat oferit de mai multe instrumente de creare a modelelor.
A doua etapă este operațiunea de instruire a modelului, care constă în rularea mai multor iterații pentru a îmbunătăți ponderile diferitelor straturi și precizia generală a modelului.
Apoi, în a treia etapă, trebuie să evaluăm modelul, ceea ce se face prin testarea acestuia cu un subset de date. Cel pe care l-am păstrat deja pentru teste și evaluări viitoare. Acest set de date este necunoscut modelului. Putem apoi să comparăm rezultatul modelului cu rezultatele cunoscute.
După ce am finalizat aceste etape, putem utiliza modelul creat și putem valida rezultatele prin efectuarea de inferențe asupra țintelor. Ideea este să luăm modelul pe teren, să-i furnizăm anumite intrări și să vedem dacă rezultatele sunt corecte.
Software și instrumente de la Microchip
Microchip a încheiat parteneriate cu o serie de companii terțe, printre care Edge Impulse, Motion Gestures și SensiML.
De asemenea, susținem framework-uri populare, cum ar fi TensorFlow Lite For Microcontrollers, care face parte din cadrul Microchip Harmony. TensorFlow Lite poate fi utilizat acum pentru a crea modele pentru tot portofoliul Microchip, cu excepția dispozitivelor pe 8-biți. Microcontrolerele și microprocesoarele de la Microchip sunt compatibile și acceptă TensorFlow Lite.
Microcontrolerele și microprocesoarele din gama de soluții Microchip suportă multe aplicații, cum ar fi viziunea embedded inteligentă. De asemenea, acestea se potrivesc perfect pentru activități de întreținere predictivă bazate fie pe vibrații, fie pe măsurarea puterii sau pe monitorizarea sunetului. Portofoliul Microchip poate fi utilizat în recunoașterea gesturilor și, împreună cu capabilitățile tactile, poate facilita controlul interfețelor om-mașină.
Microchip oferă switch-uri PCI de înaltă performanță care permit interconectarea GPU-urilor și ajută la antrenarea modelelor.
Colectarea datelor se poate face cu ajutorul microcontrolerelor, al microprocesoarelor, al FPGA-urilor și al senzorilor. Toate acestea sunt disponibile în portofoliul Microchip.
Validarea datelor și operațiunea de inferență pot fi realizate atât pe microcontrolere, cât și pe microprocesoare sau pe FPGA-uri.
În general, aceste soluții fac ca tehnologia ML să fie ușor de implementat cu ajutorul ofertei de produse Microchip.
Când vine vorba de software, centrul de învățare automată al Microchip este o locație excelentă în care sunt prezentate cele mai recente soluții ale noastre.
În plus față de cadrul Microchip Harmony care susține framework-uri populare, software-ul de învățare automată este asigurat prin intermediul mai multor parteneriate.
Unul dintre acestea este parteneriatul cu Edge Impulse, care are un pipeline TinyML complet, unde putem colecta datele, construi modelul și îl putem implementa. Acest partener utilizează TensorFlow Lite pentru microcontrolere. Un mare avantaj în acest caz este codul sursă al Edge Impulse, care este integral deschis (open-source) și fără drepturi de autor.
Un alt partener este Motion Gestures, care este specializat în recunoașterea gesturilor și poate fi folosit pentru a construi interfețe om-mașină. Acest instrument poate ajuta la crearea și implementarea de gesturi în câteva minute, reducând timpul de dezvoltare a software-ului – de asemenea, oferă rezultate satisfăcătoare pentru recunoașterea gesturilor, care s-au apropiat de o recunoaștere de 100% în cadrul testelor efectuate.
Există două moduri de utilizare a acestui instrument, fie prin atingere, în varianta clasică, fie prin mișcare, cu ajutorul unor senzori IMU.
Să începem
Microchip oferă mai multe kituri pentru ca dezvoltatorii să se inițieze în AI și ML. Pe partea de microcontrolere, o soluție ar fi kitul de evaluare SAMD21 ML (Machine Learning) cu un senzor TDK. O altă variantă utilizează Bosch AMU.
Pe partea de gesturi de mișcare, există un demo cu SAMC21 Xplained Pro plus o suprafață tactilă QTouch, unul dintre instrumentele cu care puteți începe să vă implementați aplicația de recunoaștere a gesturilor ML.
Placa grafică și tactilă IGaT utilizează ML cu firmware gata de utilizare, dispune de un demo de recunoaștere a gesturilor, pe lângă multe alte demo-uri pentru mașini, casă, divertisment și altele.
Adafruit EdgeBadge – TensorFlow Lite pentru Microcontrolere este un alt kit care folosește TensorFlow Lite.
Acesta are un display TFT de 2 inch. EdgeBadge poate fi utilizat de comunitatea Arduino. Sunt furnizate diverse exemple, cum ar fi Sine Wave Demo, Gesture Demo și Micro Speech Demo.
În ceea ce privește partea de înaltă performanță, kitul video PolareFire are o interfață pentru conectarea a două camere, interfață MIPI, interfață HDMI și este prevăzut cu 2GB DDR, 4 SDRAM, o interfață USB2UART și 1GB SPI flash.
Din start, acest kit oferă un demo de detectare a obiectelor folosind un model ML sau bazat pe acesta.
Pentru mai multe informații, accesați pagina: https://www.microchip.com/en-us/education/developer-help/learn-solutions/machine-learning
Autor: Adil Yacoubi, EMEA Sr. Technical Marketing Engineer, Microchip Technology Inc.
Microchip Technology | https://www.microchip.com