Inteligență artificială
Noul sistem poate aduce inteligența artificială la dispozitivele purtabile și electrocasnice

O echipă de cercetători de la MIT lucrează la aducerea rețelelor neuronale de învățare profundă la microcontrolere. Acest progres înseamnă că inteligența artificială (AI) poate fi implementată în cipuri computerizate mici în dispozitive medicale purtabile, electrocasnice și în celelalte 250 de miliarde de obiecte care alcătuiesc “internetul lucrurilor” (IoT). IoT este o rețea de obiecte fizice încorporate cu senzori, software și alte tehnologii, care ajută la conectarea și schimbul de date cu alte dispozitive și sisteme.
Cercetarea este programată să fie prezentată la Conferința privind prelucrarea sistemelor de informații neuronale în luna decembrie. Autorul principal al cercetării este Ji Lin, student doctorand în laboratorul lui Song Han din Departamentul de Inginerie Electrică și Știința Calculatoarelor de la MIT. Coautorii includ MIT’s Han și Yujun Lin, Wei-Ming Chen de la MIT și Universitatea Națională Taiwan, și John Cohn și Chuan Gan de la Laboratorul MIT-IBM Watson.
Sistemul MCUNet
Sistemul se numește MCUNet, și proiectează rețele neuronale compacte capabile de viteză și acuratețe extreme pe dispozitive IoT, chiar și cu memorie și putere de procesare limitate. Acest sistem poate fi mai eficient din punct de vedere energetic și poate îmbunătăți securitatea datelor.
Echipa a dezvoltat sistemul “învățare profundă mică” prin combinarea a două componente – funcționarea rețelelor neuronale și microcontrolere. Prima componentă este TinyEngine, un motor de interfață care acționează ca un sistem de operare prin gestionarea resurselor. TinyEngine este optimizat pentru a rula o anumită structură de rețea neurală selectată de TinyNAS, care este cealaltă componentă. TinyNAS este un algoritm de căutare a arhitecturii neuronale.
Lin a dezvoltat TinyNAS din cauza dificultății de a aplica tehnici existente de căutare a arhitecturii neuronale la microcontrolere mici. Aceste tehnici existente găsesc în cele din urmă cea mai precisă și eficientă structură de rețea după ce încep cu multe posibilități bazate pe un șablon predefinit.
“Poate funcționa destul de bine pentru GPU-uri sau smartphone-uri,” spune Lin. “Dar a fost dificil să aplice direct aceste tehnici la microcontrolere mici, deoarece sunt prea mici.”
TinyNAS poate crea rețele cu dimensiuni personalizate.
“Avem multe microcontrolere care vin cu capacități de putere diferite și dimensiuni de memorie diferite,” spune Lin. “Așadar, am dezvoltat algoritmul [TinyNAS] pentru a optimiza spațiul de căutare pentru diferite microcontrolere.”
Deoarece TinyNAS poate fi personalizat, poate genera cele mai bune rețele neuronale compacte pentru microcontrolere.
“Apoi livrăm modelul final, eficient, către microcontroller,” continuă Lin.
Pentru a rula o rețea neuronală mică, un microcontroller necesită o interfață curată și subțire. Multe motoare de interfață au instrucțiuni pentru sarcini rare, care pot împiedica un microcontroller.
“Nu are memorie off-chip, și nu are un disc,” spune Han. “Totul este doar un megabyte de flash, așa că trebuie să gestionăm cu adevărat această resursă atât de mică.”
TinyEngine generează codul necesar pentru a rula rețeaua neuronală personalizată dezvoltată de TinyNAS. Timpul de compilare este redus prin eliminarea codului inutil.
“Păstrăm doar ceea ce avem nevoie,” spune Han. “Și deoarece am proiectat rețeaua neuronală, știm exact ce avem nevoie. Acesta este avantajul codării sistem-algoritm.”
Testele au demonstrat că codul binar compilat de TinyEngine a fost de 1,9 până la cinci ori mai mic decât motoarele similare de microcontroler, inclusiv cele de la Google și ARM. Utilizarea maximă a memoriei a fost, de asemenea, redusă cu aproape jumătate.
Abilitatea MCUNet
Primele teste pentru MCUNet s-au învârtit în jurul clasificării imaginilor. Baza de date ImageNet a fost utilizată pentru a antrena sistemul cu imagini etichetate, iar abilitatea sa a fost testată pe imagini noi.
Când MCUNet a fost testat pe un microcontroller comercial, a clasificat cu succes 70,7 la sută din imaginile noi. Acesta este mult mai bun decât cuplul anterior de rețea neuronală și motor de interfață, care a fost de 54 la sută precis.
“Chiar și o îmbunătățire de 1 la sută este considerată semnificativă,” spune Lin. “Așadar, aceasta este o săritură uriașă pentru setările microcontrolerului.”
Conform lui Kurt Keutzer, un om de știință computerizat de la Universitatea din California la Berkeley, aceasta “extinde frontiera proiectării rețelelor neuronale profunde și mai departe în domeniul computațional al microcontrolerelor mici și eficiente din punct de vedere energetic.” MCUNet ar putea “aduce capacități de vedere computerizată inteligentă la electrocasnicele cele mai simple, sau să permită senzori de mișcare mai inteligenți.”
MCUNet îmbunătățește, de asemenea, securitatea datelor.
“Un avantaj cheie este conservarea confidențialității,” spune Han. “Nu trebuie să transmiteți datele către cloud.”
Prin analizarea datelor local, există o șansă mai mică ca informațiile personale să fie compromise.
În plus, MCUNet ar putea analiza și oferi informații despre date precum ritmul cardiac, presiunea sanguină și nivelul de oxigen, aducând învățarea profundă la dispozitivele IoT din vehicule și alte locuri cu acces limitat la internet, și reduce amprenta de carbon prin utilizarea doar a unei fracțiuni mici din energia necesară pentru rețelele neuronale mari.












