Connect with us

IA 101

Ce este învățarea federată?

mm

Ce este învățarea federată?

Metoda tradițională de antrenare a modelelor de inteligență artificială implică configurarea serverelor unde se antrenează modelele pe date, adesea prin utilizarea unei platforme de calcul bazate pe cloud. Cu toate acestea, în ultimii ani, a apărut o formă alternativă de creare a modelelor, numită învățare federată. Învățarea federată aduce modelele de învățare automată la sursa de date, mai degrabă decât aducerea datelor la model. Învățarea federată leagă împreună multiple dispozitive de calcul într-un sistem descentralizat care permite dispozitivelor individuale care colectează date să contribuie la antrenarea modelului.

Într-un sistem de învățare federată, diversele dispozitive care fac parte din rețeaua de învățare au fiecare o copie a modelului pe dispozitiv. Diferitele dispozitive/clințiți antrenează propria copie a modelului utilizând datele locale ale clientului, iar apoi parametrii/punctele de greutate din modelele individuale sunt trimise către un dispozitiv maestru sau server care agregă parametrii și actualizează modelul global. Acest proces de antrenare poate fi repetat până când se atinge un nivel dorit de acuratețe. Pe scurt, ideea din spatele învățării federate este că niciunul dintre datele de antrenare nu sunt transmise niciodată între dispozitive sau între părți, doar actualizările legate de model.

Învățarea federată poate fi împărțită în trei pași sau faze diferite. Învățarea federată începe de obicei cu un model generic care acționează ca o linie de bază și este antrenat pe un server central. În primul pas, acest model generic este trimis către clienții aplicației. Copiile locale sunt apoi antrenate pe date generate de sistemele de client, învățând și îmbunătățindu-și performanța.

În al doilea pas, clienții trimit parametrii modelului învățat către serverul central. Acest lucru se întâmplă periodic, la un interval stabilit.

În al treilea pas, serverul agregă parametrii învățați atunci când îi primește. După ce parametrii sunt agregați, modelul central este actualizat și distribuit din nou clienților. Întregul proces se repetă.

Beneficiul de a avea o copie a modelului pe diverse dispozitive este că latențele rețelei sunt reduse sau eliminate. Costurile asociate cu partajarea datelor cu serverul sunt eliminate de asemenea. Alte beneficii ale metodelor de învățare federate includ faptul că modelele de învățare federate sunt protejate din punct de vedere al confidențialității, iar răspunsurile modelului sunt personalizate pentru utilizatorul dispozitivului.

Exemple de modele de învățare federate includ motoare de recomandare, modele de detectare a fraudelor și modele medicale. Motoarele de recomandare media, de tipul celor utilizate de Netflix sau Amazon, pot fi antrenate pe date colectate de la mii de utilizatori. Dispozitivele client ar antrena propriile modele separate, iar modelul central ar învăța să facă previziuni mai bune, chiar dacă punctele de date individuale ar fi unice pentru diferiți utilizatori. Similar, modelele de detectare a fraudelor utilizate de bănci pot fi antrenate pe modele de activitate de la multiple dispozitive, iar câteva bănci pot colabora pentru a antrena un model comun. În ceea ce privește un model medical de învățare federată, multiple spitale ar putea colabora pentru a antrena un model comun care ar putea recunoaște potențialele tumori prin scanări medicale.

Tipuri de învățare federată

Schemele de învățare federată de obicei cad în una din două clase diferite: sisteme multi-părți și sisteme single-părți. Sistemele de învățare federate single-părți sunt numite “single-părți” pentru că doar o singură entitate este responsabilă pentru supravegherea capturii și fluxului de date în toate dispozitivele din rețeaua de învățare. Modelele care există pe dispozitivele client au fost antrenate pe date cu aceeași structură, deși punctele de date sunt de obicei unice pentru diversele utilizatori și dispozitive.

În contrast cu sistemele single-părți, sistemele multi-părți sunt gestionate de două sau mai multe entități. Aceste entități cooperează pentru a antrena un model comun, utilizând diversele dispozitive și seturi de date la care au acces. Parametrii și structurile de date sunt de obicei asemănătoare pe dispozitivele aparținând entităților multiple, dar nu trebuie să fie exact aceleași. În schimb, se efectuează o prelucrare prealabilă pentru a standardiza intrările modelului. O entitate neutră poate fi angajată pentru a agrega greutățile stabilite de dispozitivele unice pentru entitățile diferite.

Structuri pentru învățarea federată

Structurile populare utilizate pentru învățarea federată includ Tensorflow Federated, Federated AI Technology Enabler (FATE) și PySyft. PySyft este o bibliotecă de învățare federată cu sursă deschisă, bazată pe biblioteca de învățare profundă PyTorch. PySyft este destinat să asigure învățarea profundă privată și securizată pe servere și agenți, utilizând computația criptată. Între timp, Tensorflow Federated este o altă structură cu sursă deschisă, construită pe platforma Google Tensorflow. Pe lângă faptul că permite utilizatorilor să creeze propriile algoritmi, Tensorflow Federated permite utilizatorilor să simuleze o serie de algoritmi de învățare federată incluși pe propriile modele și date. În cele din urmă, FATE este, de asemenea, o structură cu sursă deschisă, proiectată de Webank AI, și este destinată să furnizeze ecosistemului Federated AI un cadru de calcul securizat.

Provocările învățării federate

Deoarece învățarea federată este încă relativ nouă, există o serie de provocări care trebuie negociate pentru a-și atinge potențialul maxim. Capabilitățile de antrenare ale dispozitivelor de margine, etichetarea și standardizarea datelor, precum și convergența modelului sunt potențiale obstacole pentru abordările de învățare federate.

Abilitățile computaționale ale dispozitivelor de margine, în ceea ce privește antrenamentul local, trebuie luate în considerare la proiectarea abordărilor de învățare federate. În timp ce majoritatea smartphone-urilor, tabletelor și a altor dispozitive compatibile IoT sunt capabile să antreneze modele de învățare automată, acest lucru afectează de obicei performanța dispozitivului. Vor trebui să se facă compromisuri între acuratețea modelului și performanța dispozitivului.

Etichetarea și standardizarea datelor este o altă provocare pe care sistemele de învățare federate trebuie să o depășească. Modelele de învățare supravegheată necesită date de antrenare care sunt clar și consistent etichetate, ceea ce poate fi dificil de realizat pe dispozitivele client multiple care fac parte din sistem. Din acest motiv, este important să se dezvolte conducte de date ale modelului care să aplice automat etichete într-un mod standardizat, pe baza evenimentelor și acțiunilor utilizatorului.

Timpul de convergență al modelului este o altă provocare pentru învățarea federată, deoarece modelele de învățare federate necesită de obicei mai mult timp pentru a converge decât modelele antrenate local. Numărul de dispozitive implicate în antrenare adaugă un element de imprevizibilitate la antrenamentul modelului, deoarece problemele de conectare, actualizările neregulate și chiar timpul de utilizare a aplicației diferit pot contribui la creșterea timpului de convergență și la scăderea fiabilității. Din acest motiv, soluțiile de învățare federate sunt de obicei cel mai utile atunci când oferă avantaje semnificative față de antrenarea centralizată a unui model, cum ar fi în cazurile în care seturile de date sunt extrem de mari și distribuite.

Foto: Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)

Blogger și programator cu specializări în Machine Learning și Deep Learning subiecte. Daniel speră să ajute pe alții să folosească puterea inteligenței artificiale pentru binele social.