stub Vad är Federated Learning? - Unite.AI
Anslut dig till vårt nätverk!

AI 101

Vad är Federated Learning?

mm
Uppdaterad on

Vad är Federated Learning?

Den traditionella metoden att träna AI-modeller går ut på att sätta upp servrar där modellerna tränas på data, ofta genom användning av en molnbaserad datorplattform. Men under de senaste åren har en alternativ form av modellskapande uppstått, kallad federerat lärande. Federerat lärande tar med maskininlärningsmodeller till datakällan, snarare än att föra data till modellen. Federerad inlärning länkar samman flera beräkningsenheter till ett decentraliserat system som tillåter de individuella enheterna som samlar in data för att hjälpa till med att träna modellen.

I ett federerat inlärningssystem har de olika enheterna som ingår i inlärningsnätverket var och en en kopia av modellen på enheten. De olika enheterna/klienterna träna sin egen kopia av modellen med hjälp av klientens lokala data, och sedan skickas parametrarna/vikterna från de enskilda modellerna till en masterenhet, eller server, som aggregerar parametrarna och uppdaterar den globala modellen. Denna träningsprocess kan sedan upprepas tills en önskad nivå av noggrannhet uppnås. Kort sagt, tanken bakom federated learning är att ingen av träningsdata någonsin överförs mellan enheter eller mellan parter, bara uppdateringarna relaterade till modellen gör det.

Federerat lärande kan delas upp i tre olika steg eller faser. Federerat lärande börjar vanligtvis med en generisk modell som fungerar som en baslinje och tränas på en central server. I det första steget skickas denna generiska modell ut till applikationens kunder. Dessa lokala kopior tränas sedan på data som genereras av klientsystemen, lärande och förbättrar deras prestanda.

I det andra steget skickar klienterna alla sina inlärda modellparametrar till den centrala servern. Detta händer med jämna mellanrum, enligt ett fastställt schema.

I det tredje steget aggregerar servern de inlärda parametrarna när den tar emot dem. Efter att parametrarna har aggregerats uppdateras den centrala modellen och delas en gång till med kunderna. Hela processen upprepas sedan.

Smakämnen fördelen med att ha en kopia av modellen på de olika enheterna är att nätverkslatenser reduceras eller elimineras. Kostnaderna för att dela data med servern elimineras också. Andra fördelar med federerade inlärningsmetoder inkluderar det faktum att federerade inlärningsmodeller bevaras sekretess och modellsvar är anpassade för användaren av enheten.

Exempel på federerade inlärningsmodeller inkluderar rekommendationsmotorer, modeller för upptäckt av bedrägerier och medicinska modeller. Medierekommendationsmotorer, av den typ som används av Netflix eller Amazon, skulle kunna tränas på data som samlats in från tusentals användare. Klientenheterna skulle träna sina egna separata modeller och den centrala modellen skulle lära sig att göra bättre förutsägelser, även om de individuella datapunkterna skulle vara unika för de olika användarna. På liknande sätt kan modeller för upptäckt av bedrägerier som används av banker tränas på aktivitetsmönster från många olika enheter, och en handfull olika banker skulle kunna samarbeta för att träna en gemensam modell. När det gäller en medicinsk federerad inlärningsmodell kan flera sjukhus gå ihop för att träna en gemensam modell som kan känna igen potentiella tumörer genom medicinska skanningar.

Typer av federerat lärande

Federerade inlärningsscheman faller vanligtvis i en av två olika klasser: flerpartisystem och enpartisystem. Enparts federerade inlärningssystem kallas "single-party" eftersom endast en enda enhet är ansvarig för att övervaka insamlingen och flödet av data över alla klientenheter i inlärningsnätverket. Modellerna som finns på klientenheterna tränas på data med samma struktur, även om datapunkterna vanligtvis är unika för de olika användarna och enheterna.

Till skillnad från enpartisystem hanteras flerpartisystem av två eller flera enheter. Dessa enheter samarbetar för att träna en delad modell genom att använda de olika enheter och datauppsättningar de har tillgång till. Parametrarna och datastrukturerna liknar vanligtvis de enheter som tillhör de flera enheterna, men de behöver inte vara exakt likadana. Istället görs förbearbetning för att standardisera modellens ingångar. En neutral enhet kan användas för att aggregera vikterna som fastställts av enheterna som är unika för de olika enheterna.

Ramar för federerat lärande

Populära ramverk som används för federerat lärande inkluderar Tensorflow Federated, Federated AI Technology Enabler (FATE)och PySyft. PySyft är ett federerat lärandebibliotek med öppen källkod baserat på djupinlärningsbiblioteket PyTorch. PySyft är avsett att säkerställa privat, säker djupinlärning över servrar och agenter med hjälp av krypterad beräkning. Samtidigt är Tensorflow Federated ett annat ramverk med öppen källkod byggt på Googles Tensorflow-plattform. Förutom att göra det möjligt för användare att skapa sina egna algoritmer, tillåter Tensorflow Federated användare att simulera ett antal inkluderade federerade inlärningsalgoritmer på sina egna modeller och data. Slutligen är FATE också ett ramverk med öppen källkod designat av Webank AI, och det är avsett att förse det federerade AI-ekosystemet med ett säkert datorramverk.

Federated Learning Challenges

Eftersom federerat lärande fortfarande är ganska begynnande, ett antal utmaningar måste fortfarande förhandlas för att den ska uppnå sin fulla potential. Utbildningsförmågan hos edge-enheter, datamärkning och standardisering och modellkonvergens är potentiella vägspärrar för federerade lärandemetoder.

Edge-enheternas beräkningsförmåga, när det kommer till lokal träning, måste beaktas när man utformar federerade lärandemetoder. Medan de flesta smartphones, surfplattor och andra IoT-kompatibla enheter kan träna maskininlärningsmodeller, hämmar detta vanligtvis enhetens prestanda. Kompromisser måste göras mellan modellens noggrannhet och enhetens prestanda.

Märkning och standardisering av data är en annan utmaning som federerade lärsystem måste övervinna. Övervakade inlärningsmodeller kräver utbildningsdata som är tydligt och konsekvent märkta, vilket kan vara svårt att göra på de många klientenheter som ingår i systemet. Av denna anledning är det viktigt att utveckla modelldatapipelines som automatiskt applicerar etiketter på ett standardiserat sätt baserat på händelser och användaråtgärder.

Modellkonvergenstid är en annan utmaning för federerat lärande, eftersom federerade lärandemodeller vanligtvis tar längre tid att konvergera än lokalt tränade modeller. Antalet enheter som är involverade i utbildningen lägger till ett element av oförutsägbarhet till modellträningen, eftersom anslutningsproblem, oregelbundna uppdateringar och till och med olika användningstider för applikationer kan bidra till ökad konvergenstid och minskad tillförlitlighet. Av denna anledning är federerade inlärningslösningar vanligtvis mest användbara när de ger meningsfulla fördelar jämfört med central utbildning av en modell, till exempel tillfällen där datauppsättningar är extremt stora och distribuerade.

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

Bloggare och programmerare med specialiteter inom Maskininlärning och Deep Learning ämnen. Daniel hoppas kunna hjälpa andra att använda kraften i AI för socialt bästa.