ciot Ce este învățarea federată? - Unite.AI
Conectează-te cu noi
Masterclass AI:

AI 101

Ce este învățarea federată?

mm
Actualizat on

Ce este învățarea federată?

Metoda tradițională de instruire a modelelor AI implică configurarea de servere în care modelele sunt antrenate pe date, adesea prin utilizarea unei platforme de calcul bazate pe cloud. Cu toate acestea, în ultimii câțiva ani a apărut o formă alternativă de creare de modele, numită învățarea federată. Învățare federată aduce modele de învățare automată la sursa de date, mai degrabă decât să aducă datele în model. Învățarea federată leagă împreună mai multe dispozitive de calcul într-un sistem descentralizat care permite dispozitivelor individuale care colectează date să ajute la antrenarea modelului.

Într-un sistem de învățare federat, diferitele dispozitive care fac parte din rețeaua de învățare au fiecare o copie a modelului pe dispozitiv. Diferiții dispozitive/clienți antrenează propria copie a modelului folosind datele locale ale clientului, iar apoi parametrii/greutățile din modelele individuale sunt trimise la un dispozitiv principal, sau server, care agregează parametrii și actualizează modelul global. Acest proces de antrenament poate fi apoi repetat până când se atinge nivelul dorit de precizie. Pe scurt, ideea din spatele învățării federate este că niciuna dintre datele de antrenament nu este transmisă vreodată între dispozitive sau între părți, ci doar actualizările legate de model.

Învățarea federată poate fi împărțită în trei etape 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 clienților aplicației. Aceste copii locale sunt apoi instruite pe datele generate de sistemele client, învățând și îmbunătățindu-le performanța.

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

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

beneficiul de a avea o copie a modelului de pe diferite dispozitive este că latențele de rețea sunt reduse sau eliminate. Costurile asociate cu partajarea datelor cu serverul sunt, de asemenea, eliminate. Alte beneficii ale metodelor de învățare federată includ faptul că modelele de învățare federate sunt păstrate confidențialitatea, iar răspunsurile modelului sunt personalizate pentru utilizatorul dispozitivului.

Exemple de modele de învățare federate includ motoare de recomandare, modele de detectare a fraudei și modele medicale. Motoarele de recomandare media, de tipul celor folosite de Netflix sau Amazon, ar putea fi instruite pe baza datelor adunate de la mii de utilizatori. Dispozitivele client și-ar antrena propriile modele separate, iar modelul central ar învăța să facă predicții mai bune, chiar dacă punctele de date individuale ar fi unice pentru diferiți utilizatori. În mod similar, modelele de detectare a fraudei utilizate de bănci pot fi instruite pe modele de activitate de pe multe dispozitive diferite, iar câteva bănci diferite ar putea colabora pentru a instrui un model comun. În ceea ce privește un model de învățare medical federalizat, mai multe spitale ar putea face echipă pentru a pregăti un model comun care ar putea recunoaște potențialele tumori prin scanări medicale.

Tipuri de învățare federată

Scheme de învățare federate se încadrează de obicei într-una dintre cele două clase diferite: sisteme multipartit și sisteme cu un singur partid. Sistemele de învățare federate cu o singură parte sunt numite „partid unic” deoarece doar o singură entitate este responsabilă pentru supravegherea captării și fluxului de date pe toate dispozitivele client din rețeaua de învățare. Modelele care există pe dispozitivele client sunt instruite pe date cu aceeași structură, deși punctele de date sunt de obicei unice pentru diferiții utilizatori și dispozitive.

Spre deosebire de sistemele cu un singur partid, sistemele multipartite sunt gestionate de două sau mai multe entități. Aceste entități cooperează pentru a antrena un model comun utilizând diferitele dispozitive și seturi de date la care au acces. Parametrii și structurile de date sunt de obicei similare pe dispozitivele aparținând mai multor entități, dar nu trebuie să fie exact la fel. În schimb, preprocesarea se face pentru a standardiza intrările modelului. O entitate neutră ar putea fi folosită pentru a agrega ponderile stabilite de dispozitivele unice pentru diferitele entități.

Cadre pentru învățarea federată

Cadrele populare utilizate pentru învățarea federată includ Tensorflow Federated, Federated AI Technology Enabler (FATE), și PySyft. PySyft este o bibliotecă de învățare federată open-source bazată pe biblioteca de învățare profundă PyTorch. PySyft are scopul de a asigura o învățare profundă privată și securizată pe servere și agenți folosind calcule criptate. Între timp, Tensorflow Federated este un alt cadru open-source construit pe platforma Google Tensorflow. Pe lângă faptul că le permite utilizatorilor să-și creeze proprii algoritmi, Tensorflow Federated permite utilizatorilor să simuleze o serie de algoritmi de învățare federați incluși pe propriile modele și date. În cele din urmă, FATE este, de asemenea, un cadru open-source conceput de Webank AI și are scopul de a oferi ecosistemului Federated AI un cadru de calcul securizat.

Provocări de învățare federată

Deoarece învățarea federată este încă destul de incipientă, o serie de provocări mai trebuie să fie negociate pentru ca aceasta să-și atingă întregul potențial. Capacitățile de instruire ale dispozitivelor de vârf, etichetarea și standardizarea datelor și convergența modelelor sunt potențiale obstacole pentru abordările de învățare federată.

Abilitățile de calcul ale dispozitivelor de vârf, atunci când vine vorba de instruire locală, trebuie luate în considerare atunci când se proiectează abordări de învățare federată. În timp ce majoritatea smartphone-urilor, tabletelor și altor dispozitive compatibile IoT sunt capabile să antreneze modele de învățare automată, acest lucru îngreunează de obicei performanța dispozitivului. Trebuie făcute compromisuri între acuratețea modelului și performanța dispozitivului.

Etichetarea și standardizarea datelor este o altă provocare pe care trebuie să o depășească sistemele de învățare federate. Modelele de învățare supravegheată necesită date de instruire care sunt etichetate clar și consecvent, ceea ce poate fi dificil de realizat pe numeroasele dispozitive client care fac parte din sistem. Din acest motiv, este important să se dezvolte modele de conducte de date care să aplice automat etichetele într-un mod standardizat, bazat pe evenimente și acțiuni ale utilizatorului.

Timpul de convergență al modelului este o altă provocare pentru învățarea federată, deoarece modelele de învățare federată durează de obicei mai mult până când converge decât modelele pregătite local. Numărul de dispozitive implicate în antrenament adaugă un element de imprevizibilitate la antrenamentul modelului, deoarece problemele de conexiune, actualizările neregulate și chiar timpii diferiți de utilizare a aplicațiilor pot contribui la creșterea timpului de convergență și la scăderea fiabilității. Din acest motiv, soluțiile de învățare federată sunt de obicei cele mai utile atunci când oferă avantaje semnificative față de formarea centrală a unui model, cum ar fi cazurile în care seturile de date sunt extrem de mari și distribuite.

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

Blogger și programator cu specialități în Invatare mecanica și Invatare profunda subiecte. Daniel speră să-i ajute pe alții să folosească puterea AI pentru binele social.